Third-party licenses and notices for bigquery-adbc
Generated by tools/generate_licenses.py; do not edit.

This inventory covers the union of normal and build dependencies for the
release targets below. Some components are build-only or platform-specific.
License alternatives and additional notices are reproduced as supplied by
upstream; their inclusion does not change the project's Apache-2.0 license.
The Rust standard library's notices are provided separately in RUST-STD.html.

x86_64-unknown-linux-gnu
aarch64-unknown-linux-gnu
x86_64-apple-darwin
aarch64-apple-darwin
x86_64-pc-windows-msvc

DEPENDENCIES AND DOCUMENT REFERENCES

adbc_core 0.26.0
License declaration: Apache-2.0
Source: git+https://github.com/apache/arrow-adbc?rev=aa2c1c2496d287e111d70d382e5d9af07568488b#aa2c1c2496d287e111d70d382e5d9af07568488b
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/constants.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/error.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/lib.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/options.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/schemas.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/sync.rs (source notice 1)
  [dc5cebbee29b59a9ac7939feeb810ed88d5c299d964f4941497c1b56c24dac62] upstream ../../LICENSE.txt
  [59d7cc401deb7b8ca6c6463848a9d6a302b18d83c2a3f75136bfead3c5c5f9bb] upstream ../../NOTICE.txt

ahash 0.8.12
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [0444c6991eead6822f7b9102e654448d51624431119546492e8b231db42c48bb] LICENSE-MIT

anyhow 1.0.104
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

arc-swap 1.9.3
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [ff3f1cd12af8866d9bde961d6cc40df774cd131d484de31d3170c4b02b21a7b5] LICENSE-MIT

arrayvec 0.7.8
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [4da95ec4ecb65b738d470b7d762894ad9c97da93e6cbfb18b570fc2c96f4b871] LICENSE-MIT
  [d7a897946c233c44d9a976aa030d02eeff05b86df54157d9f5d478ef0cc214e7] src/char.rs (source notice 1)

arrow-array 60.1.0
License declaration: Apache-2.0 AND MIT
Source: git+https://github.com/apache/arrow-rs?rev=274f433115806af8a5ba557131f1c3fb9fc91630#274f433115806af8a5ba557131f1c3fb9fc91630
  [a01a418b6ffb1de8f4c3814e386b35e1a93a14529b68f17d286550f355b298e1] LICENSE-MIT
  [03548525ec3706de58e48ef6e3c455582557a0ad3b54a2da9a3819add35dfb72] LICENSE.txt
  [e5b198d7f809311723889814d99a92f808c69e89a847efa7a7b65270f5fdeae6] NOTICE.txt
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] benches/boolean_array.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] benches/decimal_overflow.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] benches/fixed_size_list_array.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] benches/null_dict.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] benches/occupancy.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] benches/primitive_array.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] benches/record_batch.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] benches/union_array.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] benches/view_types.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/arithmetic.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/array/binary_array.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/array/boolean_array.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/array/byte_array.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/array/byte_view_array.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/array/dictionary_array.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/array/fixed_size_binary_array.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/array/fixed_size_list_array.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/array/list_array.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/array/list_view_array.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/array/map_array.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/array/mod.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/array/null_array.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/array/primitive_array.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/array/run_array.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/array/string_array.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/array/struct_array.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/array/union_array.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/array_reader.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/boolean_builder.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/buffer_builder.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/fixed_size_binary_builder.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/fixed_size_binary_dictionary_builder.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/fixed_size_list_builder.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/generic_byte_run_builder.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/generic_bytes_builder.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/generic_bytes_dictionary_builder.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/generic_bytes_view_builder.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/generic_list_builder.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/generic_list_view_builder.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/map_builder.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/mod.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/null_builder.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/primitive_builder.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/primitive_dictionary_builder.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/primitive_run_builder.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/struct_array_assembler.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/struct_builder.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/union_builder.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/cast.rs (source notice 1)
  [7afb6dcdbfcb7d450aaa870c3a10fd431581c4d22b18181053028c193f37cb41] src/delta.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/ffi.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/ffi_stream.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/iterator.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/lib.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/nonblocking.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/numeric.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/record_batch.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/run_iterator.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/scalar.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/temporal_conversions.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/timezone.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/trusted_len.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/types.rs (source notice 1)
  [03548525ec3706de58e48ef6e3c455582557a0ad3b54a2da9a3819add35dfb72] upstream ../LICENSE.txt
  [e5b198d7f809311723889814d99a92f808c69e89a847efa7a7b65270f5fdeae6] upstream ../NOTICE.txt
  [a01a418b6ffb1de8f4c3814e386b35e1a93a14529b68f17d286550f355b298e1] upstream LICENSE-MIT
  [03548525ec3706de58e48ef6e3c455582557a0ad3b54a2da9a3819add35dfb72] upstream LICENSE.txt
  [e5b198d7f809311723889814d99a92f808c69e89a847efa7a7b65270f5fdeae6] upstream NOTICE.txt

arrow-buffer 60.1.0
License declaration: Apache-2.0
Source: git+https://github.com/apache/arrow-rs?rev=274f433115806af8a5ba557131f1c3fb9fc91630#274f433115806af8a5ba557131f1c3fb9fc91630
  [03548525ec3706de58e48ef6e3c455582557a0ad3b54a2da9a3819add35dfb72] LICENSE.txt
  [e5b198d7f809311723889814d99a92f808c69e89a847efa7a7b65270f5fdeae6] NOTICE.txt
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] benches/bit_mask.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] benches/i256.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] benches/mutable_buffer_extend.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] benches/mutable_buffer_repeat_slice.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] benches/null_buffer_builder.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] benches/offset.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/alloc/alignment.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/alloc/mod.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/arith.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/bigint/div.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/bigint/mod.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/buffer/boolean.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/buffer/immutable.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/buffer/mod.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/buffer/mutable.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/buffer/null.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/buffer/offset.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/buffer/ops.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/buffer/run.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/buffer/scalar.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/boolean.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/mod.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/null.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/builder/offset.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/bytes.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/error.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/interval.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/lib.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/native.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/pool.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/util/bit_chunk_iterator.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/util/bit_iterator.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/util/bit_mask.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/util/bit_util.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/util/mod.rs (source notice 1)
  [03548525ec3706de58e48ef6e3c455582557a0ad3b54a2da9a3819add35dfb72] upstream ../LICENSE.txt
  [e5b198d7f809311723889814d99a92f808c69e89a847efa7a7b65270f5fdeae6] upstream ../NOTICE.txt
  [03548525ec3706de58e48ef6e3c455582557a0ad3b54a2da9a3819add35dfb72] upstream LICENSE.txt
  [e5b198d7f809311723889814d99a92f808c69e89a847efa7a7b65270f5fdeae6] upstream NOTICE.txt

arrow-data 60.1.0
License declaration: Apache-2.0
Source: git+https://github.com/apache/arrow-rs?rev=274f433115806af8a5ba557131f1c3fb9fc91630#274f433115806af8a5ba557131f1c3fb9fc91630
  [03548525ec3706de58e48ef6e3c455582557a0ad3b54a2da9a3819add35dfb72] LICENSE.txt
  [e5b198d7f809311723889814d99a92f808c69e89a847efa7a7b65270f5fdeae6] NOTICE.txt
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/byte_view.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/data.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/decimal.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/equal/boolean.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/equal/byte_view.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/equal/dictionary.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/equal/fixed_binary.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/equal/fixed_list.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/equal/list.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/equal/list_view.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/equal/mod.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/equal/null.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/equal/primitive.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/equal/run.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/equal/structure.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/equal/union.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/equal/utils.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/equal/variable_size.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/ffi.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/lib.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/transform/boolean.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/transform/fixed_binary.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/transform/fixed_size_list.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/transform/list.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/transform/list_view.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/transform/mod.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/transform/null.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/transform/primitive.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/transform/run.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/transform/structure.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/transform/union.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/transform/utils.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/transform/variable_size.rs (source notice 1)
  [03548525ec3706de58e48ef6e3c455582557a0ad3b54a2da9a3819add35dfb72] upstream ../LICENSE.txt
  [e5b198d7f809311723889814d99a92f808c69e89a847efa7a7b65270f5fdeae6] upstream ../NOTICE.txt
  [03548525ec3706de58e48ef6e3c455582557a0ad3b54a2da9a3819add35dfb72] upstream LICENSE.txt
  [e5b198d7f809311723889814d99a92f808c69e89a847efa7a7b65270f5fdeae6] upstream NOTICE.txt

arrow-schema 60.1.0
License declaration: Apache-2.0
Source: git+https://github.com/apache/arrow-rs?rev=274f433115806af8a5ba557131f1c3fb9fc91630#274f433115806af8a5ba557131f1c3fb9fc91630
  [03548525ec3706de58e48ef6e3c455582557a0ad3b54a2da9a3819add35dfb72] LICENSE.txt
  [e5b198d7f809311723889814d99a92f808c69e89a847efa7a7b65270f5fdeae6] NOTICE.txt
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] benches/ffi.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/datatype.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/datatype_display.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/datatype_parse.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/error.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/extension/canonical/bool8.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/extension/canonical/fixed_shape_tensor.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/extension/canonical/json.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/extension/canonical/mod.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/extension/canonical/opaque.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/extension/canonical/timestamp_with_offset.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/extension/canonical/uuid.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/extension/canonical/variable_shape_tensor.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/extension/mod.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/ffi.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/field.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/fields.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/lib.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/metadata.rs (source notice 1)
  [ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729] src/schema.rs (source notice 1)
  [03548525ec3706de58e48ef6e3c455582557a0ad3b54a2da9a3819add35dfb72] upstream ../LICENSE.txt
  [e5b198d7f809311723889814d99a92f808c69e89a847efa7a7b65270f5fdeae6] upstream ../NOTICE.txt
  [03548525ec3706de58e48ef6e3c455582557a0ad3b54a2da9a3819add35dfb72] upstream LICENSE.txt
  [e5b198d7f809311723889814d99a92f808c69e89a847efa7a7b65270f5fdeae6] upstream NOTICE.txt

async-trait 0.1.92
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

atomic-waker 1.1.2
License declaration: Apache-2.0 OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT
  [6226d0632e2e1a80c23597e964da9812ae193c535fe058154afb034e94167aa5] LICENSE-THIRD-PARTY

autocfg 1.5.1
License declaration: Apache-2.0 OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [27995d58ad5c1145c1a8cd86244ce844886958a35eb2b78c6b772748669999ac] LICENSE-MIT

base64 0.22.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [0dd882e53de11566d50f8e8e2d5a651bcf3fabee4987d70f306233cf39094ba7] LICENSE-MIT

base64 0.23.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [ab499c75a0f0da8e0fe83bf9ba3a27e5c39705310f07107c6c66b69958d2401c] LICENSE-MIT

bitflags 1.3.2
License declaration: MIT/Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb] LICENSE-MIT
  [3b7df402160fc95c1ec4d256f720da6b75b1c5c69ad6826acfa5f096e349a42c] src/lib.rs (source notice 1)

bitflags 2.13.2
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb] LICENSE-MIT
  [3b7df402160fc95c1ec4d256f720da6b75b1c5c69ad6826acfa5f096e349a42c] src/lib.rs (source notice 1)

block-buffer 0.12.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a9040321c3712d8fd0b09cf52b17445de04a23a10165049ae187cd39e5c86be5] LICENSE-APACHE
  [98181e7249d0c01737645ec982499ce99a0f07eb8f7d625b8840d799d10dbc01] LICENSE-MIT

borsh 1.8.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [7b724c8fa4a82af733caccabdaa21e2bf8bcb0822fe62d5cf03f99d458438705] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

borsh-derive 1.8.1
License declaration: Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [7b724c8fa4a82af733caccabdaa21e2bf8bcb0822fe62d5cf03f99d458438705] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

bs58 0.5.1
License declaration: MIT/Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [42d3bf7e7d4d49d72c0555d14ed99c3ee7ce9ce3cbffbc38bbafe8c103f50969] LICENSE-MIT

bytes 1.12.1
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [45f522cacecb1023856e46df79ca625dfc550c94910078bd8aec6e02880b3d42] LICENSE

cc 1.10.0
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397] LICENSE-MIT

cfg-if 1.0.5
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397] LICENSE-MIT

cfg_aliases 0.2.2
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [31b94860253d8ec7b4529f51901044d3b459d6292d996504a36b1bae3a36a812] LICENSE
  [1e2b7ade3fb228130408b9990cae6a7618eb314c75aa0b164bfe485d9d9756ee] NOTICES.md

chacha20 0.10.2
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a9040321c3712d8fd0b09cf52b17445de04a23a10165049ae187cd39e5c86be5] LICENSE-APACHE
  [b8c6939380a400f53e11923d50fcc4dd2fa1ba8339fd9d04cda38a0251b6c9b0] LICENSE-MIT

chrono 0.4.45
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [946c9835d8034d24404f8cfec5f4654cee5dad17e944afc3d06d742cf2882831] LICENSE.txt
  [118929e2af641db591b373fe6a3c607fedca84f7f877f81e68743cfaf69f1cfd] src/format/parse.rs (source notice 1)
  [f3e4452a50490fd9b5f1c5fea4cd3ed45a7ada46f81ddf2dd66bfab28a742b51] src/offset/local/unix.rs (source notice 1)
  [f3e4452a50490fd9b5f1c5fea4cd3ed45a7ada46f81ddf2dd66bfab28a742b51] src/offset/local/windows.rs (source notice 1)
  [f3e4452a50490fd9b5f1c5fea4cd3ed45a7ada46f81ddf2dd66bfab28a742b51] src/time_delta.rs (source notice 1)

cmov 0.5.4
License declaration: Apache-2.0 OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30] LICENSE-APACHE
  [70c9d40f1f9545c3f133b8a67206e89da850f6468eed072281bb3701514114a9] LICENSE-MIT

const-random 0.1.18
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [ff8f68cb076caf8cefe7a6430d4ac086ce6af2ca8ce2c4e5a2004d4552ef52a2] LICENSE-MIT

const-random-macro 0.1.16
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [ff8f68cb076caf8cefe7a6430d4ac086ce6af2ca8ce2c4e5a2004d4552ef52a2] LICENSE-MIT

core-foundation 0.10.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3] LICENSE-MIT
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/array.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/attributed_string.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/base.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/boolean.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/bundle.rs (source notice 1)
  [9f5d28cffc17ef4a474fcb72cdacb51a38c95a5581bffec5af6c3c0c1a3f97c7] src/characterset.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/data.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/date.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/dictionary.rs (source notice 1)
  [e82b60e540ed77cbb45789b5e80e5f1d5af296cf33b7a1dc398baf5cf2eba4df] src/error.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/filedescriptor.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/lib.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/number.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/propertylist.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/runloop.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/set.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/string.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/timezone.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/url.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/uuid.rs (source notice 1)

core-foundation 0.9.4
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3] LICENSE-MIT
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/array.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/attributed_string.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/base.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/boolean.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/bundle.rs (source notice 1)
  [9f5d28cffc17ef4a474fcb72cdacb51a38c95a5581bffec5af6c3c0c1a3f97c7] src/characterset.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/data.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/date.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/dictionary.rs (source notice 1)
  [e82b60e540ed77cbb45789b5e80e5f1d5af296cf33b7a1dc398baf5cf2eba4df] src/error.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/filedescriptor.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/lib.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/number.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/propertylist.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/runloop.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/set.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/string.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/timezone.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/url.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/uuid.rs (source notice 1)

core-foundation-sys 0.8.7
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3] LICENSE-MIT
  [4d6a22864230012069284ffc528e169aa077cb0a96dbac8d144ce42df8261c15] src/array.rs (source notice 1)
  [7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1] src/attributed_string.rs (source notice 1)
  [7b359e490732b5a6e9a0eafb91aa90f09de3afebb17810450304556b7134d5cc] src/bag.rs (source notice 1)
  [4d6a22864230012069284ffc528e169aa077cb0a96dbac8d144ce42df8261c15] src/base.rs (source notice 1)
  [7b359e490732b5a6e9a0eafb91aa90f09de3afebb17810450304556b7134d5cc] src/binary_heap.rs (source notice 1)
  [7b359e490732b5a6e9a0eafb91aa90f09de3afebb17810450304556b7134d5cc] src/bit_vector.rs (source notice 1)
  [4d6a22864230012069284ffc528e169aa077cb0a96dbac8d144ce42df8261c15] src/bundle.rs (source notice 1)
  [7b359e490732b5a6e9a0eafb91aa90f09de3afebb17810450304556b7134d5cc] src/calendar.rs (source notice 1)
  [9f5d28cffc17ef4a474fcb72cdacb51a38c95a5581bffec5af6c3c0c1a3f97c7] src/characterset.rs (source notice 1)
  [4d6a22864230012069284ffc528e169aa077cb0a96dbac8d144ce42df8261c15] src/data.rs (source notice 1)
  [4d6a22864230012069284ffc528e169aa077cb0a96dbac8d144ce42df8261c15] src/date.rs (source notice 1)
  [7b359e490732b5a6e9a0eafb91aa90f09de3afebb17810450304556b7134d5cc] src/date_formatter.rs (source notice 1)
  [4d6a22864230012069284ffc528e169aa077cb0a96dbac8d144ce42df8261c15] src/dictionary.rs (source notice 1)
  [e82b60e540ed77cbb45789b5e80e5f1d5af296cf33b7a1dc398baf5cf2eba4df] src/error.rs (source notice 1)
  [7b359e490732b5a6e9a0eafb91aa90f09de3afebb17810450304556b7134d5cc] src/file_security.rs (source notice 1)
  [4d6a22864230012069284ffc528e169aa077cb0a96dbac8d144ce42df8261c15] src/filedescriptor.rs (source notice 1)
  [4d6a22864230012069284ffc528e169aa077cb0a96dbac8d144ce42df8261c15] src/lib.rs (source notice 1)
  [7b359e490732b5a6e9a0eafb91aa90f09de3afebb17810450304556b7134d5cc] src/locale.rs (source notice 1)
  [7b359e490732b5a6e9a0eafb91aa90f09de3afebb17810450304556b7134d5cc] src/mach_port.rs (source notice 1)
  [4d6a22864230012069284ffc528e169aa077cb0a96dbac8d144ce42df8261c15] src/messageport.rs (source notice 1)
  [7b359e490732b5a6e9a0eafb91aa90f09de3afebb17810450304556b7134d5cc] src/notification_center.rs (source notice 1)
  [4d6a22864230012069284ffc528e169aa077cb0a96dbac8d144ce42df8261c15] src/number.rs (source notice 1)
  [7b359e490732b5a6e9a0eafb91aa90f09de3afebb17810450304556b7134d5cc] src/number_formatter.rs (source notice 1)
  [7b359e490732b5a6e9a0eafb91aa90f09de3afebb17810450304556b7134d5cc] src/plugin.rs (source notice 1)
  [7b359e490732b5a6e9a0eafb91aa90f09de3afebb17810450304556b7134d5cc] src/preferences.rs (source notice 1)
  [4d6a22864230012069284ffc528e169aa077cb0a96dbac8d144ce42df8261c15] src/propertylist.rs (source notice 1)
  [4d6a22864230012069284ffc528e169aa077cb0a96dbac8d144ce42df8261c15] src/runloop.rs (source notice 1)
  [4d6a22864230012069284ffc528e169aa077cb0a96dbac8d144ce42df8261c15] src/set.rs (source notice 1)
  [7b359e490732b5a6e9a0eafb91aa90f09de3afebb17810450304556b7134d5cc] src/socket.rs (source notice 1)
  [7b359e490732b5a6e9a0eafb91aa90f09de3afebb17810450304556b7134d5cc] src/stream.rs (source notice 1)
  [4d6a22864230012069284ffc528e169aa077cb0a96dbac8d144ce42df8261c15] src/string.rs (source notice 1)
  [7b359e490732b5a6e9a0eafb91aa90f09de3afebb17810450304556b7134d5cc] src/string_tokenizer.rs (source notice 1)
  [4d6a22864230012069284ffc528e169aa077cb0a96dbac8d144ce42df8261c15] src/timezone.rs (source notice 1)
  [7b359e490732b5a6e9a0eafb91aa90f09de3afebb17810450304556b7134d5cc] src/tree.rs (source notice 1)
  [4d6a22864230012069284ffc528e169aa077cb0a96dbac8d144ce42df8261c15] src/url.rs (source notice 1)
  [7b359e490732b5a6e9a0eafb91aa90f09de3afebb17810450304556b7134d5cc] src/url_enumerator.rs (source notice 1)
  [7b359e490732b5a6e9a0eafb91aa90f09de3afebb17810450304556b7134d5cc] src/user_notification.rs (source notice 1)
  [4d6a22864230012069284ffc528e169aa077cb0a96dbac8d144ce42df8261c15] src/uuid.rs (source notice 1)
  [7b359e490732b5a6e9a0eafb91aa90f09de3afebb17810450304556b7134d5cc] src/xml_node.rs (source notice 1)
  [7b359e490732b5a6e9a0eafb91aa90f09de3afebb17810450304556b7134d5cc] src/xml_parser.rs (source notice 1)

cpufeatures 0.3.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a9040321c3712d8fd0b09cf52b17445de04a23a10165049ae187cd39e5c86be5] LICENSE-APACHE
  [73b9dc2e79c7308998dd30296e073aefaefb944a68fb89aa412c23c0edcabcaa] LICENSE-MIT

crunchy 0.2.4
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [3eab77734a181b2a2e8418af9004f960f715f04aac4d76a26cf774f63a7b13d1] LICENSE

crypto-common 0.2.2
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a9040321c3712d8fd0b09cf52b17445de04a23a10165049ae187cd39e5c86be5] LICENSE-APACHE
  [d2e7ec5355c96eeade56b09187ceb48a6a30299da3ce7531a66d3d11405ab963] LICENSE-MIT

ctutils 0.4.7
License declaration: Apache-2.0 OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30] LICENSE-APACHE
  [91585c36e4fb9ab4ca0d3dfac5d66d3c0c62cc51f640a0e1196542daf2267eae] LICENSE-MIT

darling 0.24.1
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [8ea93490d74a5a1b1af3ff71d786271b3f1e5f0bea79ac16e02ec533cef040d6] LICENSE

darling_core 0.24.1
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [8ea93490d74a5a1b1af3ff71d786271b3f1e5f0bea79ac16e02ec533cef040d6] LICENSE

darling_macro 0.24.1
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [8ea93490d74a5a1b1af3ff71d786271b3f1e5f0bea79ac16e02ec533cef040d6] LICENSE

defmt 1.2.0
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [8173d5c29b4f956d532781d2b86e4e30f83e6b7878dce18c919451d6ba707c90] LICENSE-APACHE
  [0d17b75c1867fd568bcbb735f329d0d4253846c4b756a65e4d440c1e4bd59187] LICENSE-MIT

defmt-macros 1.2.0
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [8173d5c29b4f956d532781d2b86e4e30f83e6b7878dce18c919451d6ba707c90] LICENSE-APACHE
  [0d17b75c1867fd568bcbb735f329d0d4253846c4b756a65e4d440c1e4bd59187] LICENSE-MIT

defmt-parser 1.1.0
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [8173d5c29b4f956d532781d2b86e4e30f83e6b7878dce18c919451d6ba707c90] LICENSE-APACHE
  [0d17b75c1867fd568bcbb735f329d0d4253846c4b756a65e4d440c1e4bd59187] LICENSE-MIT

deranged 0.5.9
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [edd65bdd88957a205c47d53fa499eed8865a70320f0f03f6391668cb304ea376] LICENSE-Apache
  [231c837c45eb53f108fb48929e488965bc4fcc14e9ea21d35f50e6b99d98685b] LICENSE-MIT

digest 0.11.3
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a9040321c3712d8fd0b09cf52b17445de04a23a10165049ae187cd39e5c86be5] LICENSE-APACHE
  [af59cea35d7f5e2777a713b8d155d65efa2c339eb43f3c14e868c6ac8506edad] LICENSE-MIT

displaydoc 0.2.7
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

dyn-clone 1.0.20
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

either 1.19.0
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [7576269ea71f767b99297934c0b2367532690f8c4badc695edf8e04ab6a1e545] LICENSE-MIT

equivalent 1.0.3
License declaration: Apache-2.0 OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [7365cc8878a1d7ce155a58c4ca09c3d7a6be413efa5334a80ea842912b669349] LICENSE-MIT

errno 0.3.14
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [8764a597675778ddfd4e25f81b08a05dbcf089ac05662df7613fe67f150e3aa2] LICENSE-MIT
  [5d392ff1ac69a18c9beb41720ecbfd56f7792a1ec4321428e73757d4283f5a61] src/hermit.rs (source notice 1)
  [5d392ff1ac69a18c9beb41720ecbfd56f7792a1ec4321428e73757d4283f5a61] src/unix.rs (source notice 1)
  [5d392ff1ac69a18c9beb41720ecbfd56f7792a1ec4321428e73757d4283f5a61] src/wasi.rs (source notice 1)
  [3b7df402160fc95c1ec4d256f720da6b75b1c5c69ad6826acfa5f096e349a42c] src/windows.rs (source notice 1)

find-msvc-tools 0.1.15
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397] LICENSE-MIT
  [2575806bfd98a1f875507113471c92276296f165228e643cf359cdf1e079b58a] src/com.rs (source notice 1)
  [5a260243cb1e1b7ea941ec12c5f77b1797ce9443bc5f9ff31589f101d1cb8878] src/find_tools.rs (source notice 1)
  [5a260243cb1e1b7ea941ec12c5f77b1797ce9443bc5f9ff31589f101d1cb8878] src/registry.rs (source notice 1)
  [2575806bfd98a1f875507113471c92276296f165228e643cf359cdf1e079b58a] src/setup_config.rs (source notice 1)
  [bda5032d1d74d42628dfa156e5ccb3da27a407393d06e881638d28afafde6bd2] src/winapi.rs (source notice 1)

flatbuffers 25.12.19
License declaration: Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30] https://raw.githubusercontent.com/google/flatbuffers/7e163021e59cca4f8e1e35a7c828b5c6b7915953/LICENSE
  [b0ad1764c9a2cef0603f242290e12fde74d095066867f30c3fa70af90bda0169] src/array.rs (source notice 1)
  [a4b09b266054f22cbf979045fdcbc08bf9615a9484c79d62485c93b3c80609e7] src/builder.rs (source notice 1)
  [a4b09b266054f22cbf979045fdcbc08bf9615a9484c79d62485c93b3c80609e7] src/endian_scalar.rs (source notice 1)
  [a4b09b266054f22cbf979045fdcbc08bf9615a9484c79d62485c93b3c80609e7] src/follow.rs (source notice 1)
  [00ea23deeea4bf003e7e1d63ea4b941ae15997786882efb2b72d46a4b5bdee76] src/get_root.rs (source notice 1)
  [a4b09b266054f22cbf979045fdcbc08bf9615a9484c79d62485c93b3c80609e7] src/lib.rs (source notice 1)
  [a4b09b266054f22cbf979045fdcbc08bf9615a9484c79d62485c93b3c80609e7] src/primitives.rs (source notice 1)
  [a4b09b266054f22cbf979045fdcbc08bf9615a9484c79d62485c93b3c80609e7] src/push.rs (source notice 1)
  [a4b09b266054f22cbf979045fdcbc08bf9615a9484c79d62485c93b3c80609e7] src/table.rs (source notice 1)
  [a4b09b266054f22cbf979045fdcbc08bf9615a9484c79d62485c93b3c80609e7] src/vector.rs (source notice 1)
  [a4b09b266054f22cbf979045fdcbc08bf9615a9484c79d62485c93b3c80609e7] src/vtable.rs (source notice 1)
  [a4b09b266054f22cbf979045fdcbc08bf9615a9484c79d62485c93b3c80609e7] src/vtable_writer.rs (source notice 1)

fnv 1.0.7
License declaration: Apache-2.0 / MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [65fdb6c76cd61612070c066eec9ecdb30ee74fb27859d0d9af58b9f499fd0c3e] LICENSE-MIT

form_urlencoded 1.2.2
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [20c7855c364d57ea4c97889a5e8d98470a9952dade37bd9248b9a54431670e5e] LICENSE-MIT
  [891519f4249e526687d08cdbd096a2dcb96be60b408870b2f722fcf3915daec1] src/lib.rs (source notice 1)

futures 0.3.34
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [275c491d6d1160553c32fd6127061d7f9606c3ea25abfad6ca3f6ed088785427] LICENSE-APACHE
  [6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd] LICENSE-MIT

futures-channel 0.3.34
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [275c491d6d1160553c32fd6127061d7f9606c3ea25abfad6ca3f6ed088785427] LICENSE-APACHE
  [6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd] LICENSE-MIT
  [9e752188d388918985f0d152d553c7d237d858a9dc2e51b97cb1b20e6c15ec7a] src/mpsc/queue.rs (source notice 1)

futures-core 0.3.34
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [275c491d6d1160553c32fd6127061d7f9606c3ea25abfad6ca3f6ed088785427] LICENSE-APACHE
  [6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd] LICENSE-MIT

futures-executor 0.3.34
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [275c491d6d1160553c32fd6127061d7f9606c3ea25abfad6ca3f6ed088785427] LICENSE-APACHE
  [6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd] LICENSE-MIT

futures-io 0.3.34
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [275c491d6d1160553c32fd6127061d7f9606c3ea25abfad6ca3f6ed088785427] LICENSE-APACHE
  [6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd] LICENSE-MIT

futures-macro 0.3.34
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [275c491d6d1160553c32fd6127061d7f9606c3ea25abfad6ca3f6ed088785427] LICENSE-APACHE
  [6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd] LICENSE-MIT

futures-sink 0.3.34
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [275c491d6d1160553c32fd6127061d7f9606c3ea25abfad6ca3f6ed088785427] LICENSE-APACHE
  [6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd] LICENSE-MIT

futures-task 0.3.34
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [275c491d6d1160553c32fd6127061d7f9606c3ea25abfad6ca3f6ed088785427] LICENSE-APACHE
  [6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd] LICENSE-MIT

futures-util 0.3.34
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [275c491d6d1160553c32fd6127061d7f9606c3ea25abfad6ca3f6ed088785427] LICENSE-APACHE
  [6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd] LICENSE-MIT

getrandom 0.2.17
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [aaff376532ea30a0cd5330b9502ad4a4c8bf769c539c87ffe78819d188a18ebf] LICENSE-APACHE
  [42fa16951ce7f24b5a467a40e5b449a1d41e662f97ca779864f053f39e097737] LICENSE-MIT

getrandom 0.3.4
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [aaff376532ea30a0cd5330b9502ad4a4c8bf769c539c87ffe78819d188a18ebf] LICENSE-APACHE
  [29e9fe5074bd27e0e5d5d110394fbbcd841baee2651a3c4b4560a632702cede4] LICENSE-MIT

getrandom 0.4.3
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [aaff376532ea30a0cd5330b9502ad4a4c8bf769c539c87ffe78819d188a18ebf] LICENSE-APACHE
  [523a42c25d245dde9c015f882cec7f4555aad883382a6cf19b4b7d9b2cd5419b] LICENSE-MIT

google-cloud-api 1.8.0
License declaration: Apache-2.0
Source: git+https://github.com/googleapis/google-cloud-rust?rev=5a2297f47973775e925ce49d37971b03ce358fba#5a2297f47973775e925ce49d37971b03ce358fba
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] src/lib.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] src/model.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] src/model/debug.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] src/model/deserialize.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] src/model/serialize.rs (source notice 1)
  [cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30] upstream ../../../../LICENSE

google-cloud-auth 1.18.0
License declaration: Apache-2.0
Source: git+https://github.com/googleapis/google-cloud-rust?rev=5a2297f47973775e925ce49d37971b03ce358fba#5a2297f47973775e925ce49d37971b03ce358fba
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] build.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/access_boundary.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/build_errors.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/constants.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/credentials.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/credentials/anonymous.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/credentials/api_key_credentials.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/credentials/crypto_provider.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/credentials/external_account.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/credentials/external_account_authorized_user.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/credentials/external_account_sources.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/credentials/external_account_sources/aws_sourced.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/credentials/external_account_sources/executable_sourced.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/credentials/external_account_sources/file_sourced.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/credentials/external_account_sources/programmatic_sourced.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/credentials/external_account_sources/url_sourced.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/credentials/gdch.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/credentials/idtoken.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/credentials/idtoken/impersonated.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/credentials/idtoken/mds.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/credentials/idtoken/service_account.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/credentials/idtoken/user_account.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/credentials/idtoken/verifier.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/credentials/impersonated.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/credentials/internal.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/credentials/internal/jwk_client.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/credentials/internal/sts_exchange.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/credentials/mds.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/credentials/service_account.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/credentials/service_account/jws.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/credentials/subject_token.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/credentials/user_account.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/errors.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/headers_util.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/lib.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/mds/client.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/mds/mod.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/retry.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/signer.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/signer/iam.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/signer/mds.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/signer/service_account.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/token.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/token_cache.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/universe_domain.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/credentials.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/crypto_provider.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/transient.rs (source notice 1)
  [cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30] upstream ../../LICENSE

google-cloud-bigquery 0.19.0
License declaration: Apache-2.0
Source: git+https://github.com/googleapis/google-cloud-rust?rev=5a2297f47973775e925ce49d37971b03ce358fba#5a2297f47973775e925ce49d37971b03ce358fba
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] benchmarks/queries/src/args.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] benchmarks/queries/src/main.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] benchmarks/queries/src/metrics.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] benchmarks/queries/src/reporter.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] benchmarks/queries/src/runner.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] benchmarks/queries/src/sample.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] benchmarks/queries/src/scenarios.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] benchmarks/queries/src/telemetry.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] benchmarks/write-throughput/src/args.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] benchmarks/write-throughput/src/main.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] benchmarks/write-throughput/src/table.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/job.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/job/cancel_job.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/job/create_job.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/job/get_job.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/job/list_jobs.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/lib.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/batch.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/browse_table.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/clustered_table.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/ddl_create_routine.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/ddl_create_view.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/destination_table.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/dml_update.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/dry_run.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/job_optional.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/label_job.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/legacy.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/legacy_large_results.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/no_cache.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/pagination.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/params_arrays.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/params_named.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/params_named_types.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/params_positional.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/params_positional_types.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/params_structs.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/params_timestamps.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/partitioned_table.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/query.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/query_append.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/script.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/simple_app.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/query/total_rows.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/write.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/write/arrow_default.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/write/json_buffered.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/write/json_committed.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/write/json_default.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/src/write/json_pending.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] examples/tests/integration.rs (source notice 1)
  [12fad4af918187e44426f4a6cd835d86974238bd9f59dec3759e8b5b6cef94b2] grpc-mock/src/lib.rs (source notice 1)
  [12fad4af918187e44426f4a6cd835d86974238bd9f59dec3759e8b5b6cef94b2] grpc-mock/src/mocks.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/datatypes.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/error.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/generated.rs (source notice 1)
  [12fad4af918187e44426f4a6cd835d86974238bd9f59dec3759e8b5b6cef94b2] src/generated/builder.rs (source notice 1)
  [12fad4af918187e44426f4a6cd835d86974238bd9f59dec3759e8b5b6cef94b2] src/generated/complete_query_metadata.rs (source notice 1)
  [12fad4af918187e44426f4a6cd835d86974238bd9f59dec3759e8b5b6cef94b2] src/generated/query_metadata.rs (source notice 1)
  [12fad4af918187e44426f4a6cd835d86974238bd9f59dec3759e8b5b6cef94b2] src/generated/query_request.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/lib.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/query.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/query/arrow.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/query/builder.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/query/client.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/query/client_builder.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/query/execution.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/query/from_sql.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/query/iterator.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/query/query_handle.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/query/retry_policy.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/query/row.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/query/schema.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/query/storage_reader.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/read.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/read/reader.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/read/retry_policy.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/append_future.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/append_response.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/base.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/buffered.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/builder.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/builder/append.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/builder/append_with_offset.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/client.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/client_builder.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/committed.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/default.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/dispatcher.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/entry.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/error.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/format.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/format/arrow.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/format/proto.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/generated.rs (source notice 1)
  [12fad4af918187e44426f4a6cd835d86974238bd9f59dec3759e8b5b6cef94b2] src/write/generated/convert/storage/convert.rs (source notice 1)
  [12fad4af918187e44426f4a6cd835d86974238bd9f59dec3759e8b5b6cef94b2] src/write/generated/gapic_storage/builder.rs (source notice 1)
  [12fad4af918187e44426f4a6cd835d86974238bd9f59dec3759e8b5b6cef94b2] src/write/generated/gapic_storage/client.rs (source notice 1)
  [12fad4af918187e44426f4a6cd835d86974238bd9f59dec3759e8b5b6cef94b2] src/write/generated/gapic_storage/mod.rs (source notice 1)
  [12fad4af918187e44426f4a6cd835d86974238bd9f59dec3759e8b5b6cef94b2] src/write/generated/gapic_storage/model.rs (source notice 1)
  [12fad4af918187e44426f4a6cd835d86974238bd9f59dec3759e8b5b6cef94b2] src/write/generated/gapic_storage/model/debug.rs (source notice 1)
  [12fad4af918187e44426f4a6cd835d86974238bd9f59dec3759e8b5b6cef94b2] src/write/generated/gapic_storage/model/deserialize.rs (source notice 1)
  [12fad4af918187e44426f4a6cd835d86974238bd9f59dec3759e8b5b6cef94b2] src/write/generated/gapic_storage/model/serialize.rs (source notice 1)
  [12fad4af918187e44426f4a6cd835d86974238bd9f59dec3759e8b5b6cef94b2] src/write/generated/gapic_storage/stub.rs (source notice 1)
  [12fad4af918187e44426f4a6cd835d86974238bd9f59dec3759e8b5b6cef94b2] src/write/generated/gapic_storage/stub/dynamic.rs (source notice 1)
  [12fad4af918187e44426f4a6cd835d86974238bd9f59dec3759e8b5b6cef94b2] src/write/generated/gapic_storage/tracing.rs (source notice 1)
  [12fad4af918187e44426f4a6cd835d86974238bd9f59dec3759e8b5b6cef94b2] src/write/generated/gapic_storage/transport.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/optimizer.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/pending.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/pool.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/retry_policy.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/runner.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/status.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/stream.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/stream_type.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/stream_type/application_created_stream.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/stream_type/has_stream.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/stream_type/markers.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/stream_type/stream.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/test.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/transport.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/validate.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/write/writer_builder.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/bigquery_derive_contract/from_row_and_from_sql_on_same_struct.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/bigquery_derive_contract/from_row_generic.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/bigquery_derive_contract/from_row_named_struct.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/bigquery_derive_contract/from_row_nested_from_sql_field.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/bigquery_derive_contract/from_row_option_and_vec_fields.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/bigquery_derive_contract/from_row_rename.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/bigquery_derive_contract/from_row_tuple_struct.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/bigquery_derive_contract/from_sql_generic.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/bigquery_derive_contract/from_sql_named_struct.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/bigquery_derive_contract/from_sql_rename.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/bigquery_derive_contract/from_sql_tuple_struct.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/bigquery_derive_contract/fully_qualified_derive_path.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/bigquery_derive_contract/main.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/bigquery_derive_contract/multiple_rename_and_plain_fields.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/bigquery_derive_contract/raw_identifier_fields.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/bigquery_derive_contract/shadowed_field_names.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/bigquery_derive_contract/shadowed_prelude_names.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/bigquery_derive_contract/visibility_and_attribute_placement.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/job_poller_tests.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/reader_tests.rs (source notice 1)
  [cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30] upstream ../../LICENSE

google-cloud-bigquery-derive 0.2.0
License declaration: Apache-2.0
Source: git+https://github.com/googleapis/google-cloud-rust?rev=5a2297f47973775e925ce49d37971b03ce358fba#5a2297f47973775e925ce49d37971b03ce358fba
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/lib.rs (source notice 1)
  [cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30] upstream ../../LICENSE

google-cloud-bigquery-v2 1.1.0
License declaration: Apache-2.0
Source: git+https://github.com/googleapis/google-cloud-rust?rev=5a2297f47973775e925ce49d37971b03ce358fba#5a2297f47973775e925ce49d37971b03ce358fba
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] src/builder.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] src/client.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/job_poller.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] src/lib.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] src/model.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] src/model/debug.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] src/model/deserialize.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] src/model/serialize.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] src/stub.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] src/stub/dynamic.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] src/tracing.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] src/transport.rs (source notice 1)
  [cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30] upstream ../../../../../LICENSE
  [4e607371210735a4dfc0b4f9008792511f90e79ec9fb53359609bb3d41b98642] upstream ../../licensemanager/v1/.repo-metadata.json
  [95405259f13ea8a4edcadf762def1650037bb805fa2cc97882584c38a9496268] upstream ../../licensemanager/v1/Cargo.toml
  [63bbc9b064b0d23038573b1371ec5528e275309972b2ede44728a219a325ea18] upstream ../../licensemanager/v1/README.md
  [e59e14c703f33fd921c04e0b52b47504a37c7b7b13bdc26788b8a1c973037e6c] upstream ../../licensemanager/v1/src/builder.rs
  [c6bf837ad97b6f2de5479027f55a738dbbc97d77b6fb728f64e690b9c180750b] upstream ../../licensemanager/v1/src/client.rs
  [4c7b50e15e4779b0702b95bb446cc81e5d564329481fd694376cc2a246f11162] upstream ../../licensemanager/v1/src/lib.rs
  [9c753978201017a14604b18e955de4c455b81cc128626871a71b6ca9c77fa4b8] upstream ../../licensemanager/v1/src/model.rs
  [2f3b9afc39d6766c7d60d02e887723fb8e68043eaf38b3e77ce03f16d54c281b] upstream ../../licensemanager/v1/src/model/debug.rs
  [fc8ac302a9b0a06beb0faf43dac7941ea58e51fbe5b1b2037f866430c948cee1] upstream ../../licensemanager/v1/src/model/deserialize.rs
  [e2a980b9a2abb0ef38ddcca984f2fd0934bf109e1164a0277c27e85ee6d8427e] upstream ../../licensemanager/v1/src/model/serialize.rs
  [9db00e505786fe71f5aefbf78c4bae0ee1b5d903f9a0c1a892c06efccaf46de8] upstream ../../licensemanager/v1/src/stub.rs
  [cf7772201c265854fb20bece23ef2f504e28a7cb3a495c67776fe75c27b0ef95] upstream ../../licensemanager/v1/src/stub/dynamic.rs
  [4a7fc24e5dac1e7f899ce2ee12cddd073b3bba75813adf2efa264d17f93725d5] upstream ../../licensemanager/v1/src/tracing.rs
  [54dcce9e68687395c742ca2401631d6db7b98ba899aad5d3e868955771b80de5] upstream ../../licensemanager/v1/src/transport.rs

google-cloud-gax 1.15.0
License declaration: Apache-2.0
Source: git+https://github.com/googleapis/google-cloud-rust?rev=5a2297f47973775e925ce49d37971b03ce358fba#5a2297f47973775e925ce49d37971b03ce358fba
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/backoff_policy.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/client_builder.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/error.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/error/binding.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/error/core_error.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/error/credentials.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/error/rpc.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/exponential_backoff.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/lib.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/mock_rng.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/options.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/paginator.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/polling_backoff_policy.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/polling_error_policy.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/polling_state.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/response.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/retry_loop_internal.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/retry_policy.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/retry_policy/client_timeout.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/retry_policy/too_many_requests.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/retry_result.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/retry_state.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/retry_throttler.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/streaming.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/throttle_result.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/backoff_policy.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] tests/retry_policy.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/retry_throttler.rs (source notice 1)
  [cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30] upstream ../../LICENSE

google-cloud-gax-internal 0.7.21
License declaration: Apache-2.0
Source: git+https://github.com/googleapis/google-cloud-rust?rev=5a2297f47973775e925ce49d37971b03ce358fba#5a2297f47973775e925ce49d37971b03ce358fba
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] build.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] echo-server/src/lib.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] grpc-server/build.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] grpc-server/src/lib.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/api_header.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/as_inner.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/attempt_info.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/attempt_interceptor.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] src/generated/convert/protobuf/convert.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] src/generated/convert/rpc/convert.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/grpc.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/grpc/from_status.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/grpc/grpc_helpers.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/grpc/grpc_rust.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/grpc/status.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/grpc/streaming.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/grpc/tonic.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/grpc/transport_policies.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/headers.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/host.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/http.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/http/http_request_builder.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/http/reqwest.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/lib.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/observability.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/observability/attributes.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/observability/client_signals.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/observability/client_signals/duration_metric.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/observability/client_signals/recorder.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/observability/client_signals/transport_metric.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/observability/client_signals/with_client_logging.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/observability/client_signals/with_client_metric.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/observability/client_signals/with_client_span.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/observability/client_signals/with_transport_logging.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/observability/client_signals/with_transport_metric.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/observability/client_signals/with_transport_span.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/observability/errors.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/observability/grpc_tracing.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/observability/http_tracing.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/observability/propagation.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/options.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/path_parameter.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/prost.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/query_parameter.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/routing_parameter.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/unimplemented.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/universe_domain.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/client_builder.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/grpc_auth.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/grpc_client_polling.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/grpc_convert.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/grpc_observability.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/grpc_retry_loop.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/grpc_server_streaming_request.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] tests/grpc_simple_request.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/grpc_streaming_request.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/grpc_timeout.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/grpc_transport_observability.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/grpc_user_agent.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/grpc_user_project.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/http_auth.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] tests/http_client_errors.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/http_client_polling.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/http_custom_header.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/http_host.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/http_metadata.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/http_observability.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] tests/http_query_parameters.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/http_request_builder.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] tests/http_retry_loop.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] tests/http_timeout.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] tests/http_user_agent.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/http_user_project.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] tests/mock_credentials.rs (source notice 1)
  [cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30] upstream ../../LICENSE

google-cloud-longrunning 1.14.0
License declaration: Apache-2.0
Source: git+https://github.com/googleapis/google-cloud-rust?rev=5a2297f47973775e925ce49d37971b03ce358fba#5a2297f47973775e925ce49d37971b03ce358fba
  [286e5e6fa9e4a2e9d199c739b23b2b8cfe9b9676170a444a7b919484779084ca] src/builder.rs (source notice 1)
  [286e5e6fa9e4a2e9d199c739b23b2b8cfe9b9676170a444a7b919484779084ca] src/client.rs (source notice 1)
  [286e5e6fa9e4a2e9d199c739b23b2b8cfe9b9676170a444a7b919484779084ca] src/lib.rs (source notice 1)
  [286e5e6fa9e4a2e9d199c739b23b2b8cfe9b9676170a444a7b919484779084ca] src/model.rs (source notice 1)
  [286e5e6fa9e4a2e9d199c739b23b2b8cfe9b9676170a444a7b919484779084ca] src/model/debug.rs (source notice 1)
  [286e5e6fa9e4a2e9d199c739b23b2b8cfe9b9676170a444a7b919484779084ca] src/model/deserialize.rs (source notice 1)
  [286e5e6fa9e4a2e9d199c739b23b2b8cfe9b9676170a444a7b919484779084ca] src/model/serialize.rs (source notice 1)
  [286e5e6fa9e4a2e9d199c739b23b2b8cfe9b9676170a444a7b919484779084ca] src/stub.rs (source notice 1)
  [286e5e6fa9e4a2e9d199c739b23b2b8cfe9b9676170a444a7b919484779084ca] src/stub/dynamic.rs (source notice 1)
  [286e5e6fa9e4a2e9d199c739b23b2b8cfe9b9676170a444a7b919484779084ca] src/tracing.rs (source notice 1)
  [286e5e6fa9e4a2e9d199c739b23b2b8cfe9b9676170a444a7b919484779084ca] src/transport.rs (source notice 1)
  [cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30] upstream ../../../LICENSE

google-cloud-lro 1.11.0
License declaration: Apache-2.0
Source: git+https://github.com/googleapis/google-cloud-rust?rev=5a2297f47973775e925ce49d37971b03ce358fba#5a2297f47973775e925ce49d37971b03ce358fba
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/details.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/internal.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/internal/aip151.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/internal/discovery.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/internal/either.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/internal/ext.rs (source notice 1)
  [6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29] src/internal/tracing.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/lib.rs (source notice 1)
  [cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30] upstream ../../LICENSE

google-cloud-rpc 1.6.0
License declaration: Apache-2.0
Source: git+https://github.com/googleapis/google-cloud-rust?rev=5a2297f47973775e925ce49d37971b03ce358fba#5a2297f47973775e925ce49d37971b03ce358fba
  [286e5e6fa9e4a2e9d199c739b23b2b8cfe9b9676170a444a7b919484779084ca] src/lib.rs (source notice 1)
  [286e5e6fa9e4a2e9d199c739b23b2b8cfe9b9676170a444a7b919484779084ca] src/model.rs (source notice 1)
  [286e5e6fa9e4a2e9d199c739b23b2b8cfe9b9676170a444a7b919484779084ca] src/model/debug.rs (source notice 1)
  [286e5e6fa9e4a2e9d199c739b23b2b8cfe9b9676170a444a7b919484779084ca] src/model/deserialize.rs (source notice 1)
  [286e5e6fa9e4a2e9d199c739b23b2b8cfe9b9676170a444a7b919484779084ca] src/model/serialize.rs (source notice 1)
  [cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30] upstream ../../../../LICENSE

google-cloud-type 1.6.0
License declaration: Apache-2.0
Source: git+https://github.com/googleapis/google-cloud-rust?rev=5a2297f47973775e925ce49d37971b03ce358fba#5a2297f47973775e925ce49d37971b03ce358fba
  [286e5e6fa9e4a2e9d199c739b23b2b8cfe9b9676170a444a7b919484779084ca] src/lib.rs (source notice 1)
  [286e5e6fa9e4a2e9d199c739b23b2b8cfe9b9676170a444a7b919484779084ca] src/model.rs (source notice 1)
  [286e5e6fa9e4a2e9d199c739b23b2b8cfe9b9676170a444a7b919484779084ca] src/model/debug.rs (source notice 1)
  [286e5e6fa9e4a2e9d199c739b23b2b8cfe9b9676170a444a7b919484779084ca] src/model/deserialize.rs (source notice 1)
  [286e5e6fa9e4a2e9d199c739b23b2b8cfe9b9676170a444a7b919484779084ca] src/model/serialize.rs (source notice 1)
  [cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30] upstream ../../../LICENSE

google-cloud-wkt 1.10.0
License declaration: Apache-2.0
Source: git+https://github.com/googleapis/google-cloud-rust?rev=5a2297f47973775e925ce49d37971b03ce358fba#5a2297f47973775e925ce49d37971b03ce358fba
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/any.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/duration.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/empty.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/field_mask.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] src/generated/debug.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] src/generated/deserialize.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] src/generated/mod.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] src/generated/serialize.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/internal.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/internal/enums.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/internal/float32.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/internal/float64.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/internal/int32.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/internal/int64.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/internal/uint32.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/internal/uint64.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/internal/value.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/internal/visitor_32.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/internal/visitor_64.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/internal/visitor_float.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/lib.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/message.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] src/rstruct.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/timestamp.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] src/wrappers.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] tests/any.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] tests/common/src/generated/debug.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] tests/common/src/generated/deserialize.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] tests/common/src/generated/mod.rs (source notice 1)
  [79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e] tests/common/src/generated/serialize.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/common/src/lib.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/complex_oneofs.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] tests/duration.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] tests/empty.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/enums.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] tests/field_name_override.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/message_with_bool.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] tests/message_with_bytes.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/message_with_enum.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/message_with_f32.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/message_with_f64.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/message_with_field_mask.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/message_with_i32.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] tests/message_with_i64.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/message_with_null_value.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/message_with_recursion.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] tests/message_with_string.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/message_with_u32.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/message_with_u64.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/message_with_value.rs (source notice 1)
  [d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57] tests/message_with_wrappers.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] tests/oneofs.rs (source notice 1)
  [2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7] tests/unknown.rs (source notice 1)
  [cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30] upstream ../../LICENSE

h2 0.4.20
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [b21623012e6c453d944b0342c515b631cfcbf30704c2621b291526b69c10724d] LICENSE

half 2.7.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9] LICENSE-APACHE
  [508a77d2e7b51d98adeed32648ad124b7b30241a8e70b2e72c99f92d8e5874d1] LICENSE-MIT

hashbrown 0.12.3
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [ff8f68cb076caf8cefe7a6430d4ac086ce6af2ca8ce2c4e5a2004d4552ef52a2] LICENSE-MIT

hashbrown 0.17.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [ff8f68cb076caf8cefe7a6430d4ac086ce6af2ca8ce2c4e5a2004d4552ef52a2] LICENSE-MIT

hex 0.4.3
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [c6596eb7be8581c18be736c846fb9173b69eccf6ef94c5135893ec56bd92ba08] LICENSE-APACHE
  [f7bdb3426d045cd50efd4953026e3eb5a83d0199f458a075602611b9344da5b9] LICENSE-MIT
  [52265bbdf997de64fa061ab56960af6cef54aad1b97d3a700114e75fd587702f] src/lib.rs (source notice 1)

hmac 0.13.0
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a9040321c3712d8fd0b09cf52b17445de04a23a10165049ae187cd39e5c86be5] LICENSE-APACHE
  [9e0dfd2dd4173a530e238cb6adb37aa78c34c6bc7444e0e10c1ab5d8881f63ba] LICENSE-MIT

http 1.5.0
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [8bb1b50b0e5c9399ae33bd35fab2769010fa6c14e8860c729a52295d84896b7a] LICENSE-APACHE
  [dc91f8200e4b2a1f9261035d4c18c33c246911a6c0f7b543d75347e61b249cff] LICENSE-MIT

http-body 1.1.0
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [248378d0a3383c173fb925f17141b88e71580b3ba17ddc6ac3d2a344683232ab] LICENSE

http-body-util 0.1.5
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [248378d0a3383c173fb925f17141b88e71580b3ba17ddc6ac3d2a344683232ab] LICENSE

httparse 1.10.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [391a5396cec6230bfabd4ef4eb2350eb895bc5efce377a2218f5702ed020d3e3] LICENSE-MIT

hybrid-array 0.4.15
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a9040321c3712d8fd0b09cf52b17445de04a23a10165049ae187cd39e5c86be5] LICENSE-APACHE
  [70c9d40f1f9545c3f133b8a67206e89da850f6468eed072281bb3701514114a9] LICENSE-MIT

hyper 1.12.0
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [2d01890414494742ba4a509fcec8efa40f6d8be22cbd72be7cff08d6fda4ec89] LICENSE

hyper-rustls 0.27.10
License declaration: Apache-2.0 OR ISC OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [7cfafc877eccc46c0e346ccbaa5c51bb6b894d2b818e617d970211e232785ad4] LICENSE-ISC
  [709e3175b4212f7b13aa93971c9f62ff8c69ec45ad8c6532a7e0c41d7a7d6f8c] LICENSE-MIT

hyper-timeout 0.5.2
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [cc87cc2020d8b17220b5a4e500d7952b0601c7903ee36cfd00eb8ed6ffdcd0f5] LICENSE-MIT

hyper-util 0.1.21
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [9e0a97848ea543aef745c98e84fde696a9a3e0735538f6daefdd3cb1942effc1] LICENSE

iana-time-zone 0.1.65
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [696759d65dfe558ff7d9f031c76db19ec5c0767470fb67c4e8d990820d1e99c9] LICENSE-APACHE
  [da28ccc6b158fc2d8cccc74e99794b1cff1d29bd7bbeb019442fcf0c04c6cad9] LICENSE-MIT

icu_collections 2.4.0
License declaration: Unicode-3.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2] LICENSE

icu_locale_core 2.4.0
License declaration: Unicode-3.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2] LICENSE

icu_normalizer 2.4.0
License declaration: Unicode-3.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2] LICENSE

icu_normalizer_data 2.4.0
License declaration: Unicode-3.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2] LICENSE

icu_properties 2.4.0
License declaration: Unicode-3.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2] LICENSE

icu_properties_data 2.4.0
License declaration: Unicode-3.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2] LICENSE

icu_provider 2.4.0
License declaration: Unicode-3.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2] LICENSE

ident_case 1.0.1
License declaration: MIT/Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [508a77d2e7b51d98adeed32648ad124b7b30241a8e70b2e72c99f92d8e5874d1] LICENSE
  [d929e0be94b1f678f280e580b0c9abad1725c002cc9d7f991bafe64b5d80980f] src/lib.rs (source notice 1)

idna 1.1.0
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [b38f11f6096706e6de553dabe2a7ed142d59b6fa8c97e290c67496154745cdd5] LICENSE-MIT
  [454f6f9525490bd6421568b9a3ecc5642b2d43ff41f2199a7836ac480a9b4386] src/deprecated.rs (source notice 1)
  [2783634945c09a84be6e10ebee557dd377beb699a168eaeb8a3026ba0f25ecf8] src/lib.rs (source notice 1)
  [d8d793505354fc63c0756964eef5db9c83325be0c4f205f9d27064e1d477c1cf] src/punycode.rs (source notice 1)
  [235cf4c9e6ae0ea6c77624920413343631dc90bb5d5b216d0ee4ce09346f19d3] src/uts46.rs (source notice 1)
  [454f6f9525490bd6421568b9a3ecc5642b2d43ff41f2199a7836ac480a9b4386] tests/deprecated.rs (source notice 1)
  [d8d793505354fc63c0756964eef5db9c83325be0c4f205f9d27064e1d477c1cf] tests/punycode.rs (source notice 1)
  [454f6f9525490bd6421568b9a3ecc5642b2d43ff41f2199a7836ac480a9b4386] tests/uts46.rs (source notice 1)

idna_adapter 1.2.2
License declaration: Apache-2.0 OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [8b43ce8accd61e9d370b5ca9e9c4f953279b5c239926c62315b40e24df51b726] LICENSE-MIT
  [235cf4c9e6ae0ea6c77624920413343631dc90bb5d5b216d0ee4ce09346f19d3] src/lib.rs (source notice 1)

indexmap 1.9.3
License declaration: Apache-2.0 OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [ecc269ef87fd38a1d98e30bfac9ba964a9dbd9315c3770fed98d4d7cb5882055] LICENSE-MIT

indexmap 2.14.2
License declaration: Apache-2.0 OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [ecc269ef87fd38a1d98e30bfac9ba964a9dbd9315c3770fed98d4d7cb5882055] LICENSE-MIT

ipnet 2.12.2
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [87d9feb9238c6bd8e0024fc4733b06cff036f89f36d93b7df1c8a0549bbb7a5b] LICENSE-APACHE
  [47dc9ff29128ddfb4d6a0435383c9f89120bc374dbcc1dd00b933a0b28aa7865] LICENSE-MIT

itertools 0.14.0
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [7576269ea71f767b99297934c0b2367532690f8c4badc695edf8e04ab6a1e545] LICENSE-MIT

itoa 1.0.18
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

jiff 0.2.38
License declaration: Unlicense OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [01c266bced4a434da0051174d6bee16a4c82cf634e2679b6155d40d75012390f] COPYING
  [0f96a83840e146e43c0ec96a22ec1f392e0680e6c1226e6f3ba87e0740af850f] LICENSE-MIT
  [7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c] UNLICENSE

jiff-core 0.1.2
License declaration: Unlicense OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [01c266bced4a434da0051174d6bee16a4c82cf634e2679b6155d40d75012390f] COPYING
  [0f96a83840e146e43c0ec96a22ec1f392e0680e6c1226e6f3ba87e0740af850f] LICENSE-MIT
  [7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c] UNLICENSE

jiff-tzdb 0.1.9
License declaration: Unlicense OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [01c266bced4a434da0051174d6bee16a4c82cf634e2679b6155d40d75012390f] COPYING
  [0f96a83840e146e43c0ec96a22ec1f392e0680e6c1226e6f3ba87e0740af850f] LICENSE-MIT
  [7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c] UNLICENSE

jiff-tzdb-platform 0.1.3
License declaration: Unlicense OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [01c266bced4a434da0051174d6bee16a4c82cf634e2679b6155d40d75012390f] COPYING
  [0f96a83840e146e43c0ec96a22ec1f392e0680e6c1226e6f3ba87e0740af850f] LICENSE-MIT
  [7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c] UNLICENSE

jobserver 0.1.35
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397] LICENSE-MIT

lazy_static 1.5.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT
  [05f5185ee577daa8ddd9957efe469afc0e01f932ddcbefc8a8b0414df7c6464c] src/core_lazy.rs (source notice 1)
  [05f5185ee577daa8ddd9957efe469afc0e01f932ddcbefc8a8b0414df7c6464c] src/inline_lazy.rs (source notice 1)
  [05f5185ee577daa8ddd9957efe469afc0e01f932ddcbefc8a8b0414df7c6464c] src/lib.rs (source notice 1)

libc 0.2.191
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [123a331b5dbf04c30097fa43b8f858bc85df671fe776de498d01f3d6b7c1f69e] LICENSE-MIT

libm 0.2.16
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [3823dda7cf046602f4b4e77ec8e227863dc4736037cc85bb33d9f19febe16bb7] LICENSE.txt
  [16cd38a2d4dd0bf4b8a51ab4bd8779856a38d7ac96d4f8a3b092d8c707b0a021] src/math/acos.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/acosf.rs (source notice 1)
  [16cd38a2d4dd0bf4b8a51ab4bd8779856a38d7ac96d4f8a3b092d8c707b0a021] src/math/asin.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/asinf.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/atan.rs (source notice 1)
  [e1be4a329850c826811b4faff3476ed2755911b67a74ef3157fdb89c0b6efd91] src/math/atan2.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/atan2f.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/atanf.rs (source notice 1)
  [3636b6533bb78c6976b4d112f9805311e445547676a4daa161c9a7b7a93e086c] src/math/cbrt.rs (source notice 1)
  [f19171d4bdf293aeab9691045ffaf33e2b0be70c57d5d7f05092461aa4f04c7d] src/math/cbrt.rs (source notice 2)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/cbrtf.rs (source notice 1)
  [78faf2571fe417f3bcd7b38798c4d9ddf499ca43d1ede6fa44992ba75445bff7] src/math/cos.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/cosf.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/erff.rs (source notice 1)
  [baa7e430ba6fb973c100eef93c8c539cf62ba033746c6bf418bb8b51a8930267] src/math/exp.rs (source notice 1)
  [2728151294eb93196ab6dd7cb28ddc6e9ab76bf7ebf8c2e1a15f0d2221c98c76] src/math/exp2.rs (source notice 1)
  [d9d31636bf6dc09dbbe83abe0514e8d867f635bf3ef99b5163b54c56e6524077] src/math/exp2f.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/expf.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/expm1.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/expm1f.rs (source notice 1)
  [3636b6533bb78c6976b4d112f9805311e445547676a4daa161c9a7b7a93e086c] src/math/fma.rs (source notice 1)
  [3636b6533bb78c6976b4d112f9805311e445547676a4daa161c9a7b7a93e086c] src/math/generic/ceil.rs (source notice 1)
  [ca254aa33491b3ee9a0a365629c5a0abda4aa71df314f122155335e394cb1173] src/math/generic/floor.rs (source notice 1)
  [3636b6533bb78c6976b4d112f9805311e445547676a4daa161c9a7b7a93e086c] src/math/generic/fma.rs (source notice 1)
  [e2c5e3a74a29f6c88233646995cfe44b14516067992b9670439ffa0a595e56a5] src/math/generic/fmax.rs (source notice 1)
  [e2c5e3a74a29f6c88233646995cfe44b14516067992b9670439ffa0a595e56a5] src/math/generic/fmaximum.rs (source notice 1)
  [e2c5e3a74a29f6c88233646995cfe44b14516067992b9670439ffa0a595e56a5] src/math/generic/fmaximum_num.rs (source notice 1)
  [e2c5e3a74a29f6c88233646995cfe44b14516067992b9670439ffa0a595e56a5] src/math/generic/fmin.rs (source notice 1)
  [e2c5e3a74a29f6c88233646995cfe44b14516067992b9670439ffa0a595e56a5] src/math/generic/fminimum.rs (source notice 1)
  [e2c5e3a74a29f6c88233646995cfe44b14516067992b9670439ffa0a595e56a5] src/math/generic/fminimum_num.rs (source notice 1)
  [e2c5e3a74a29f6c88233646995cfe44b14516067992b9670439ffa0a595e56a5] src/math/generic/fmod.rs (source notice 1)
  [3636b6533bb78c6976b4d112f9805311e445547676a4daa161c9a7b7a93e086c] src/math/generic/rint.rs (source notice 1)
  [3636b6533bb78c6976b4d112f9805311e445547676a4daa161c9a7b7a93e086c] src/math/generic/sqrt.rs (source notice 1)
  [5c6f62056611d3f0256525565d02e2cfb48385b26812fb4d606fc7d13de1a0d3] src/math/generic/trunc.rs (source notice 1)
  [16cd38a2d4dd0bf4b8a51ab4bd8779856a38d7ac96d4f8a3b092d8c707b0a021] src/math/j0.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/j0f.rs (source notice 1)
  [16cd38a2d4dd0bf4b8a51ab4bd8779856a38d7ac96d4f8a3b092d8c707b0a021] src/math/j1.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/j1f.rs (source notice 1)
  [16cd38a2d4dd0bf4b8a51ab4bd8779856a38d7ac96d4f8a3b092d8c707b0a021] src/math/jn.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/jnf.rs (source notice 1)
  [cd052f4fc22d6625c9f4439c66d4512a9011446d3f2dff15842925b024821cbb] src/math/k_cos.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/k_cosf.rs (source notice 1)
  [e00a06f546cd736ac64d82d5c88c23810aec69eec0f61cc64705ea57693e6049] src/math/k_sin.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/k_sinf.rs (source notice 1)
  [ae36b8732e1a0fd7cf1b44f0840d2fca6e15432a92e6c1a1d7ef4bd5b5d83bc6] src/math/k_tan.rs (source notice 1)
  [4607899cec7ea61b3337abbae6c2a63a00711fd2246d6414e2856b9ce9328c8b] src/math/k_tanf.rs (source notice 1)
  [e1be4a329850c826811b4faff3476ed2755911b67a74ef3157fdb89c0b6efd91] src/math/lgamma_r.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/lgammaf_r.rs (source notice 1)
  [16cd38a2d4dd0bf4b8a51ab4bd8779856a38d7ac96d4f8a3b092d8c707b0a021] src/math/log.rs (source notice 1)
  [16cd38a2d4dd0bf4b8a51ab4bd8779856a38d7ac96d4f8a3b092d8c707b0a021] src/math/log10.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/log10f.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/log1p.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/log1pf.rs (source notice 1)
  [16cd38a2d4dd0bf4b8a51ab4bd8779856a38d7ac96d4f8a3b092d8c707b0a021] src/math/log2.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/log2f.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/logf.rs (source notice 1)
  [baa7e430ba6fb973c100eef93c8c539cf62ba033746c6bf418bb8b51a8930267] src/math/pow.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/powf.rs (source notice 1)
  [da28bd93659d512cba362af000b10121e71e63ef135f3ba398a05f376e90bc7e] src/math/rem_pio2.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/rem_pio2f.rs (source notice 1)
  [0beade56a930d1c1a35daa8cd5bbe8350757c3b38ac025a553f7db8bdfaf9e16] src/math/sin.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/sincos.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/sincosf.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/sinf.rs (source notice 1)
  [e2c5e3a74a29f6c88233646995cfe44b14516067992b9670439ffa0a595e56a5] src/math/support/int_traits/narrowing_div.rs (source notice 1)
  [e2c5e3a74a29f6c88233646995cfe44b14516067992b9670439ffa0a595e56a5] src/math/support/modular.rs (source notice 1)
  [59ee71a59035c18a5043881ef760e797cc17dc0cfd65eb43075f72a0ecf8292a] src/math/tan.rs (source notice 1)
  [565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948] src/math/tanf.rs (source notice 1)

litemap 0.8.3
License declaration: Unicode-3.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2] LICENSE

log 0.4.34
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb] LICENSE-MIT
  [5d392ff1ac69a18c9beb41720ecbfd56f7792a1ec4321428e73757d4283f5a61] src/lib.rs (source notice 1)
  [0372df70e5652415fa6fdb9147e8f7efd878ce606b5890678def629645b78104] src/macros.rs (source notice 1)

lz4_flex 0.14.0
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [0982c33390159842ecce8e9d6ce2e5e39961fe0e0ffbb2eec39c9ba46db6db10] LICENSE

memchr 2.8.3
License declaration: Unlicense OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [01c266bced4a434da0051174d6bee16a4c82cf634e2679b6155d40d75012390f] COPYING
  [0f96a83840e146e43c0ec96a22ec1f392e0680e6c1226e6f3ba87e0740af850f] LICENSE-MIT
  [7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c] UNLICENSE

mio 1.2.4
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [07919255c7e04793d8ea760d6c2ce32d19f9ff02bdbdde3ce90b1e1880929a9b] LICENSE

num-bigint 0.5.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb] LICENSE-MIT
  [5eb447ab49a139299a9242218745eaf936ec997fcb32ea17c8d8ee855cd78686] benches/shootout-pidigits.rs (source notice 1)
  [84ff7c28d9c95012acb6be697e80602dcf2297f6542da3a0a5c7aebcdfd66512] src/lib.rs (source notice 1)

num-complex 0.4.6
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb] LICENSE-MIT
  [b2d1f90374e48eec6c7f0b1ccfc7de66e06898bed6930de645ceaf6cd0ebd7cb] src/lib.rs (source notice 1)

num-conv 0.2.2
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594] LICENSE-Apache
  [e2e245f2b566d0bfafb0f6a04c16b82d710c4e6e7d799e39bb4ef6e541b85b98] LICENSE-MIT

num-integer 0.1.47
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb] LICENSE-MIT
  [84ff7c28d9c95012acb6be697e80602dcf2297f6542da3a0a5c7aebcdfd66512] src/lib.rs (source notice 1)

num-traits 0.2.19
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb] LICENSE-MIT
  [84ff7c28d9c95012acb6be697e80602dcf2297f6542da3a0a5c7aebcdfd66512] src/lib.rs (source notice 1)

once_cell 1.21.4
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

openssl-probe 0.2.2
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397] LICENSE-MIT

opentelemetry 0.33.1
License declaration: Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4] https://raw.githubusercontent.com/open-telemetry/opentelemetry-rust/372ebbc74d4dba71bb9820732f57f7316b4e7a1e/LICENSE

opentelemetry-semantic-conventions 0.33.1
License declaration: Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4] https://raw.githubusercontent.com/open-telemetry/opentelemetry-rust/372ebbc74d4dba71bb9820732f57f7316b4e7a1e/LICENSE

opentelemetry_sdk 0.33.1
License declaration: Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4] https://raw.githubusercontent.com/open-telemetry/opentelemetry-rust/372ebbc74d4dba71bb9820732f57f7316b4e7a1e/LICENSE

percent-encoding 2.3.2
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [b38f11f6096706e6de553dabe2a7ed142d59b6fa8c97e290c67496154745cdd5] LICENSE-MIT
  [891519f4249e526687d08cdbd096a2dcb96be60b408870b2f722fcf3915daec1] src/ascii_set.rs (source notice 1)
  [891519f4249e526687d08cdbd096a2dcb96be60b408870b2f722fcf3915daec1] src/lib.rs (source notice 1)

pin-project 1.1.13
License declaration: Apache-2.0 OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] examples/enum-default-expanded.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] examples/enum-default.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] examples/not_unpin-expanded.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] examples/not_unpin.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] examples/pinned_drop-expanded.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] examples/pinned_drop.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] examples/project_replace-expanded.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] examples/project_replace.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] examples/struct-default-expanded.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] examples/struct-default.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] examples/unsafe_unpin-expanded.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] examples/unsafe_unpin.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] src/lib.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/auxiliary/mod.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/cfg.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/compiletest.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/drop_order.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/default/enum.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/default/struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/default/tuple_struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/multifields/enum.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/multifields/struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/multifields/tuple_struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/enum-all.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/enum-mut.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/enum-none.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/enum-own.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/enum-ref.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/struct-all.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/struct-mut.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/struct-none.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/struct-own.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/struct-ref.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/tuple_struct-all.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/tuple_struct-mut.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/tuple_struct-none.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/tuple_struct-own.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/tuple_struct-ref.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/not_unpin/enum.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/not_unpin/struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/not_unpin/tuple_struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/pinned_drop/enum.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/pinned_drop/struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/pinned_drop/tuple_struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/project_replace/enum.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/project_replace/struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/project_replace/tuple_struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/pub/enum.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/pub/struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/pub/tuple_struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/unsafe_unpin/enum.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/unsafe_unpin/struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/unsafe_unpin/tuple_struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expandtest.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/include/basic-safe-part.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/include/basic.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/pin_project.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/pinned_drop.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/proper_unpin.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/repr_packed.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/run-pass/private_in_public-enum.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/cfg/cfg_attr-resolve.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/cfg/cfg_attr-type-mismatch.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/cfg/packed_sneaky-span-issue-1.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/cfg/packed_sneaky-span-issue-2.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/cfg/packed_sneaky.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/cfg/unsupported.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/not_unpin/conflict-unpin.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/not_unpin/impl-unsafe-unpin.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/not_unpin/negative_impls_stable.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/add-attr-to-struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/add-pinned-field.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/conflict-drop.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/conflict-unpin.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/impl-unsafe-unpin.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/import_unnamed.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/invalid.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/negative_impls_stable.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/overlapping_unpin_struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/override-priv-mod.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/packed-enum.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/packed-name-value.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/packed.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/packed_sneaky-1.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/packed_sneaky-2.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/packed_sneaky-3.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/packed_sneaky-4.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/project_replace_unsized.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/project_replace_unsized_fn_params.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/remove-attr-from-field.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/remove-attr-from-struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/safe_packed_borrows.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/unaligned_references.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/unpin_sneaky.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/visibility.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pinned_drop/call-drop-inner.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pinned_drop/conditional-drop-impl.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pinned_drop/forget-pinned-drop-impl.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pinned_drop/invalid-self.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pinned_drop/invalid.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pinned_drop/pinned-drop-no-attr-arg.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pinned_drop/self.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pinned_drop/unsafe-call.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/unsafe_unpin/conflict-unpin.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/unsafe_unpin/negative_impls_stable.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/unstable-features/marker_trait_attr-feature-gate.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/unstable-features/marker_trait_attr.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/unstable-features/negative_impls.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/unstable-features/trivial_bounds-feature-gate.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/unstable-features/trivial_bounds.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/unsafe_unpin.rs (source notice 1)

pin-project-internal 1.1.13
License declaration: Apache-2.0 OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] src/error.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] src/lib.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] src/pin_project/args.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] src/pin_project/attribute.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] src/pin_project/derive.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] src/pin_project/mod.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] src/pinned_drop.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] src/utils.rs (source notice 1)

pin-project-lite 0.2.17
License declaration: Apache-2.0 OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] src/lib.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/auxiliary/mod.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/compiletest.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/drop_order.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/default/enum.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/default/struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/multifields/enum.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/multifields/struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/enum-all.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/enum-mut.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/enum-none.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/enum-ref.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/struct-all.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/struct-mut.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/struct-none.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/naming/struct-ref.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/not_unpin/enum.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/not_unpin/struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/pinned_drop/enum.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/pinned_drop/struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/pub/enum.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expand/pub/struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/expandtest.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/include/basic.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/proper_unpin.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/test.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/not_unpin/conflict-unpin.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/not_unpin/negative_impls_stable.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/conflict-drop.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/conflict-unpin.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/invalid-bounds.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/invalid.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/negative_impls_stable.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/overlapping_lifetime_names.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/overlapping_unpin_struct.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/packed.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/unpin_sneaky.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pin_project/unsupported.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pinned_drop/call-drop-inner.rs (source notice 1)
  [7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd] tests/ui/pinned_drop/conditional-drop-impl.rs (source notice 1)

potential_utf 0.1.6
License declaration: Unicode-3.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2] LICENSE

powerfmt 0.2.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [155420c6403d4e0fca34105e3c03fdd6939b64c393c7ec6f95f5b72c5474eab0] LICENSE-Apache
  [070dbc7dda03a29296f2d58bdb9b7331af90f2abc9f31df22875d1eabaf29852] LICENSE-MIT

ppv-lite86 0.2.21
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [0218327e7a480793ffdd4eb792379a9709e5c135c7ba267f709d6f6d4d70af0a] LICENSE-APACHE
  [4cada0bd02ea3692eee6f16400d86c6508bbd3bafb2b65fed0419f36d4f83e8f] LICENSE-MIT

proc-macro-crate 3.5.0
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [8ada45cd9f843acf64e4722ae262c622a2b3b3007c7310ef36ac1061a30f6adb] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

proc-macro2 1.0.107
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

prost 0.14.4
License declaration: Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE

prost-derive 0.14.4
License declaration: Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE

prost-types 0.14.4
License declaration: Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE

quote 1.0.47
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

rand 0.10.3
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [90eb64f0279b0d9432accfa6023ff803bc4965212383697eee27a0f426d5f8d5] COPYRIGHT
  [35242e7a83f69875e6edeff02291e688c97caafe2f8902e4e19b49d3e78b4cab] LICENSE-APACHE
  [209fbbe0ad52d9235e37badf9cadfe4dbdc87203179c0899e738b39ade42177b] LICENSE-MIT
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/distr/bernoulli.rs (source notice 1)
  [932e4ab34f8ee85390542105497ef60e6e73dab2c8883d6250f2d427ec6439e3] src/distr/distribution.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/distr/float.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/distr/integer.rs (source notice 1)
  [932e4ab34f8ee85390542105497ef60e6e73dab2c8883d6250f2d427ec6439e3] src/distr/mod.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/distr/other.rs (source notice 1)
  [31763fd3a985beee0412efbb0983721462c7a704829c473d9747fda4728f0918] src/distr/slice.rs (source notice 1)
  [60b302e19911888d62ded3a5b4046eaf884778d9423715c720ea42376979122f] src/distr/uniform.rs (source notice 1)
  [60b302e19911888d62ded3a5b4046eaf884778d9423715c720ea42376979122f] src/distr/uniform_float.rs (source notice 1)
  [60b302e19911888d62ded3a5b4046eaf884778d9423715c720ea42376979122f] src/distr/uniform_int.rs (source notice 1)
  [60b302e19911888d62ded3a5b4046eaf884778d9423715c720ea42376979122f] src/distr/uniform_other.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/distr/utils.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/distr/weighted/mod.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/distr/weighted/weighted_index.rs (source notice 1)
  [932e4ab34f8ee85390542105497ef60e6e73dab2c8883d6250f2d427ec6439e3] src/lib.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/prelude.rs (source notice 1)
  [932e4ab34f8ee85390542105497ef60e6e73dab2c8883d6250f2d427ec6439e3] src/rng.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/rngs/mod.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/rngs/small.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/rngs/std.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/rngs/thread.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/rngs/xoshiro128plusplus.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/rngs/xoshiro256plusplus.rs (source notice 1)
  [013ee4297b48f004ac0710348121fd436812b99e83814a474c9b08a15ee0ac89] src/seq/coin_flipper.rs (source notice 1)
  [013ee4297b48f004ac0710348121fd436812b99e83814a474c9b08a15ee0ac89] src/seq/increasing_uniform.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/seq/index.rs (source notice 1)
  [e11508b3e7f6ff1d908d7b47b4a375d2a59b54ad71d067b092479d36e02c0587] src/seq/iterator.rs (source notice 1)
  [013ee4297b48f004ac0710348121fd436812b99e83814a474c9b08a15ee0ac89] src/seq/mod.rs (source notice 1)
  [013ee4297b48f004ac0710348121fd436812b99e83814a474c9b08a15ee0ac89] src/seq/slice.rs (source notice 1)

rand 0.8.8
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [90eb64f0279b0d9432accfa6023ff803bc4965212383697eee27a0f426d5f8d5] COPYRIGHT
  [35242e7a83f69875e6edeff02291e688c97caafe2f8902e4e19b49d3e78b4cab] LICENSE-APACHE
  [209fbbe0ad52d9235e37badf9cadfe4dbdc87203179c0899e738b39ade42177b] LICENSE-MIT
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/distributions/bernoulli.rs (source notice 1)
  [932e4ab34f8ee85390542105497ef60e6e73dab2c8883d6250f2d427ec6439e3] src/distributions/distribution.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/distributions/float.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/distributions/integer.rs (source notice 1)
  [932e4ab34f8ee85390542105497ef60e6e73dab2c8883d6250f2d427ec6439e3] src/distributions/mod.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/distributions/other.rs (source notice 1)
  [31763fd3a985beee0412efbb0983721462c7a704829c473d9747fda4728f0918] src/distributions/slice.rs (source notice 1)
  [60b302e19911888d62ded3a5b4046eaf884778d9423715c720ea42376979122f] src/distributions/uniform.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/distributions/utils.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/distributions/weighted.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/distributions/weighted_index.rs (source notice 1)
  [932e4ab34f8ee85390542105497ef60e6e73dab2c8883d6250f2d427ec6439e3] src/lib.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/prelude.rs (source notice 1)
  [932e4ab34f8ee85390542105497ef60e6e73dab2c8883d6250f2d427ec6439e3] src/rng.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/rngs/adapter/mod.rs (source notice 1)
  [b0c001ef4630f620cb39d1122a051616ca4e50355dd13b5be095f99287acba7d] src/rngs/adapter/read.rs (source notice 1)
  [b0c001ef4630f620cb39d1122a051616ca4e50355dd13b5be095f99287acba7d] src/rngs/adapter/reseeding.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/rngs/mock.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/rngs/mod.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/rngs/small.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/rngs/std.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/rngs/thread.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/rngs/xoshiro128plusplus.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/rngs/xoshiro256plusplus.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/seq/index.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/seq/mod.rs (source notice 1)

rand 0.9.5
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [90eb64f0279b0d9432accfa6023ff803bc4965212383697eee27a0f426d5f8d5] COPYRIGHT
  [35242e7a83f69875e6edeff02291e688c97caafe2f8902e4e19b49d3e78b4cab] LICENSE-APACHE
  [209fbbe0ad52d9235e37badf9cadfe4dbdc87203179c0899e738b39ade42177b] LICENSE-MIT
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/distr/bernoulli.rs (source notice 1)
  [932e4ab34f8ee85390542105497ef60e6e73dab2c8883d6250f2d427ec6439e3] src/distr/distribution.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/distr/float.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/distr/integer.rs (source notice 1)
  [932e4ab34f8ee85390542105497ef60e6e73dab2c8883d6250f2d427ec6439e3] src/distr/mod.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/distr/other.rs (source notice 1)
  [31763fd3a985beee0412efbb0983721462c7a704829c473d9747fda4728f0918] src/distr/slice.rs (source notice 1)
  [60b302e19911888d62ded3a5b4046eaf884778d9423715c720ea42376979122f] src/distr/uniform.rs (source notice 1)
  [60b302e19911888d62ded3a5b4046eaf884778d9423715c720ea42376979122f] src/distr/uniform_float.rs (source notice 1)
  [60b302e19911888d62ded3a5b4046eaf884778d9423715c720ea42376979122f] src/distr/uniform_int.rs (source notice 1)
  [60b302e19911888d62ded3a5b4046eaf884778d9423715c720ea42376979122f] src/distr/uniform_other.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/distr/utils.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/distr/weighted/mod.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/distr/weighted/weighted_index.rs (source notice 1)
  [932e4ab34f8ee85390542105497ef60e6e73dab2c8883d6250f2d427ec6439e3] src/lib.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/prelude.rs (source notice 1)
  [932e4ab34f8ee85390542105497ef60e6e73dab2c8883d6250f2d427ec6439e3] src/rng.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/rngs/mock.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/rngs/mod.rs (source notice 1)
  [b0c001ef4630f620cb39d1122a051616ca4e50355dd13b5be095f99287acba7d] src/rngs/reseeding.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/rngs/small.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/rngs/std.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/rngs/thread.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/rngs/xoshiro128plusplus.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/rngs/xoshiro256plusplus.rs (source notice 1)
  [013ee4297b48f004ac0710348121fd436812b99e83814a474c9b08a15ee0ac89] src/seq/coin_flipper.rs (source notice 1)
  [013ee4297b48f004ac0710348121fd436812b99e83814a474c9b08a15ee0ac89] src/seq/increasing_uniform.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/seq/index.rs (source notice 1)
  [e11508b3e7f6ff1d908d7b47b4a375d2a59b54ad71d067b092479d36e02c0587] src/seq/iterator.rs (source notice 1)
  [013ee4297b48f004ac0710348121fd436812b99e83814a474c9b08a15ee0ac89] src/seq/mod.rs (source notice 1)
  [013ee4297b48f004ac0710348121fd436812b99e83814a474c9b08a15ee0ac89] src/seq/slice.rs (source notice 1)

rand_chacha 0.3.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [90eb64f0279b0d9432accfa6023ff803bc4965212383697eee27a0f426d5f8d5] COPYRIGHT
  [aaff376532ea30a0cd5330b9502ad4a4c8bf769c539c87ffe78819d188a18ebf] LICENSE-APACHE
  [209fbbe0ad52d9235e37badf9cadfe4dbdc87203179c0899e738b39ade42177b] LICENSE-MIT
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/chacha.rs (source notice 1)
  [b38de021a085da9f83d9e8203ccc9e8cd0eafa2177c2d3822ca75ccf98eafb15] src/guts.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/lib.rs (source notice 1)

rand_chacha 0.9.0
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [90eb64f0279b0d9432accfa6023ff803bc4965212383697eee27a0f426d5f8d5] COPYRIGHT
  [35242e7a83f69875e6edeff02291e688c97caafe2f8902e4e19b49d3e78b4cab] LICENSE-APACHE
  [209fbbe0ad52d9235e37badf9cadfe4dbdc87203179c0899e738b39ade42177b] LICENSE-MIT
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/chacha.rs (source notice 1)
  [b38de021a085da9f83d9e8203ccc9e8cd0eafa2177c2d3822ca75ccf98eafb15] src/guts.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/lib.rs (source notice 1)

rand_core 0.10.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [92b81db30f7ab6d693e0af5661a40d273ca1947e891123ed823924192c10cbc7] COPYRIGHT
  [6df43f6f4b5d4587f3d8d71e45532c688fd168afa5fe89d571cb32fa09c4ef51] LICENSE-APACHE
  [8b6e9feec03e7c9a5facb26855cecd31662bf989b636bcfe79521bdf8ac863f0] LICENSE-MIT

rand_core 0.6.4
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [90eb64f0279b0d9432accfa6023ff803bc4965212383697eee27a0f426d5f8d5] COPYRIGHT
  [6df43f6f4b5d4587f3d8d71e45532c688fd168afa5fe89d571cb32fa09c4ef51] LICENSE-APACHE
  [209fbbe0ad52d9235e37badf9cadfe4dbdc87203179c0899e738b39ade42177b] LICENSE-MIT
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/block.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/error.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/impls.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/le.rs (source notice 1)
  [8ab841eafef4b22e2d39d38c7cd60c364e8b94457bafe272c09b579810c2119e] src/lib.rs (source notice 1)
  [dadaa9a06c3e61c96d8334be78855ab4c034ef21e773b1d8e1e4a36a68ebf51c] src/os.rs (source notice 1)

rand_core 0.9.5
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [90eb64f0279b0d9432accfa6023ff803bc4965212383697eee27a0f426d5f8d5] COPYRIGHT
  [6df43f6f4b5d4587f3d8d71e45532c688fd168afa5fe89d571cb32fa09c4ef51] LICENSE-APACHE
  [209fbbe0ad52d9235e37badf9cadfe4dbdc87203179c0899e738b39ade42177b] LICENSE-MIT
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/block.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/impls.rs (source notice 1)
  [804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0] src/le.rs (source notice 1)
  [8ab841eafef4b22e2d39d38c7cd60c364e8b94457bafe272c09b579810c2119e] src/lib.rs (source notice 1)
  [dadaa9a06c3e61c96d8334be78855ab4c034ef21e773b1d8e1e4a36a68ebf51c] src/os.rs (source notice 1)

ref-cast 1.0.27
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

ref-cast-impl 1.0.27
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

reqwest 0.13.5
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [751963a8b88c0e3a9f27e98933079fbcf09b9998b2c13ac49c2e4d58444520d6] LICENSE-APACHE
  [dd87e27dfbaa888cb77ea34592648a7743636b8dce07e49543bddda0fcfc73bc] LICENSE-MIT

ring 0.17.14
License declaration: Apache-2.0 AND ISC
Source: registry+https://github.com/rust-lang/crates.io-index
  [b3d734001a94efff3579978d953391aa7115f877657d25eb54037a43875d078a] LICENSE
  [005fc765ddc5115da796cca915baa9557abae13ff35e0a47c47affc56f6c414d] LICENSE-BoringSSL
  [f025ccfb7dfb6bdfedc75ca0f67acc69e6fb4998143d834f7c2f38a29989680f] LICENSE-other-bits
  [826f6e3ca197d28f0bb2901b0887912574bacc542aa1bfc764724814285511dc] build.rs (source notice 1)
  [c3604b5d1d2605a024cecbc4be213264269ee6dddf851d13ba64d935a919794e] crypto/chacha/asm/chacha-armv4.pl (source notice 1)
  [c3604b5d1d2605a024cecbc4be213264269ee6dddf851d13ba64d935a919794e] crypto/chacha/asm/chacha-armv8.pl (source notice 1)
  [c3604b5d1d2605a024cecbc4be213264269ee6dddf851d13ba64d935a919794e] crypto/chacha/asm/chacha-x86.pl (source notice 1)
  [c3604b5d1d2605a024cecbc4be213264269ee6dddf851d13ba64d935a919794e] crypto/chacha/asm/chacha-x86_64.pl (source notice 1)
  [41863446d81ba3f368de0b756e48ec463a85c90e877e1273f7c524cf8cd4cd99] crypto/cipher/asm/chacha20_poly1305_armv8.pl (source notice 1)
  [4e56fd993a0234253c26e7800e38e8dfee21acb0136fbd42820bce628def5177] crypto/cipher/asm/chacha20_poly1305_x86_64.pl (source notice 1)
  [0794c420cea59bf58084d3d65f56c5ad92b089bdd870684b253124c185a71f15] crypto/constant_time_test.c (source notice 1)
  [e5df1a1e4be22b4b24531ad846438cb23883f0c98bb97d35158a113a411c503e] crypto/cpu_intel.c (source notice 1)
  [388358f4a097d89594c39cc7b2cd475e517f6cb5f26216d81157bbf1c5dfca7d] crypto/crypto.c (source notice 1)
  [8ca246cb5c323120e25c3ff9a3f8fe4de715c71441add4353b34116a494edccd] crypto/curve25519/asm/x25519-asm-arm.S (source notice 1)
  [16256ab70fb55a0f1383aa505862651ead7e380d81a592d5496e5304d031b15b] crypto/curve25519/curve25519.c (source notice 1)
  [86c60ce1d1aad14ef0d9f1d6f056dc640ff9c030f91f627a50eef66728eed29b] crypto/curve25519/curve25519_64_adx.c (source notice 1)
  [16256ab70fb55a0f1383aa505862651ead7e380d81a592d5496e5304d031b15b] crypto/curve25519/curve25519_tables.h (source notice 1)
  [16256ab70fb55a0f1383aa505862651ead7e380d81a592d5496e5304d031b15b] crypto/curve25519/internal.h (source notice 1)
  [f7e8b07af5dbeb50435a8283b617a329028a042217132bde21658d8896bac6fd] crypto/fipsmodule/aes/aes_nohw.c (source notice 1)
  [8c845e77a4c258cf14f96b6a9ce4a0f077a20de8f2fbdb7147338433facae9a5] crypto/fipsmodule/aes/asm/aes-gcm-avx2-x86_64.pl (source notice 1)
  [50491f534421efd7193da8abfe927e3730d8e33248cb67d94bce44f9f66c37b9] crypto/fipsmodule/aes/asm/aesni-gcm-x86_64.pl (source notice 1)
  [49032c237b1d0370051de3efefcbe5d5b71454aa7897c66b343f9d291b843465] crypto/fipsmodule/aes/asm/aesni-x86.pl (source notice 1)
  [49032c237b1d0370051de3efefcbe5d5b71454aa7897c66b343f9d291b843465] crypto/fipsmodule/aes/asm/aesni-x86_64.pl (source notice 1)
  [2824581953fef33e7529e87d5b56039df708332cd971b2194020fa1fbf357b6b] crypto/fipsmodule/aes/asm/aesv8-armx.pl (source notice 1)
  [3428b11ae8b98b710ca5afbb691e9285762fa4043c8cbccc37ff19c93a1b7be2] crypto/fipsmodule/aes/asm/aesv8-gcm-armv8.pl (source notice 1)
  [9c209b766f463d43b1f4fcacf266e7807e973b2e7719afa29de133db1244d8e3] crypto/fipsmodule/aes/asm/bsaes-armv7.pl (source notice 1)
  [df740d781d88d1d541b6f0cae23cb279840ee60f106ebffcd8be18b042ac39b5] crypto/fipsmodule/aes/asm/ghash-armv4.pl (source notice 1)
  [328228f5b32e22467a699ec92ca3b87322e2ddee4d1574fcb234c2bc4b7795ce] crypto/fipsmodule/aes/asm/ghash-neon-armv8.pl (source notice 1)
  [328228f5b32e22467a699ec92ca3b87322e2ddee4d1574fcb234c2bc4b7795ce] crypto/fipsmodule/aes/asm/ghash-x86.pl (source notice 1)
  [328228f5b32e22467a699ec92ca3b87322e2ddee4d1574fcb234c2bc4b7795ce] crypto/fipsmodule/aes/asm/ghash-x86_64.pl (source notice 1)
  [c449c76fdd06c7552daff1e3c845e0ecd01c0ec4251e361cb82970bc7f19b58e] crypto/fipsmodule/aes/asm/ghashv8-armx.pl (source notice 1)
  [e8f9f0245cb25739da34251afe4411e3345cef45b31170975566f7d1a0313f9a] crypto/fipsmodule/aes/asm/vpaes-armv7.pl (source notice 1)
  [e8f9f0245cb25739da34251afe4411e3345cef45b31170975566f7d1a0313f9a] crypto/fipsmodule/aes/asm/vpaes-armv8.pl (source notice 1)
  [a98a833c8cffcc1173979ce879df0ae91cd59e60c5520fa6b4949da83674f221] crypto/fipsmodule/aes/asm/vpaes-x86.pl (source notice 1)
  [a98a833c8cffcc1173979ce879df0ae91cd59e60c5520fa6b4949da83674f221] crypto/fipsmodule/aes/asm/vpaes-x86_64.pl (source notice 1)
  [3ef15f79d7863560863fd4c6d14ff2597ca34d83a01100b1d1b4f67ca1f2619d] crypto/fipsmodule/bn/asm/armv4-mont.pl (source notice 1)
  [e8f9f0245cb25739da34251afe4411e3345cef45b31170975566f7d1a0313f9a] crypto/fipsmodule/bn/asm/armv8-mont.pl (source notice 1)
  [a5efec22ee5be68230f1c46656f41db4709d34d8f2f8c3b2a40ee5daa29d15a1] crypto/fipsmodule/bn/asm/x86-mont.pl (source notice 1)
  [a5efec22ee5be68230f1c46656f41db4709d34d8f2f8c3b2a40ee5daa29d15a1] crypto/fipsmodule/bn/asm/x86_64-mont.pl (source notice 1)
  [a98a833c8cffcc1173979ce879df0ae91cd59e60c5520fa6b4949da83674f221] crypto/fipsmodule/bn/asm/x86_64-mont5.pl (source notice 1)
  [f126e3944c1566ef9983c6813f8fad671750e36edc82d409eb517832541a3b5a] crypto/fipsmodule/bn/internal.h (source notice 1)
  [e5df1a1e4be22b4b24531ad846438cb23883f0c98bb97d35158a113a411c503e] crypto/fipsmodule/bn/montgomery.c (source notice 1)
  [82351809670eeb513c66903839555074cb6b86ab9049f399155aa9d2e96e502c] crypto/fipsmodule/bn/montgomery_inv.c (source notice 1)
  [14ce24564a6171d756bd04345bba2ec40b8f028a7e943448cffb26b3409d6f75] crypto/fipsmodule/ec/asm/p256-armv8-asm.pl (source notice 1)
  [3b7977afcd364d23a237b28c22c087e3eb09f74916bb018ac4b094abdac0af52] crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl (source notice 1)
  [a17cb5362d8fb958f29dfa2d7e9764b75672523acca6421b57678400305d58d0] crypto/fipsmodule/ec/ecp_nistz.c (source notice 1)
  [5dd6bae8b7ee15b1234a4ec7c01d9413e050cb1102e52e4ccae8de26ef63e2aa] crypto/fipsmodule/ec/ecp_nistz.h (source notice 1)
  [a17cb5362d8fb958f29dfa2d7e9764b75672523acca6421b57678400305d58d0] crypto/fipsmodule/ec/ecp_nistz384.h (source notice 1)
  [82351809670eeb513c66903839555074cb6b86ab9049f399155aa9d2e96e502c] crypto/fipsmodule/ec/gfp_p256.c (source notice 1)
  [82351809670eeb513c66903839555074cb6b86ab9049f399155aa9d2e96e502c] crypto/fipsmodule/ec/gfp_p384.c (source notice 1)
  [b1f9a46d45c17233cc3d906e02190b567d28cc0dd410ce89ea762d9fb7cb22eb] crypto/fipsmodule/ec/p256-nistz-table.h (source notice 1)
  [696cc66cf72629283bd8169f2f1f57761347846fbf4713d38359c36faee431a0] crypto/fipsmodule/ec/p256-nistz.c (source notice 1)
  [696cc66cf72629283bd8169f2f1f57761347846fbf4713d38359c36faee431a0] crypto/fipsmodule/ec/p256-nistz.h (source notice 1)
  [16256ab70fb55a0f1383aa505862651ead7e380d81a592d5496e5304d031b15b] crypto/fipsmodule/ec/p256.c (source notice 1)
  [696cc66cf72629283bd8169f2f1f57761347846fbf4713d38359c36faee431a0] crypto/fipsmodule/ec/p256_shared.h (source notice 1)
  [16256ab70fb55a0f1383aa505862651ead7e380d81a592d5496e5304d031b15b] crypto/fipsmodule/ec/p256_table.h (source notice 1)
  [8ca246cb5c323120e25c3ff9a3f8fe4de715c71441add4353b34116a494edccd] crypto/fipsmodule/ec/util.h (source notice 1)
  [3ef15f79d7863560863fd4c6d14ff2597ca34d83a01100b1d1b4f67ca1f2619d] crypto/fipsmodule/sha/asm/sha256-armv4.pl (source notice 1)
  [3ef15f79d7863560863fd4c6d14ff2597ca34d83a01100b1d1b4f67ca1f2619d] crypto/fipsmodule/sha/asm/sha512-armv4.pl (source notice 1)
  [c449c76fdd06c7552daff1e3c845e0ecd01c0ec4251e361cb82970bc7f19b58e] crypto/fipsmodule/sha/asm/sha512-armv8.pl (source notice 1)
  [a5efec22ee5be68230f1c46656f41db4709d34d8f2f8c3b2a40ee5daa29d15a1] crypto/fipsmodule/sha/asm/sha512-x86_64.pl (source notice 1)
  [e5df1a1e4be22b4b24531ad846438cb23883f0c98bb97d35158a113a411c503e] crypto/internal.h (source notice 1)
  [025964b32a1f78d01558ec7800a3fde18acef43427d35641a22bba705d699f2d] crypto/limbs/limbs.c (source notice 1)
  [82351809670eeb513c66903839555074cb6b86ab9049f399155aa9d2e96e502c] crypto/limbs/limbs.h (source notice 1)
  [e5df1a1e4be22b4b24531ad846438cb23883f0c98bb97d35158a113a411c503e] crypto/mem.c (source notice 1)
  [e8f9f0245cb25739da34251afe4411e3345cef45b31170975566f7d1a0313f9a] crypto/perlasm/arm-xlate.pl (source notice 1)
  [a5efec22ee5be68230f1c46656f41db4709d34d8f2f8c3b2a40ee5daa29d15a1] crypto/perlasm/x86_64-xlate.pl (source notice 1)
  [b939fda2ca991168686cee066b3b0c3b88a3fb3c0f6c87e445a44c88d6ca24a7] crypto/perlasm/x86asm.pl (source notice 1)
  [3ef15f79d7863560863fd4c6d14ff2597ca34d83a01100b1d1b4f67ca1f2619d] crypto/perlasm/x86gas.pl (source notice 1)
  [bd63cf39ad5653167c25c869a2d4ca71dd5ff4964bbf3cb276aa9f3b8790253f] crypto/perlasm/x86nasm.pl (source notice 1)
  [b80997a7d3a33238042d837d63ea58e4dd868893d1e05598f6b7222ac23aaf0d] crypto/poly1305/poly1305.c (source notice 1)
  [b80997a7d3a33238042d837d63ea58e4dd868893d1e05598f6b7222ac23aaf0d] crypto/poly1305/poly1305_arm.c (source notice 1)
  [0a3a2968deee45bfbddf2bb9e7fdfee965ac86cd687af9c150a242944ae62e80] include/ring-core/aes.h (source notice 1)
  [86c60ce1d1aad14ef0d9f1d6f056dc640ff9c030f91f627a50eef66728eed29b] include/ring-core/asm_base.h (source notice 1)
  [a1f9499b1e8806e42ddfe0f6d94cd584127169aef60c3c3d4788f17ff7451ba0] include/ring-core/base.h (source notice 1)
  [99a07315c47a6c27e677a2a47e357217e12acabb89177deadae9e141696e7195] include/ring-core/check.h (source notice 1)
  [e5df1a1e4be22b4b24531ad846438cb23883f0c98bb97d35158a113a411c503e] include/ring-core/mem.h (source notice 1)
  [86c60ce1d1aad14ef0d9f1d6f056dc640ff9c030f91f627a50eef66728eed29b] include/ring-core/target.h (source notice 1)
  [2a4d2dcf0ea50fd3ee028c9b816dca5fedc8718e23d5d67735f8d21fb8637856] include/ring-core/type_check.h (source notice 1)
  [237e22bccd2a90c3305dceb0f4d9bcf79710c176f51390a87f725653f43b8d63] src/aead.rs (source notice 1)
  [6a45aec599a0e0c783330dbce968ffcf3967e085ef7374c4f168e9cb420c80d4] src/aead/aes.rs (source notice 1)
  [6a45aec599a0e0c783330dbce968ffcf3967e085ef7374c4f168e9cb420c80d4] src/aead/aes/bs.rs (source notice 1)
  [6a45aec599a0e0c783330dbce968ffcf3967e085ef7374c4f168e9cb420c80d4] src/aead/aes/fallback.rs (source notice 1)
  [6a45aec599a0e0c783330dbce968ffcf3967e085ef7374c4f168e9cb420c80d4] src/aead/aes/ffi.rs (source notice 1)
  [6a45aec599a0e0c783330dbce968ffcf3967e085ef7374c4f168e9cb420c80d4] src/aead/aes/hw.rs (source notice 1)
  [6a45aec599a0e0c783330dbce968ffcf3967e085ef7374c4f168e9cb420c80d4] src/aead/aes/vp.rs (source notice 1)
  [72048c66c621b211f6c0dfde2e164c601b2b0423fe4d0916bb3b3c37c9eaef2c] src/aead/aes_gcm.rs (source notice 1)
  [72048c66c621b211f6c0dfde2e164c601b2b0423fe4d0916bb3b3c37c9eaef2c] src/aead/aes_gcm/aarch64.rs (source notice 1)
  [72048c66c621b211f6c0dfde2e164c601b2b0423fe4d0916bb3b3c37c9eaef2c] src/aead/aes_gcm/aeshwclmulmovbe.rs (source notice 1)
  [72048c66c621b211f6c0dfde2e164c601b2b0423fe4d0916bb3b3c37c9eaef2c] src/aead/aes_gcm/vaesclmulavx2.rs (source notice 1)
  [b3cb162f8b1889e37cb10b9bdbe6e4bc935be4e179b21a32ec204daff74dd66e] src/aead/algorithm.rs (source notice 1)
  [0ad1a3cc7a7d9e92db1a9d7c021dbf0b99a723576f6690c4001654a2f588d8f0] src/aead/chacha.rs (source notice 1)
  [febed558a6be507d6a0a1644a4aeb21d6adbe39f5384a3f51d6e4087c64a933f] src/aead/chacha/fallback.rs (source notice 1)
  [d1c3e8595b158c804dda9bac18d076f2e2dcccf5fbd8dde63e530a9d2642cc06] src/aead/chacha/ffi.rs (source notice 1)
  [72048c66c621b211f6c0dfde2e164c601b2b0423fe4d0916bb3b3c37c9eaef2c] src/aead/chacha20_poly1305/integrated.rs (source notice 1)
  [72048c66c621b211f6c0dfde2e164c601b2b0423fe4d0916bb3b3c37c9eaef2c] src/aead/chacha20_poly1305/mod.rs (source notice 1)
  [19150b0a6365ccc80859157a2b9e6603efb5bdbaafd845b2384710e0fe567436] src/aead/chacha20_poly1305_openssh.rs (source notice 1)
  [6a45aec599a0e0c783330dbce968ffcf3967e085ef7374c4f168e9cb420c80d4] src/aead/gcm.rs (source notice 1)
  [6a45aec599a0e0c783330dbce968ffcf3967e085ef7374c4f168e9cb420c80d4] src/aead/gcm/clmul.rs (source notice 1)
  [6a45aec599a0e0c783330dbce968ffcf3967e085ef7374c4f168e9cb420c80d4] src/aead/gcm/clmulavxmovbe.rs (source notice 1)
  [da3826979b38e1936c454677d8c435e56f6ec301ce82741382a53e0c10de1ef7] src/aead/gcm/fallback.rs (source notice 1)
  [c0dd6d7b3309fa831a1aeabae2e45420d06750ed1d5f97e8d4f6021626060ed0] src/aead/gcm/ffi.rs (source notice 1)
  [6a45aec599a0e0c783330dbce968ffcf3967e085ef7374c4f168e9cb420c80d4] src/aead/gcm/neon.rs (source notice 1)
  [e506ebbdf1bcb57746db792b868f8b523c464637059e80d402497f2643310b0f] src/aead/gcm/vclmulavx2.rs (source notice 1)
  [b3cb162f8b1889e37cb10b9bdbe6e4bc935be4e179b21a32ec204daff74dd66e] src/aead/less_safe_key.rs (source notice 1)
  [c0dd6d7b3309fa831a1aeabae2e45420d06750ed1d5f97e8d4f6021626060ed0] src/aead/nonce.rs (source notice 1)
  [b3cb162f8b1889e37cb10b9bdbe6e4bc935be4e179b21a32ec204daff74dd66e] src/aead/opening_key.rs (source notice 1)
  [bddecf3d73f993501ad38d56b85ebcf967d389d2c35c6c15bf1557a499baa0cc] src/aead/overlapping/array.rs (source notice 1)
  [bddecf3d73f993501ad38d56b85ebcf967d389d2c35c6c15bf1557a499baa0cc] src/aead/overlapping/base.rs (source notice 1)
  [bddecf3d73f993501ad38d56b85ebcf967d389d2c35c6c15bf1557a499baa0cc] src/aead/overlapping/mod.rs (source notice 1)
  [bddecf3d73f993501ad38d56b85ebcf967d389d2c35c6c15bf1557a499baa0cc] src/aead/overlapping/partial_block.rs (source notice 1)
  [72048c66c621b211f6c0dfde2e164c601b2b0423fe4d0916bb3b3c37c9eaef2c] src/aead/poly1305.rs (source notice 1)
  [2f2f4afce114b8a1b3c1d14a18eeb841fe5803dc553cfda3254bc0eb90e2293b] src/aead/poly1305/ffi_arm_neon.rs (source notice 1)
  [2f2f4afce114b8a1b3c1d14a18eeb841fe5803dc553cfda3254bc0eb90e2293b] src/aead/poly1305/ffi_fallback.rs (source notice 1)
  [c0dd6d7b3309fa831a1aeabae2e45420d06750ed1d5f97e8d4f6021626060ed0] src/aead/quic.rs (source notice 1)
  [b3cb162f8b1889e37cb10b9bdbe6e4bc935be4e179b21a32ec204daff74dd66e] src/aead/sealing_key.rs (source notice 1)
  [c0dd6d7b3309fa831a1aeabae2e45420d06750ed1d5f97e8d4f6021626060ed0] src/aead/shift.rs (source notice 1)
  [b3cb162f8b1889e37cb10b9bdbe6e4bc935be4e179b21a32ec204daff74dd66e] src/aead/unbound_key.rs (source notice 1)
  [7f5ad230d8156d356ddde6fc7da616155c3a22390a4f36edb81e0995990ecf19] src/agreement.rs (source notice 1)
  [1e84d94cf2609b964e7a1a8118c40ff5fac131e75f1e44290c86bfe80c2ae22f] src/arithmetic.rs (source notice 1)
  [fea1e7957d9e391d2f48d8a875807b136d7fc00144249e7e3ba41e73c8218f72] src/arithmetic/bigint.rs (source notice 1)
  [fea1e7957d9e391d2f48d8a875807b136d7fc00144249e7e3ba41e73c8218f72] src/arithmetic/bigint/boxed_limbs.rs (source notice 1)
  [237e22bccd2a90c3305dceb0f4d9bcf79710c176f51390a87f725653f43b8d63] src/arithmetic/bigint/modulus.rs (source notice 1)
  [237e22bccd2a90c3305dceb0f4d9bcf79710c176f51390a87f725653f43b8d63] src/arithmetic/bigint/modulusvalue.rs (source notice 1)
  [fea1e7957d9e391d2f48d8a875807b136d7fc00144249e7e3ba41e73c8218f72] src/arithmetic/bigint/private_exponent.rs (source notice 1)
  [81bdb0e7c0426a845a01b30cb149984faca6f332e13641403de7f2acc4515e39] src/arithmetic/ffi.rs (source notice 1)
  [9516efec29bcdaaf2e31549fddd0ec52cf5d91c9bfa96702fb0d666f6d8d8f5a] src/arithmetic/inout.rs (source notice 1)
  [9516efec29bcdaaf2e31549fddd0ec52cf5d91c9bfa96702fb0d666f6d8d8f5a] src/arithmetic/limbs/aarch64/mod.rs (source notice 1)
  [9516efec29bcdaaf2e31549fddd0ec52cf5d91c9bfa96702fb0d666f6d8d8f5a] src/arithmetic/limbs/aarch64/mont.rs (source notice 1)
  [9516efec29bcdaaf2e31549fddd0ec52cf5d91c9bfa96702fb0d666f6d8d8f5a] src/arithmetic/limbs/mod.rs (source notice 1)
  [9516efec29bcdaaf2e31549fddd0ec52cf5d91c9bfa96702fb0d666f6d8d8f5a] src/arithmetic/limbs/x86_64/mod.rs (source notice 1)
  [72048c66c621b211f6c0dfde2e164c601b2b0423fe4d0916bb3b3c37c9eaef2c] src/arithmetic/limbs/x86_64/mont.rs (source notice 1)
  [9516efec29bcdaaf2e31549fddd0ec52cf5d91c9bfa96702fb0d666f6d8d8f5a] src/arithmetic/limbs512/mod.rs (source notice 1)
  [9516efec29bcdaaf2e31549fddd0ec52cf5d91c9bfa96702fb0d666f6d8d8f5a] src/arithmetic/limbs512/storage.rs (source notice 1)
  [77e2f0aee6927969cdb1b5b7bd894539728127b364515d4981f01ac990359f9e] src/arithmetic/montgomery.rs (source notice 1)
  [38a6ec7a22e71a78f91d9b785a3657f1b119beb8bd8b0e04df316b1880ca62d2] src/arithmetic/n0.rs (source notice 1)
  [bddecf3d73f993501ad38d56b85ebcf967d389d2c35c6c15bf1557a499baa0cc] src/bb/boolmask.rs (source notice 1)
  [237e22bccd2a90c3305dceb0f4d9bcf79710c176f51390a87f725653f43b8d63] src/bb/leaky.rs (source notice 1)
  [72048c66c621b211f6c0dfde2e164c601b2b0423fe4d0916bb3b3c37c9eaef2c] src/bb/mod.rs (source notice 1)
  [237e22bccd2a90c3305dceb0f4d9bcf79710c176f51390a87f725653f43b8d63] src/bb/word.rs (source notice 1)
  [19150b0a6365ccc80859157a2b9e6603efb5bdbaafd845b2384710e0fe567436] src/bits.rs (source notice 1)
  [dfb17ab986e447f02bce4df5a83543ac374ee5306e170ea79d9b6abb47652720] src/bssl.rs (source notice 1)
  [4a42f2ce6a381bc99573c7bb3402bfc2a6ae999428ec28695e825fd20ff985c5] src/c.rs (source notice 1)
  [19150b0a6365ccc80859157a2b9e6603efb5bdbaafd845b2384710e0fe567436] src/cpu.rs (source notice 1)
  [a1de28dd15d492d04a589bd24d738a78e6ff86b7100017c23961a2f3b2693132] src/cpu/arm.rs (source notice 1)
  [a1de28dd15d492d04a589bd24d738a78e6ff86b7100017c23961a2f3b2693132] src/cpu/arm/darwin.rs (source notice 1)
  [a1de28dd15d492d04a589bd24d738a78e6ff86b7100017c23961a2f3b2693132] src/cpu/arm/fuchsia.rs (source notice 1)
  [a1de28dd15d492d04a589bd24d738a78e6ff86b7100017c23961a2f3b2693132] src/cpu/arm/linux.rs (source notice 1)
  [a1de28dd15d492d04a589bd24d738a78e6ff86b7100017c23961a2f3b2693132] src/cpu/arm/windows.rs (source notice 1)
  [330113b2198c4da8fda6cb1b723a4bf177d7d471e1954c3f786e0cc3815520db] src/cpu/intel.rs (source notice 1)
  [a264e6ecbb96738bd7385067768eecae76843dad219a8f5549bf4327a085d9b7] src/debug.rs (source notice 1)
  [72048c66c621b211f6c0dfde2e164c601b2b0423fe4d0916bb3b3c37c9eaef2c] src/deprecated_constant_time.rs (source notice 1)
  [9516efec29bcdaaf2e31549fddd0ec52cf5d91c9bfa96702fb0d666f6d8d8f5a] src/deprecated_test.rs (source notice 1)
  [e6be49f5608cf90f6b17ca48506967b7cd2ac6a1afafd16891395ea7eb35025a] src/digest.rs (source notice 1)
  [e6be49f5608cf90f6b17ca48506967b7cd2ac6a1afafd16891395ea7eb35025a] src/digest/dynstate.rs (source notice 1)
  [17c1e9bd9a6e4c153fb9d4799c782ec3c73209badd370ba6af6cc013bd7aa428] src/digest/sha1.rs (source notice 1)
  [def0956b3c24824a62c8f8f6b31f0d5ecf13a82ddfb4a14fca4b9292c62c09cc] src/digest/sha2/fallback.rs (source notice 1)
  [bddecf3d73f993501ad38d56b85ebcf967d389d2c35c6c15bf1557a499baa0cc] src/digest/sha2/ffi.rs (source notice 1)
  [571a10f8047a0fb1fd161d04896dfca6373bf8d0606ea49a948ad252f37d5aa0] src/digest/sha2/mod.rs (source notice 1)
  [bddecf3d73f993501ad38d56b85ebcf967d389d2c35c6c15bf1557a499baa0cc] src/digest/sha2/sha2_32.rs (source notice 1)
  [bddecf3d73f993501ad38d56b85ebcf967d389d2c35c6c15bf1557a499baa0cc] src/digest/sha2/sha2_64.rs (source notice 1)
  [7f5ad230d8156d356ddde6fc7da616155c3a22390a4f36edb81e0995990ecf19] src/ec.rs (source notice 1)
  [19150b0a6365ccc80859157a2b9e6603efb5bdbaafd845b2384710e0fe567436] src/ec/curve25519.rs (source notice 1)
  [826f6e3ca197d28f0bb2901b0887912574bacc542aa1bfc764724814285511dc] src/ec/curve25519/ed25519.rs (source notice 1)
  [826f6e3ca197d28f0bb2901b0887912574bacc542aa1bfc764724814285511dc] src/ec/curve25519/ed25519/signing.rs (source notice 1)
  [826f6e3ca197d28f0bb2901b0887912574bacc542aa1bfc764724814285511dc] src/ec/curve25519/ed25519/verification.rs (source notice 1)
  [7f5ad230d8156d356ddde6fc7da616155c3a22390a4f36edb81e0995990ecf19] src/ec/curve25519/ops.rs (source notice 1)
  [e6be49f5608cf90f6b17ca48506967b7cd2ac6a1afafd16891395ea7eb35025a] src/ec/curve25519/scalar.rs (source notice 1)
  [826f6e3ca197d28f0bb2901b0887912574bacc542aa1bfc764724814285511dc] src/ec/curve25519/x25519.rs (source notice 1)
  [19150b0a6365ccc80859157a2b9e6603efb5bdbaafd845b2384710e0fe567436] src/ec/suite_b.rs (source notice 1)
  [7f5ad230d8156d356ddde6fc7da616155c3a22390a4f36edb81e0995990ecf19] src/ec/suite_b/curve.rs (source notice 1)
  [7f5ad230d8156d356ddde6fc7da616155c3a22390a4f36edb81e0995990ecf19] src/ec/suite_b/ecdh.rs (source notice 1)
  [826f6e3ca197d28f0bb2901b0887912574bacc542aa1bfc764724814285511dc] src/ec/suite_b/ecdsa/digest_scalar.rs (source notice 1)
  [826f6e3ca197d28f0bb2901b0887912574bacc542aa1bfc764724814285511dc] src/ec/suite_b/ecdsa/signing.rs (source notice 1)
  [826f6e3ca197d28f0bb2901b0887912574bacc542aa1bfc764724814285511dc] src/ec/suite_b/ecdsa/verification.rs (source notice 1)
  [19150b0a6365ccc80859157a2b9e6603efb5bdbaafd845b2384710e0fe567436] src/ec/suite_b/ops.rs (source notice 1)
  [b513b7bc1a6844fa2a27e39d42c2bf2f49e142c9afe928ac458c2203528d0b6a] src/ec/suite_b/ops/elem.rs (source notice 1)
  [1992bdfcc167bcc2e41a493b905b4fdf05ae4be32350ebe0ab0f5aa925596162] src/ec/suite_b/ops/p256.rs (source notice 1)
  [1992bdfcc167bcc2e41a493b905b4fdf05ae4be32350ebe0ab0f5aa925596162] src/ec/suite_b/ops/p384.rs (source notice 1)
  [19150b0a6365ccc80859157a2b9e6603efb5bdbaafd845b2384710e0fe567436] src/ec/suite_b/private_key.rs (source notice 1)
  [19150b0a6365ccc80859157a2b9e6603efb5bdbaafd845b2384710e0fe567436] src/ec/suite_b/public_key.rs (source notice 1)
  [bddecf3d73f993501ad38d56b85ebcf967d389d2c35c6c15bf1557a499baa0cc] src/error/input_too_long.rs (source notice 1)
  [a1de28dd15d492d04a589bd24d738a78e6ff86b7100017c23961a2f3b2693132] src/error/into_unspecified.rs (source notice 1)
  [a1de28dd15d492d04a589bd24d738a78e6ff86b7100017c23961a2f3b2693132] src/error/key_rejected.rs (source notice 1)
  [a1de28dd15d492d04a589bd24d738a78e6ff86b7100017c23961a2f3b2693132] src/error/mod.rs (source notice 1)
  [a1de28dd15d492d04a589bd24d738a78e6ff86b7100017c23961a2f3b2693132] src/error/unspecified.rs (source notice 1)
  [dfb17ab986e447f02bce4df5a83543ac374ee5306e170ea79d9b6abb47652720] src/hkdf.rs (source notice 1)
  [826f6e3ca197d28f0bb2901b0887912574bacc542aa1bfc764724814285511dc] src/hmac.rs (source notice 1)
  [c0dd6d7b3309fa831a1aeabae2e45420d06750ed1d5f97e8d4f6021626060ed0] src/io.rs (source notice 1)
  [dfb17ab986e447f02bce4df5a83543ac374ee5306e170ea79d9b6abb47652720] src/io/der.rs (source notice 1)
  [c0dd6d7b3309fa831a1aeabae2e45420d06750ed1d5f97e8d4f6021626060ed0] src/io/der_writer.rs (source notice 1)
  [c0dd6d7b3309fa831a1aeabae2e45420d06750ed1d5f97e8d4f6021626060ed0] src/io/positive.rs (source notice 1)
  [c0dd6d7b3309fa831a1aeabae2e45420d06750ed1d5f97e8d4f6021626060ed0] src/io/writer.rs (source notice 1)
  [826f6e3ca197d28f0bb2901b0887912574bacc542aa1bfc764724814285511dc] src/lib.rs (source notice 1)
  [ee0af6ac0629846be4aeaccce432c35b254cde9eb1819467e9bb3023ff5e8d21] src/limb.rs (source notice 1)
  [dfb17ab986e447f02bce4df5a83543ac374ee5306e170ea79d9b6abb47652720] src/pbkdf2.rs (source notice 1)
  [b513b7bc1a6844fa2a27e39d42c2bf2f49e142c9afe928ac458c2203528d0b6a] src/pkcs8.rs (source notice 1)
  [826f6e3ca197d28f0bb2901b0887912574bacc542aa1bfc764724814285511dc] src/polyfill.rs (source notice 1)
  [cf5e6bf5152921c93919cdaa7555a65b6f2ffda8018f44b5655c1d5fead36a51] src/polyfill/array_split_map.rs (source notice 1)
  [bddecf3d73f993501ad38d56b85ebcf967d389d2c35c6c15bf1557a499baa0cc] src/polyfill/cold_error.rs (source notice 1)
  [bddecf3d73f993501ad38d56b85ebcf967d389d2c35c6c15bf1557a499baa0cc] src/polyfill/cstr.rs (source notice 1)
  [bddecf3d73f993501ad38d56b85ebcf967d389d2c35c6c15bf1557a499baa0cc] src/polyfill/notsend.rs (source notice 1)
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] src/polyfill/once_cell/LICENSE-APACHE
  [6ee2ed6c77710de911761acd5fc1ad1da00f476beb1a7ef27e78c2d1858deafc] src/polyfill/once_cell/LICENSE-MIT
  [bddecf3d73f993501ad38d56b85ebcf967d389d2c35c6c15bf1557a499baa0cc] src/polyfill/ptr.rs (source notice 1)
  [a8040aa6ad623505276a81cf93128024eb4f8e5411b78b15c68a43ba3290295d] src/polyfill/slice.rs (source notice 1)
  [9516efec29bcdaaf2e31549fddd0ec52cf5d91c9bfa96702fb0d666f6d8d8f5a] src/polyfill/slice/as_chunks.rs (source notice 1)
  [9516efec29bcdaaf2e31549fddd0ec52cf5d91c9bfa96702fb0d666f6d8d8f5a] src/polyfill/slice/as_chunks_mut.rs (source notice 1)
  [bddecf3d73f993501ad38d56b85ebcf967d389d2c35c6c15bf1557a499baa0cc] src/polyfill/sliceutil.rs (source notice 1)
  [514793d77703272686d8a5d6fd1f8276c1fbeae542b55bd57456fd71f3f75f4c] src/polyfill/unwrap_const.rs (source notice 1)
  [826f6e3ca197d28f0bb2901b0887912574bacc542aa1bfc764724814285511dc] src/rand.rs (source notice 1)
  [826f6e3ca197d28f0bb2901b0887912574bacc542aa1bfc764724814285511dc] src/rsa.rs (source notice 1)
  [826f6e3ca197d28f0bb2901b0887912574bacc542aa1bfc764724814285511dc] src/rsa/keypair.rs (source notice 1)
  [826f6e3ca197d28f0bb2901b0887912574bacc542aa1bfc764724814285511dc] src/rsa/padding.rs (source notice 1)
  [826f6e3ca197d28f0bb2901b0887912574bacc542aa1bfc764724814285511dc] src/rsa/padding/pkcs1.rs (source notice 1)
  [826f6e3ca197d28f0bb2901b0887912574bacc542aa1bfc764724814285511dc] src/rsa/padding/pss.rs (source notice 1)
  [b3cb162f8b1889e37cb10b9bdbe6e4bc935be4e179b21a32ec204daff74dd66e] src/rsa/public_key.rs (source notice 1)
  [b3cb162f8b1889e37cb10b9bdbe6e4bc935be4e179b21a32ec204daff74dd66e] src/rsa/public_key_components.rs (source notice 1)
  [826f6e3ca197d28f0bb2901b0887912574bacc542aa1bfc764724814285511dc] src/rsa/verification.rs (source notice 1)
  [7f5ad230d8156d356ddde6fc7da616155c3a22390a4f36edb81e0995990ecf19] src/signature.rs (source notice 1)
  [bddecf3d73f993501ad38d56b85ebcf967d389d2c35c6c15bf1557a499baa0cc] src/tests/bits_tests.rs (source notice 1)
  [bddecf3d73f993501ad38d56b85ebcf967d389d2c35c6c15bf1557a499baa0cc] src/tests/mod.rs (source notice 1)
  [826f6e3ca197d28f0bb2901b0887912574bacc542aa1bfc764724814285511dc] src/testutil.rs (source notice 1)
  [b3cb162f8b1889e37cb10b9bdbe6e4bc935be4e179b21a32ec204daff74dd66e] tests/aead_tests.rs (source notice 1)
  [7f5ad230d8156d356ddde6fc7da616155c3a22390a4f36edb81e0995990ecf19] tests/agreement_tests.rs (source notice 1)
  [99a07315c47a6c27e677a2a47e357217e12acabb89177deadae9e141696e7195] tests/constant_time_tests.rs (source notice 1)
  [7f5ad230d8156d356ddde6fc7da616155c3a22390a4f36edb81e0995990ecf19] tests/digest_tests.rs (source notice 1)
  [826f6e3ca197d28f0bb2901b0887912574bacc542aa1bfc764724814285511dc] tests/ecdsa_tests.rs (source notice 1)
  [7f5ad230d8156d356ddde6fc7da616155c3a22390a4f36edb81e0995990ecf19] tests/ed25519_tests.rs (source notice 1)
  [dfb17ab986e447f02bce4df5a83543ac374ee5306e170ea79d9b6abb47652720] tests/hkdf_tests.rs (source notice 1)
  [826f6e3ca197d28f0bb2901b0887912574bacc542aa1bfc764724814285511dc] tests/hmac_tests.rs (source notice 1)
  [7f5ad230d8156d356ddde6fc7da616155c3a22390a4f36edb81e0995990ecf19] tests/pbkdf2_tests.rs (source notice 1)
  [c0dd6d7b3309fa831a1aeabae2e45420d06750ed1d5f97e8d4f6021626060ed0] tests/quic_tests.rs (source notice 1)
  [e6be49f5608cf90f6b17ca48506967b7cd2ac6a1afafd16891395ea7eb35025a] tests/rand_tests.rs (source notice 1)
  [b513b7bc1a6844fa2a27e39d42c2bf2f49e142c9afe928ac458c2203528d0b6a] tests/rsa_tests.rs (source notice 1)
  [9eacbcb81be660840c714a560a9d65ba07913db98dd4baf969f78dd499fdd60f] third_party/fiat/LICENSE

rust_decimal 1.43.0
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [f8218253704e32441cafea1b9b3bcb2c6a3c51c5553cd8513d179290202bccb2] LICENSE

rustc_version 0.4.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [c9a75f18b9ab2927829a208fc6aa2cf4e63b8420887ba29cdb265d6619ae82d5] LICENSE-MIT
  [c09395beab9eb2491d0e36a969f9fe84c4ad47010acf3e8e089117fe3df9592c] src/lib.rs (source notice 1)

rustls 0.23.46
License declaration: Apache-2.0 OR ISC OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [7cfafc877eccc46c0e346ccbaa5c51bb6b894d2b818e617d970211e232785ad4] LICENSE-ISC
  [709e3175b4212f7b13aa93971c9f62ff8c69ec45ad8c6532a7e0c41d7a7d6f8c] LICENSE-MIT

rustls-native-certs 0.8.5
License declaration: Apache-2.0 OR ISC OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [d75967ce788187f83c3bd3328210974acfc443d4dc44909f1d7e34f21623a0c6] LICENSE
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [7cfafc877eccc46c0e346ccbaa5c51bb6b894d2b818e617d970211e232785ad4] LICENSE-ISC
  [709e3175b4212f7b13aa93971c9f62ff8c69ec45ad8c6532a7e0c41d7a7d6f8c] LICENSE-MIT

rustls-pki-types 1.15.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [45fd05c4865e7c350b98ad7ac50e1b15462d49af4a91e9b0c9dd933dc9a69742] LICENSE-APACHE
  [9117d922e667125508dde62b02c1f57ed22f5ad21eb536aa2e2d99e1c796e639] LICENSE-MIT

rustls-platform-verifier 0.7.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4] LICENSE-APACHE
  [1c7cf76689c837a68ed8d704994e52a0f2940c087958f860d17f3186afbdcc0c] LICENSE-MIT

rustls-webpki 0.103.16
License declaration: ISC
Source: registry+https://github.com/rust-lang/crates.io-index
  [5b698ca13897be3afdb7174256fa1574f8c6892b8bea1a66dd6469d3fe27885a] LICENSE
  [b4c8c14a93fa9a7408aca93815780d925ac1fca8d40972271aa1182d084cfefb] src/alg_tests.rs (source notice 1)
  [b4c8c14a93fa9a7408aca93815780d925ac1fca8d40972271aa1182d084cfefb] src/cert.rs (source notice 1)
  [9ef9c18e5cee19599fa2cd605674497ec7c7a702ebbb8310903cb60c540d5c39] src/crl/mod.rs (source notice 1)
  [b4c8c14a93fa9a7408aca93815780d925ac1fca8d40972271aa1182d084cfefb] src/der.rs (source notice 1)
  [baf9e2a528dd5202334bb6cd06c145b3c7c7c91f3fab874f39c9321d2e51ae07] src/end_entity.rs (source notice 1)
  [b4c8c14a93fa9a7408aca93815780d925ac1fca8d40972271aa1182d084cfefb] src/error.rs (source notice 1)
  [b4c8c14a93fa9a7408aca93815780d925ac1fca8d40972271aa1182d084cfefb] src/lib.rs (source notice 1)
  [b4c8c14a93fa9a7408aca93815780d925ac1fca8d40972271aa1182d084cfefb] src/ring_algs.rs (source notice 1)
  [b4c8c14a93fa9a7408aca93815780d925ac1fca8d40972271aa1182d084cfefb] src/signed_data.rs (source notice 1)
  [901ceddbd2aef755f41bd82c512e3cf9382d912a70342f77eff003df2dec67b5] src/subject_name/dns_name.rs (source notice 1)
  [901ceddbd2aef755f41bd82c512e3cf9382d912a70342f77eff003df2dec67b5] src/subject_name/ip_address.rs (source notice 1)
  [46d267f8d09e95af7e4bdcdcc501458474e5ca4115a4de94c0db8083dff1f17a] src/subject_name/mod.rs (source notice 1)
  [7abd9b6960dcf7d4d0a48606a5b71bfe37d472db68d70637f3a58a56785f1621] src/time.rs (source notice 1)
  [b4c8c14a93fa9a7408aca93815780d925ac1fca8d40972271aa1182d084cfefb] src/verify_cert.rs (source notice 1)
  [b4c8c14a93fa9a7408aca93815780d925ac1fca8d40972271aa1182d084cfefb] src/x509.rs (source notice 1)

rustversion 1.0.23
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

ryu 1.0.23
License declaration: Apache-2.0 OR BSL-1.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566] LICENSE-BOOST
  [6b664a7c3acad25366aba9ee177e0e5de1b377c5f64f3b4a71594536e71bf315] src/common.rs (source notice 1)
  [6b664a7c3acad25366aba9ee177e0e5de1b377c5f64f3b4a71594536e71bf315] src/d2s.rs (source notice 1)
  [6b664a7c3acad25366aba9ee177e0e5de1b377c5f64f3b4a71594536e71bf315] src/d2s_full_table.rs (source notice 1)
  [6b664a7c3acad25366aba9ee177e0e5de1b377c5f64f3b4a71594536e71bf315] src/d2s_intrinsics.rs (source notice 1)
  [6b664a7c3acad25366aba9ee177e0e5de1b377c5f64f3b4a71594536e71bf315] src/d2s_small_table.rs (source notice 1)
  [6b664a7c3acad25366aba9ee177e0e5de1b377c5f64f3b4a71594536e71bf315] src/digit_table.rs (source notice 1)
  [6b664a7c3acad25366aba9ee177e0e5de1b377c5f64f3b4a71594536e71bf315] src/f2s.rs (source notice 1)
  [6b664a7c3acad25366aba9ee177e0e5de1b377c5f64f3b4a71594536e71bf315] src/f2s_intrinsics.rs (source notice 1)
  [6b664a7c3acad25366aba9ee177e0e5de1b377c5f64f3b4a71594536e71bf315] tests/common_test.rs (source notice 1)
  [6b664a7c3acad25366aba9ee177e0e5de1b377c5f64f3b4a71594536e71bf315] tests/d2s_intrinsics_test.rs (source notice 1)
  [6b664a7c3acad25366aba9ee177e0e5de1b377c5f64f3b4a71594536e71bf315] tests/d2s_table_test.rs (source notice 1)
  [6b664a7c3acad25366aba9ee177e0e5de1b377c5f64f3b4a71594536e71bf315] tests/d2s_test.rs (source notice 1)
  [6b664a7c3acad25366aba9ee177e0e5de1b377c5f64f3b4a71594536e71bf315] tests/f2s_test.rs (source notice 1)
  [6b664a7c3acad25366aba9ee177e0e5de1b377c5f64f3b4a71594536e71bf315] tests/s2d_test.rs (source notice 1)
  [6b664a7c3acad25366aba9ee177e0e5de1b377c5f64f3b4a71594536e71bf315] tests/s2f_test.rs (source notice 1)

schannel 0.1.30
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [aa72991ac35b4de0034da0afe943e62b48c4092fc2ba13ae47806d8e9a4ad551] LICENSE.md

schemars 0.9.0
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [1954992a2b32e8a2af24a4c11b726902e344c1934b947a77f04d404908f8db30] LICENSE

schemars 1.2.3
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [1954992a2b32e8a2af24a4c11b726902e344c1934b947a77f04d404908f8db30] LICENSE

security-framework 3.7.0
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [91e934255ba3b2f21103d68c5581c23ef34aa95c4628e4405b8c901935e11c69] LICENSE-MIT
  [f9a3aa03962c942bfadecc02060c64911b44fa130ccf880612d2971d76615890] src/authorization.rs (source notice 1)

security-framework-sys 2.17.0
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [91e934255ba3b2f21103d68c5581c23ef34aa95c4628e4405b8c901935e11c69] LICENSE-MIT

semver 1.0.28
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

serde 1.0.229
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

serde_core 1.0.229
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

serde_derive 1.0.229
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

serde_json 1.0.154
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT
  [5822e59f88392b4a35965134c4c974e475959ebc625f140e42b1f39ba2495cc7] src/lexical/mod.rs (source notice 1)

serde_norway 0.9.42
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

serde_urlencoded 0.7.1
License declaration: MIT/Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [b9eb266294324f672cbe945fe8f2e32f85024f0d61a1a7d14382cdde0ac44769] LICENSE-MIT

serde_with 3.24.0
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [7576269ea71f767b99297934c0b2367532690f8c4badc695edf8e04ab6a1e545] LICENSE-MIT

serde_with_macros 3.24.0
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [7576269ea71f767b99297934c0b2367532690f8c4badc695edf8e04ab6a1e545] LICENSE-MIT

sha2 0.11.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a9040321c3712d8fd0b09cf52b17445de04a23a10165049ae187cd39e5c86be5] LICENSE-APACHE
  [831e0f43ad0bf014c1c4fec5767aae470434c1d66d6e671be2d823e729063e25] LICENSE-MIT

sharded-slab 0.1.7
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [eafbfa606bc005ed7fd2f623d65af17ffe4ef7c017221ac14405bf4140771ea9] LICENSE

shlex 2.0.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [553fffcd9b1cb158bc3e9edc35da85ca5c3b3d7d2e61c883ebcfa8a65814b583] LICENSE-APACHE
  [4455bf75a91154108304cb283e0fea9948c14f13e20d60887cf2552449dea3b1] LICENSE-MIT
  [9ee8e4a765798341aefd1a7a02cc26a63bc5d599fd32df6c86a41d84976d6149] src/bytes.rs (source notice 1)
  [9ee8e4a765798341aefd1a7a02cc26a63bc5d599fd32df6c86a41d84976d6149] src/lib.rs (source notice 1)

signal-hook-registry 1.4.8
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [503558bfefe66ca15e4e3f7955b3cb0ec87fd52f29bf24b336af7bd00e946d5c] LICENSE-MIT

slab 0.4.12
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [8ce0830173fdac609dfb4ea603fdc002c2f4af0dc9b1a005653f5da9cf534b18] LICENSE

smallvec 1.16.4
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [0b28172679e0009b655da42797c03fd163a3379d5cfa67ba1f1655e974a2a1a9] LICENSE-MIT

socket2 0.6.5
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397] LICENSE-MIT
  [b54ab1543eb4985c47cc3a484ec988d4746c97c958065b7d3cdb5263d2734883] src/lib.rs (source notice 1)
  [b54ab1543eb4985c47cc3a484ec988d4746c97c958065b7d3cdb5263d2734883] src/socket.rs (source notice 1)
  [b54ab1543eb4985c47cc3a484ec988d4746c97c958065b7d3cdb5263d2734883] src/sys/unix.rs (source notice 1)
  [b54ab1543eb4985c47cc3a484ec988d4746c97c958065b7d3cdb5263d2734883] src/sys/windows.rs (source notice 1)

stable_deref_trait 1.2.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [3c125f249fc6fb19f2415d027a0d9a170860583960ea53d08ea1d2b3f269d153] LICENSE-MIT
  [4d854c78554e7b14dd38275a06a5ec9ea6294e514a6cd609136f5f9feb5bfb06] src/lib.rs (source notice 1)

strsim 0.11.1
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [1e697ce8d21401fbf1bddd9b5c3fd4c4c79ae1e3bdf51f81761c85e11d5a89cd] LICENSE

subtle 2.6.1
License declaration: BSD-3-Clause
Source: registry+https://github.com/rust-lang/crates.io-index
  [cc0332a88c2ea21d5f3c1298f966120f4c95196871c3f6bb4fcf615508b93fa1] LICENSE
  [d7d979176231a7d1162977bd8d9a9989792349f42358e76056c1aaa5b9e53df6] src/lib.rs (source notice 1)

syn 2.0.119
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

syn 3.0.9
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

sync_wrapper 1.0.2
License declaration: Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594] LICENSE
  [e635f612e61a783747a06d298c7d409573fa9abb79a204b648cdcd7f534c50aa] src/lib.rs (source notice 1)

synstructure 0.14.0
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [219920e865eee70b7dcfc948a86b099e7f4fe2de01bcca2ca9a20c0a033f2b59] LICENSE

system-configuration 0.7.0
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [000cbb5bea6f21829c8f0d9e1fe87410bd5ef0453412ffc017845982a3e19824] LICENSE-MIT
  [1a6848d5f4a398a10b3d804e62a1a6659418f31e98c19d36c0371025b01a2332] src/dynamic_store.rs (source notice 1)
  [1a6848d5f4a398a10b3d804e62a1a6659418f31e98c19d36c0371025b01a2332] src/lib.rs (source notice 1)
  [1a6848d5f4a398a10b3d804e62a1a6659418f31e98c19d36c0371025b01a2332] src/preferences.rs (source notice 1)

system-configuration-sys 0.6.0
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [000cbb5bea6f21829c8f0d9e1fe87410bd5ef0453412ffc017845982a3e19824] LICENSE-MIT
  [1a6848d5f4a398a10b3d804e62a1a6659418f31e98c19d36c0371025b01a2332] build.rs (source notice 1)
  [1a6848d5f4a398a10b3d804e62a1a6659418f31e98c19d36c0371025b01a2332] src/lib.rs (source notice 1)

thiserror 2.0.21
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

thiserror-impl 2.0.21
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

thread_local 1.1.10
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [c9a75f18b9ab2927829a208fc6aa2cf4e63b8420887ba29cdb265d6619ae82d5] LICENSE-MIT
  [54930ebc79a9c022132f89eec57d1e0480f1f89b5a937b135a9fdd85a14e3c84] src/lib.rs (source notice 1)
  [54930ebc79a9c022132f89eec57d1e0480f1f89b5a937b135a9fdd85a14e3c84] src/thread_id.rs (source notice 1)

time 0.3.55
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594] LICENSE-Apache
  [2537228d9a1b44a5dc595241349cae7090b326c8de165aaf89bfddef4a00d0fc] LICENSE-MIT

time-core 0.1.9
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594] LICENSE-Apache
  [2537228d9a1b44a5dc595241349cae7090b326c8de165aaf89bfddef4a00d0fc] LICENSE-MIT

time-macros 0.2.32
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594] LICENSE-Apache
  [2537228d9a1b44a5dc595241349cae7090b326c8de165aaf89bfddef4a00d0fc] LICENSE-MIT

tiny-keccak 2.0.2
License declaration: CC0-1.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a2010f343487d3f7618affe54f789f5487602331c0a8d03f49e9a7c547cf0499] LICENSE

tinystr 0.8.5
License declaration: Unicode-3.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2] LICENSE

tinyvec 1.13.3
License declaration: Zlib OR Apache-2.0 OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30] LICENSE-APACHE.md
  [fd80a26fbb3f644af1fa994134446702932968519797227e07a1368dea80f0bc] LICENSE-MIT.md
  [84b34dd7608f7fb9b17bd588a6bf392bf7de504e2716f024a77d89f1b145a151] LICENSE-ZLIB.md

tokio 1.54.1
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [253cd04c6714889df2d32f3f64d669179a1c95c76ac43c40882c52eb06bc3552] LICENSE

tokio-macros 2.7.2
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [0b83dc40cba89b9922bb84b0a9c7d2768ce37c1d7e138b7424fd4549915778c9] LICENSE

tokio-rustls 0.26.6
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [cc117d90b498b32b11a886f279b359da16a73c3b01efbb2f5cc004b20262334e] LICENSE-APACHE
  [e20fa2b8e0a2565f24a792b94b4bf4b6c2b9d36f781d8a9516e218a036e6677a] LICENSE-MIT

tokio-stream 0.1.19
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [253cd04c6714889df2d32f3f64d669179a1c95c76ac43c40882c52eb06bc3552] LICENSE

tokio-util 0.7.20
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [253cd04c6714889df2d32f3f64d669179a1c95c76ac43c40882c52eb06bc3552] LICENSE

toml_datetime 1.1.2+spec-1.1.0
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [249fdb6694467dd615b259f7ddde07be3f8ae5a72cecebb0e24f6629af4215fe] LICENSE-APACHE
  [6efb0476a1cc085077ed49357026d8c173bf33017278ef440f222fb9cbcb66e6] LICENSE-MIT

toml_edit 0.25.17+spec-1.1.0
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [249fdb6694467dd615b259f7ddde07be3f8ae5a72cecebb0e24f6629af4215fe] LICENSE-APACHE
  [6efb0476a1cc085077ed49357026d8c173bf33017278ef440f222fb9cbcb66e6] LICENSE-MIT

toml_parser 1.1.5+spec-1.1.0
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [249fdb6694467dd615b259f7ddde07be3f8ae5a72cecebb0e24f6629af4215fe] LICENSE-APACHE
  [6efb0476a1cc085077ed49357026d8c173bf33017278ef440f222fb9cbcb66e6] LICENSE-MIT

tonic 0.14.9
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [5c686e0f7978412b49187ae0e9f77e9b52eea9d8d2e6c0de8694b35817d873b1] LICENSE
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] benches/decode.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/body.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/client/grpc.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/client/mod.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/client/service.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/codec/buffer.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/codec/compression.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/codec/decode.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/codec/encode.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/codec/mod.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/codegen.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/extensions.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/lib.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/macros.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/metadata/encoding.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/metadata/key.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/metadata/map.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/metadata/mod.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/metadata/value.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/request.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/response.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/server/grpc.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/server/mod.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/server/service.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/service/interceptor.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/service/layered.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/service/mod.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/service/recover_error.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/service/router.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/status.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/channel/endpoint.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/channel/mod.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/channel/service/add_origin.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/channel/service/connection.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/channel/service/connector.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/channel/service/discover.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/channel/service/executor.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/channel/service/io.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/channel/service/mod.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/channel/service/reconnect.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/channel/service/tls.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/channel/service/user_agent.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/channel/tls.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/channel/uds_connector.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/error.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/mod.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/server/conn.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/server/display_error_stack.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/server/incoming.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/server/io_stream.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/server/mod.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/server/service/io.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/server/service/mod.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/server/service/tls.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/server/tls.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/server/unix.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/service/grpc_timeout.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/service/mod.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/service/tls.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/transport/tls.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/util.rs (source notice 1)

tonic-prost 0.14.9
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/codec.rs (source notice 1)
  [44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8] src/lib.rs (source notice 1)

tower 0.5.3
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [4249c8e6c5ebb85f97c77e6457c6fafc1066406eb8f1ef61e796fbdc5ff18482] LICENSE

tower-http 0.6.11
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [5049cf464977eff4b4fcfa7988d84e74116956a3eb9d5f1d451b3f828f945233] LICENSE

tower-layer 0.3.3
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [4249c8e6c5ebb85f97c77e6457c6fafc1066406eb8f1ef61e796fbdc5ff18482] LICENSE

tower-service 0.3.3
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [4249c8e6c5ebb85f97c77e6457c6fafc1066406eb8f1ef61e796fbdc5ff18482] LICENSE

tracing 0.1.44
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [898b1ae9821e98daf8964c8d6c7f61641f5f5aa78ad500020771c0939ee0dea1] LICENSE

tracing-attributes 0.1.31
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [898b1ae9821e98daf8964c8d6c7f61641f5f5aa78ad500020771c0939ee0dea1] LICENSE

tracing-core 0.1.36
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [898b1ae9821e98daf8964c8d6c7f61641f5f5aa78ad500020771c0939ee0dea1] LICENSE
  [58545fed1565e42d687aecec6897d35c6d37ccb71479a137c0deb2203e125c79] src/spin/LICENSE

tracing-opentelemetry 0.34.0
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [898b1ae9821e98daf8964c8d6c7f61641f5f5aa78ad500020771c0939ee0dea1] LICENSE

tracing-subscriber 0.3.23
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [898b1ae9821e98daf8964c8d6c7f61641f5f5aa78ad500020771c0939ee0dea1] LICENSE
  [e4c82b854ec22d96d4c41fabde629bd2bb08624ce44531dd47eb5c9243514595] src/fmt/time/datetime.rs (source notice 1)

try-lock 0.2.5
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [c816a0749cdc6bf062a5111c159723de51b2bfac66a1dac2655abd9e6b1583eb] LICENSE

twox-hash 2.1.5
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [f59bcb1c02654665f78a5f290bae76b6358137675f6459f51e6d474a4623d8ea] LICENSE.txt

typenum 1.20.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [36bb253818ac13761081556ff5c457d626da9df1eb4f56194d9ad3926c418a68] LICENSE
  [3c97f5b6ad4e73ad22dc0d1e0c7120579a350df57095120017ddfe5a8669604e] LICENSE-APACHE
  [a825bd853ab71619a4923d7b4311221427848070ff44d990da39b0b274c1683f] LICENSE-MIT

unicode-ident 1.0.27
License declaration: (MIT OR Apache-2.0) AND Unicode-3.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a] LICENSE-APACHE
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT
  [f7db81051789b729fea528a63ec4c938fdcb93d9d61d97dc8cc2e9df6d47f2a1] LICENSE-UNICODE

unsafe-libyaml-norway 0.2.15
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

untrusted 0.9.0
License declaration: ISC
Source: registry+https://github.com/rust-lang/crates.io-index
  [7abd9b6960dcf7d4d0a48606a5b71bfe37d472db68d70637f3a58a56785f1621] LICENSE.txt
  [baf9e2a528dd5202334bb6cd06c145b3c7c7c91f3fab874f39c9321d2e51ae07] src/input.rs (source notice 1)
  [baf9e2a528dd5202334bb6cd06c145b3c7c7c91f3fab874f39c9321d2e51ae07] src/lib.rs (source notice 1)
  [baf9e2a528dd5202334bb6cd06c145b3c7c7c91f3fab874f39c9321d2e51ae07] src/reader.rs (source notice 1)
  [2ef6556d2786ddbb146ce007db2c5fc3d478292f79cb87d01ee4d88e7e4b2818] tests/tests.rs (source notice 1)

url 2.5.8
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [b38f11f6096706e6de553dabe2a7ed142d59b6fa8c97e290c67496154745cdd5] LICENSE-MIT
  [891519f4249e526687d08cdbd096a2dcb96be60b408870b2f722fcf3915daec1] src/host.rs (source notice 1)
  [f5cbe693d113f7e741c7fcff6320e653cf93d6268c9cafa89c52d2ceb98c3c2f] src/lib.rs (source notice 1)
  [2783634945c09a84be6e10ebee557dd377beb699a168eaeb8a3026ba0f25ecf8] src/origin.rs (source notice 1)
  [891519f4249e526687d08cdbd096a2dcb96be60b408870b2f722fcf3915daec1] src/parser.rs (source notice 1)
  [2783634945c09a84be6e10ebee557dd377beb699a168eaeb8a3026ba0f25ecf8] src/path_segments.rs (source notice 1)
  [2783634945c09a84be6e10ebee557dd377beb699a168eaeb8a3026ba0f25ecf8] src/quirks.rs (source notice 1)
  [2783634945c09a84be6e10ebee557dd377beb699a168eaeb8a3026ba0f25ecf8] src/slicing.rs (source notice 1)
  [454f6f9525490bd6421568b9a3ecc5642b2d43ff41f2199a7836ac480a9b4386] tests/unit.rs (source notice 1)
  [454f6f9525490bd6421568b9a3ecc5642b2d43ff41f2199a7836ac480a9b4386] tests/wpt.rs (source notice 1)

utf8_iter 1.1.0
License declaration: Apache-2.0 OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [c30152c94a6d75e021adbc52b3a52470366a46edb917e17deae3259251af244c] COPYRIGHT
  [cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30] LICENSE-APACHE
  [3fa4ca83dcc9237839b1bdeb2e6d16bdfb5ec0c5ce42b24694d8bbf0dcbef72c] LICENSE-MIT
  [117319946a34c90bd030673bd950776f1a2d46320be153c61de06dbcb55bacf0] src/basic.rs (source notice 1)
  [117319946a34c90bd030673bd950776f1a2d46320be153c61de06dbcb55bacf0] src/handler.rs (source notice 1)
  [543a2ea78f61e53c0d0a81003ac334a7333b2a61df391f162562b87b79826ec0] src/indices.rs (source notice 1)
  [117319946a34c90bd030673bd950776f1a2d46320be153c61de06dbcb55bacf0] src/lib.rs (source notice 1)
  [117319946a34c90bd030673bd950776f1a2d46320be153c61de06dbcb55bacf0] src/macros.rs (source notice 1)
  [117319946a34c90bd030673bd950776f1a2d46320be153c61de06dbcb55bacf0] src/report.rs (source notice 1)
  [117319946a34c90bd030673bd950776f1a2d46320be153c61de06dbcb55bacf0] src/str.rs (source notice 1)

utf_types 1.0.0
License declaration: Apache-2.0 OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [3210be7332b5bdf48eb24a945258b9f38616a2cceb0dfc06e3c3c7e9740475a0] COPYRIGHT
  [cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30] LICENSE-APACHE
  [3fa4ca83dcc9237839b1bdeb2e6d16bdfb5ec0c5ce42b24694d8bbf0dcbef72c] LICENSE-MIT
  [117319946a34c90bd030673bd950776f1a2d46320be153c61de06dbcb55bacf0] src/lib.rs (source notice 1)
  [117319946a34c90bd030673bd950776f1a2d46320be153c61de06dbcb55bacf0] src/utf16.rs (source notice 1)
  [117319946a34c90bd030673bd950776f1a2d46320be153c61de06dbcb55bacf0] src/utf8.rs (source notice 1)

uuid 1.29.0
License declaration: Apache-2.0 OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [436bc5a105d8e57dcd8778730f3754f7bf39c14d2f530e4cde4bd2d17a83ec3d] LICENSE-MIT
  [da20112a3c19ec5106b2cb2cdbbb6f5d29422a4d6d6950bf9de7ddd1b4ecb167] src/builder.rs (source notice 1)
  [da20112a3c19ec5106b2cb2cdbbb6f5d29422a4d6d6950bf9de7ddd1b4ecb167] src/external/serde_support.rs (source notice 1)
  [da20112a3c19ec5106b2cb2cdbbb6f5d29422a4d6d6950bf9de7ddd1b4ecb167] src/external/slog_support.rs (source notice 1)
  [da20112a3c19ec5106b2cb2cdbbb6f5d29422a4d6d6950bf9de7ddd1b4ecb167] src/fmt.rs (source notice 1)
  [da20112a3c19ec5106b2cb2cdbbb6f5d29422a4d6d6950bf9de7ddd1b4ecb167] src/lib.rs (source notice 1)
  [da20112a3c19ec5106b2cb2cdbbb6f5d29422a4d6d6950bf9de7ddd1b4ecb167] src/parser.rs (source notice 1)

version_check 0.9.5
License declaration: MIT/Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2] LICENSE-APACHE
  [b7e650f3fce5c53249d1cdc608b54df156a97edd636cf9d23498d0cfe7aec63e] LICENSE-MIT

want 0.3.2
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [a65f5d0a945d267751344c95665945b90c030ea107faf5c85d518929886187da] LICENSE

windows-link 0.2.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [c16f8dcf1a368b83be78d826ea23de4079fe1b4469a0ab9ee20563f37ff3d44b] license-apache-2.0
  [c2cfccb812fe482101a8f04597dfc5a9991a6b2748266c47ac91b6a5aae15383] license-mit

windows-registry 0.6.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [c16f8dcf1a368b83be78d826ea23de4079fe1b4469a0ab9ee20563f37ff3d44b] license-apache-2.0
  [c2cfccb812fe482101a8f04597dfc5a9991a6b2748266c47ac91b6a5aae15383] license-mit

windows-result 0.4.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [c16f8dcf1a368b83be78d826ea23de4079fe1b4469a0ab9ee20563f37ff3d44b] license-apache-2.0
  [c2cfccb812fe482101a8f04597dfc5a9991a6b2748266c47ac91b6a5aae15383] license-mit

windows-strings 0.5.1
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [c16f8dcf1a368b83be78d826ea23de4079fe1b4469a0ab9ee20563f37ff3d44b] license-apache-2.0
  [c2cfccb812fe482101a8f04597dfc5a9991a6b2748266c47ac91b6a5aae15383] license-mit

windows-sys 0.61.2
License declaration: MIT OR Apache-2.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [c16f8dcf1a368b83be78d826ea23de4079fe1b4469a0ab9ee20563f37ff3d44b] license-apache-2.0
  [c2cfccb812fe482101a8f04597dfc5a9991a6b2748266c47ac91b6a5aae15383] license-mit
  [a48ff77be5dd144f696440880d34a8b4d9ac89f6c2a31cf45fe9cfa137f14a7f] src/Windows/Win32/Security/LicenseProtection/mod.rs

winnow 1.0.4
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [cb5aedb296c5246d1f22e9099f925a65146f9f0d6b4eebba97fd27a6cdbbab2d] LICENSE-MIT

writeable 0.6.4
License declaration: Unicode-3.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2] LICENSE

yoke 0.8.4
License declaration: Unicode-3.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2] LICENSE

yoke-derive 0.8.4
License declaration: Unicode-3.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2] LICENSE

zerocopy 0.8.63
License declaration: BSD-2-Clause OR Apache-2.0 OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [9d185ac6703c4b0453974c0d85e9eee43e6941009296bb1f5eb0b54e2329e9f3] LICENSE-APACHE
  [83c1763356e822adde0a2cae748d938a73fdc263849ccff6b27776dff213bd32] LICENSE-BSD
  [1a2f5c12ddc934d58956aa5dbdd3255fe55fd957633ab7d0d39e4f0daa73f7df] LICENSE-MIT
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_bytes_dynamic_padding.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_bytes_dynamic_size.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_bytes_mut_dynamic_padding.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_bytes_mut_dynamic_size.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_bytes_mut_static_size.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_bytes_static_size.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_deref_dynamic_padding.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_deref_dynamic_size.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_deref_mut_dynamic_size.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_deref_mut_static_size.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_deref_static_size.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_from_bytes_dynamic_padding.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_from_bytes_dynamic_size.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_from_bytes_static_size.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_from_bytes_with_elems_dynamic_padding.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_from_bytes_with_elems_dynamic_size.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_from_prefix_dynamic_padding.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_from_prefix_dynamic_size.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_from_prefix_static_size.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_from_prefix_with_elems_dynamic_padding.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_from_prefix_with_elems_dynamic_size.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_from_suffix_dynamic_padding.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_from_suffix_dynamic_size.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_from_suffix_static_size.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_from_suffix_with_elems_dynamic_padding.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_from_suffix_with_elems_dynamic_size.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_into_mut_dynamic_size.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_into_mut_static_size.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_into_ref_dynamic_padding.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_into_ref_dynamic_size.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_into_ref_static_size.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_read_static_size.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] benches/ref_type_write_static_size.rs (source notice 1)
  [12be7051cc7f7e11f992c70c25b5e23b5e459ee4f5cad31f03227df0e32f7714] build.rs (source notice 1)
  [388ab80c8f3a357eaf6c89d831047392791cb8439a538dedf1a2af6f05a7c344] src/byte_slice.rs (source notice 1)
  [77ee9bce4ac66db1a7c4d5981acb771b85bda28ec5a34205eacfba5790c18367] src/byteorder.rs (source notice 1)
  [12be7051cc7f7e11f992c70c25b5e23b5e459ee4f5cad31f03227df0e32f7714] src/deprecated.rs (source notice 1)
  [f812a5adbf82bb30c24f3b732e62468b1f0166ab6808654a241de100c81986f6] src/doctests.rs (source notice 1)
  [12be7051cc7f7e11f992c70c25b5e23b5e459ee4f5cad31f03227df0e32f7714] src/error.rs (source notice 1)
  [12be7051cc7f7e11f992c70c25b5e23b5e459ee4f5cad31f03227df0e32f7714] src/impls.rs (source notice 1)
  [12be7051cc7f7e11f992c70c25b5e23b5e459ee4f5cad31f03227df0e32f7714] src/layout.rs (source notice 1)
  [f888610a86bbfdcdc165d48b72792d373404a3094b39d258e628e26941ca110e] src/lib.rs (source notice 1)
  [12be7051cc7f7e11f992c70c25b5e23b5e459ee4f5cad31f03227df0e32f7714] src/macros.rs (source notice 1)
  [388ab80c8f3a357eaf6c89d831047392791cb8439a538dedf1a2af6f05a7c344] src/pointer/inner.rs (source notice 1)
  [388ab80c8f3a357eaf6c89d831047392791cb8439a538dedf1a2af6f05a7c344] src/pointer/invariant.rs (source notice 1)
  [a0391b94bba1e28d1067237466a4d6e590f369ffb21755535a4aaf3b2f437825] src/pointer/mod.rs (source notice 1)
  [a0391b94bba1e28d1067237466a4d6e590f369ffb21755535a4aaf3b2f437825] src/pointer/ptr.rs (source notice 1)
  [f0ce91d6d6f66e7be0ee4596d1b3292aa04eaa9fd459fb71047fc93e113435b5] src/pointer/transmute.rs (source notice 1)
  [12be7051cc7f7e11f992c70c25b5e23b5e459ee4f5cad31f03227df0e32f7714] src/ref.rs (source notice 1)
  [f812a5adbf82bb30c24f3b732e62468b1f0166ab6808654a241de100c81986f6] src/split_at.rs (source notice 1)
  [e382906616915453c368b64c2eb946f37747f1848360203299d8d15587ed9fb0] src/util/macro_util.rs (source notice 1)
  [a0391b94bba1e28d1067237466a4d6e590f369ffb21755535a4aaf3b2f437825] src/util/macros.rs (source notice 1)
  [a0391b94bba1e28d1067237466a4d6e590f369ffb21755535a4aaf3b2f437825] src/util/mod.rs (source notice 1)
  [a0391b94bba1e28d1067237466a4d6e590f369ffb21755535a4aaf3b2f437825] src/wrappers.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] tests/codegen.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] tests/include.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/ui.rs (source notice 1)
  [1cc060e851d62adaf4209f5978d5f155b159bc29d3012a96482a90802ad5b99a] tests/ui/diagnostic-not-implemented.rs (source notice 1)
  [a18873a1cb2db8f556a0d163de065d681538a93e313caf9c5cb012201cdc9d2e] tests/ui/include_value.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] tests/ui/late-compile-pass.rs (source notice 1)
  [a18873a1cb2db8f556a0d163de065d681538a93e313caf9c5cb012201cdc9d2e] tests/ui/max-align.rs (source notice 1)
  [4f2c4ed3fc3a86bde1cb544218f8cc519cac8cce0382f3ec0cad53ed8e7a787c] tests/ui/ptr-is-invariant-over-v.rs (source notice 1)
  [1cc060e851d62adaf4209f5978d5f155b159bc29d3012a96482a90802ad5b99a] tests/ui/transmute-ptr-to-usize.rs (source notice 1)
  [1cc060e851d62adaf4209f5978d5f155b159bc29d3012a96482a90802ad5b99a] tests/ui/transmute.rs (source notice 1)
  [a18873a1cb2db8f556a0d163de065d681538a93e313caf9c5cb012201cdc9d2e] tests/ui/transmute_mut.rs (source notice 1)
  [a18873a1cb2db8f556a0d163de065d681538a93e313caf9c5cb012201cdc9d2e] tests/ui/transmute_ref.rs (source notice 1)
  [1cc060e851d62adaf4209f5978d5f155b159bc29d3012a96482a90802ad5b99a] tests/ui/try_transmute.rs (source notice 1)
  [9daa4480b2108384a4f6c5b16adc6f31e4db2ff635b732ad069a9e567fb2333f] tests/ui/try_transmute_mut.rs (source notice 1)
  [9daa4480b2108384a4f6c5b16adc6f31e4db2ff635b732ad069a9e567fb2333f] tests/ui/try_transmute_ref.rs (source notice 1)

zerocopy-derive 0.8.63
License declaration: BSD-2-Clause OR Apache-2.0 OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [9d185ac6703c4b0453974c0d85e9eee43e6941009296bb1f5eb0b54e2329e9f3] LICENSE-APACHE
  [83c1763356e822adde0a2cae748d938a73fdc263849ccff6b27776dff213bd32] LICENSE-BSD
  [1a2f5c12ddc934d58956aa5dbdd3255fe55fd957633ab7d0d39e4f0daa73f7df] LICENSE-MIT
  [d3897c14d233e9bc61cd6157ce5a4775e2d9b31ffaff5f33efc54379bff76a4e] src/derive/from_bytes.rs (source notice 1)
  [d3897c14d233e9bc61cd6157ce5a4775e2d9b31ffaff5f33efc54379bff76a4e] src/derive/into_bytes.rs (source notice 1)
  [d3897c14d233e9bc61cd6157ce5a4775e2d9b31ffaff5f33efc54379bff76a4e] src/derive/known_layout.rs (source notice 1)
  [d3897c14d233e9bc61cd6157ce5a4775e2d9b31ffaff5f33efc54379bff76a4e] src/derive/mod.rs (source notice 1)
  [9acab8d9d07e726cd4e394d637f8288ec0edeb27096153cb4400d3df4bb61f16] src/derive/project.rs (source notice 1)
  [d3897c14d233e9bc61cd6157ce5a4775e2d9b31ffaff5f33efc54379bff76a4e] src/derive/try_from_bytes.rs (source notice 1)
  [d3897c14d233e9bc61cd6157ce5a4775e2d9b31ffaff5f33efc54379bff76a4e] src/derive/unaligned.rs (source notice 1)
  [9acab8d9d07e726cd4e394d637f8288ec0edeb27096153cb4400d3df4bb61f16] src/invariant.rs (source notice 1)
  [77ee9bce4ac66db1a7c4d5981acb771b85bda28ec5a34205eacfba5790c18367] src/lib.rs (source notice 1)
  [9daa4480b2108384a4f6c5b16adc6f31e4db2ff635b732ad069a9e567fb2333f] src/output_tests/mod.rs (source notice 1)
  [77ee9bce4ac66db1a7c4d5981acb771b85bda28ec5a34205eacfba5790c18367] src/repr.rs (source notice 1)
  [77ee9bce4ac66db1a7c4d5981acb771b85bda28ec5a34205eacfba5790c18367] src/util.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] tests/clippy.rs (source notice 1)
  [9daa4480b2108384a4f6c5b16adc6f31e4db2ff635b732ad069a9e567fb2333f] tests/deprecated.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/enum_from_zeros.rs (source notice 1)
  [a18873a1cb2db8f556a0d163de065d681538a93e313caf9c5cb012201cdc9d2e] tests/enum_known_layout.rs (source notice 1)
  [a18873a1cb2db8f556a0d163de065d681538a93e313caf9c5cb012201cdc9d2e] tests/enum_no_cell.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/enum_to_bytes.rs (source notice 1)
  [a18873a1cb2db8f556a0d163de065d681538a93e313caf9c5cb012201cdc9d2e] tests/enum_try_from_bytes.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/enum_unaligned.rs (source notice 1)
  [9daa4480b2108384a4f6c5b16adc6f31e4db2ff635b732ad069a9e567fb2333f] tests/eq.rs (source notice 1)
  [9daa4480b2108384a4f6c5b16adc6f31e4db2ff635b732ad069a9e567fb2333f] tests/hash.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/hygiene.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/include.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] tests/invariant.rs (source notice 1)
  [9daa4480b2108384a4f6c5b16adc6f31e4db2ff635b732ad069a9e567fb2333f] tests/issue_2117.rs (source notice 1)
  [05b19f2a815feb8453d570e7f49fe39ccfba2d2da1a67d6ac7e045faeed825d2] tests/issue_2835.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] tests/issue_2880.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] tests/issue_2915.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] tests/on_error.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/paths_and_modules.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/priv_in_pub.rs (source notice 1)
  [958e4e934844db7d7fa42fe76d5b39ab714b2c57aa5aa272e069d362a7a9cbd2] tests/project.rs (source notice 1)
  [2fc73e07c5bc0fc3e5a27663e10b255ede42fd5d8ccd8c9faca3451befab77f2] tests/project_enum.rs (source notice 1)
  [2fc73e07c5bc0fc3e5a27663e10b255ede42fd5d8ccd8c9faca3451befab77f2] tests/project_struct.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] tests/raw_identifiers.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/struct_from_bytes.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/struct_from_zeros.rs (source notice 1)
  [a18873a1cb2db8f556a0d163de065d681538a93e313caf9c5cb012201cdc9d2e] tests/struct_known_layout.rs (source notice 1)
  [a18873a1cb2db8f556a0d163de065d681538a93e313caf9c5cb012201cdc9d2e] tests/struct_no_cell.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/struct_to_bytes.rs (source notice 1)
  [a18873a1cb2db8f556a0d163de065d681538a93e313caf9c5cb012201cdc9d2e] tests/struct_try_from_bytes.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/struct_unaligned.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/ui.rs (source notice 1)
  [9daa4480b2108384a4f6c5b16adc6f31e4db2ff635b732ad069a9e567fb2333f] tests/ui/absence_of_deprecated_warning.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] tests/ui/cfgs/invariant.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] tests/ui/cfgs/on_error.rs (source notice 1)
  [9daa4480b2108384a4f6c5b16adc6f31e4db2ff635b732ad069a9e567fb2333f] tests/ui/cfgs/union_into_bytes_cfg.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/ui/derive_transparent.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/ui/enum.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/ui/enum_from_bytes_u8_too_few.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] tests/ui/invariant.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] tests/ui/invariant_field_scope.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] tests/ui/invariant_lints.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] tests/ui/invariant_name_collisions.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] tests/ui/invariant_union_scope.rs (source notice 1)
  [09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9] tests/ui/issue_known_layout_missing_debug.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/ui/late_compile_pass.rs (source notice 1)
  [a18873a1cb2db8f556a0d163de065d681538a93e313caf9c5cb012201cdc9d2e] tests/ui/mid_compile_pass.rs (source notice 1)
  [9daa4480b2108384a4f6c5b16adc6f31e4db2ff635b732ad069a9e567fb2333f] tests/ui/msrv_specific.rs (source notice 1)
  [05b19f2a815feb8453d570e7f49fe39ccfba2d2da1a67d6ac7e045faeed825d2] tests/ui/privacy.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/ui/struct.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/ui/union.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/union_from_bytes.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/union_from_zeros.rs (source notice 1)
  [a18873a1cb2db8f556a0d163de065d681538a93e313caf9c5cb012201cdc9d2e] tests/union_known_layout.rs (source notice 1)
  [a18873a1cb2db8f556a0d163de065d681538a93e313caf9c5cb012201cdc9d2e] tests/union_no_cell.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/union_to_bytes.rs (source notice 1)
  [a18873a1cb2db8f556a0d163de065d681538a93e313caf9c5cb012201cdc9d2e] tests/union_try_from_bytes.rs (source notice 1)
  [dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8] tests/union_unaligned.rs (source notice 1)
  [05b19f2a815feb8453d570e7f49fe39ccfba2d2da1a67d6ac7e045faeed825d2] tests/unsafe_cell.rs (source notice 1)

zerofrom 0.1.8
License declaration: Unicode-3.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2] LICENSE

zerofrom-derive 0.1.8
License declaration: Unicode-3.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2] LICENSE

zeroize 1.9.1
License declaration: Apache-2.0 OR MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30] LICENSE-APACHE
  [8c7516d4b27b1e495be5e38b612298b63de48d05f49cdac94f70f3cd70f8864b] LICENSE-MIT

zerotrie 0.2.5
License declaration: Unicode-3.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2] LICENSE

zerovec 0.11.9
License declaration: Unicode-3.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2] LICENSE

zerovec-derive 0.11.7
License declaration: Unicode-3.0
Source: registry+https://github.com/rust-lang/crates.io-index
  [f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2] LICENSE

zmij 1.0.23
License declaration: MIT
Source: registry+https://github.com/rust-lang/crates.io-index
  [23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3] LICENSE-MIT

==============================================================================
DOCUMENT 000cbb5bea6f21829c8f0d9e1fe87410bd5ef0453412ffc017845982a3e19824
==============================================================================
Copyright (c) 2024 Mullvad VPN AB

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.


==============================================================================
DOCUMENT 005fc765ddc5115da796cca915baa9557abae13ff35e0a47c47affc56f6c414d
==============================================================================

                                 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.


Licenses for support code
-------------------------

Parts of the TLS test suite are under the Go license. This code is not included
in BoringSSL (i.e. libcrypto and libssl) when compiled, however, so
distributing code linked against BoringSSL does not trigger this license:

Copyright (c) 2009 The Go Authors. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

   * Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
   * Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
   * Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


BoringSSL uses the Chromium test infrastructure to run a continuous build,
trybots etc. The scripts which manage this, and the script for generating build
metadata, are under the Chromium license. Distributing code linked against
BoringSSL does not trigger this license.

Copyright 2015 The Chromium Authors. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

   * Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
   * Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
   * Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


==============================================================================
DOCUMENT 00ea23deeea4bf003e7e1d63ea4b941ae15997786882efb2b72d46a4b5bdee76
==============================================================================
/*
 * Copyright 2020 Google Inc. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


==============================================================================
DOCUMENT 013ee4297b48f004ac0710348121fd436812b99e83814a474c9b08a15ee0ac89
==============================================================================
// Copyright 2018-2023 Developers of the Rand project.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT 01c266bced4a434da0051174d6bee16a4c82cf634e2679b6155d40d75012390f
==============================================================================
This project is dual-licensed under the Unlicense and MIT licenses.

You may use this code under the terms of either license.


==============================================================================
DOCUMENT 0218327e7a480793ffdd4eb792379a9709e5c135c7ba267f709d6f6d4d70af0a
==============================================================================
                              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 2019 The CryptoCorrosion Contributors

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.


==============================================================================
DOCUMENT 025964b32a1f78d01558ec7800a3fde18acef43427d35641a22bba705d699f2d
==============================================================================
/* Copyright 2016-2017 Brian Smith.
 *
 * Permission to use, copy, modify, and/or distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */


==============================================================================
DOCUMENT 03548525ec3706de58e48ef6e3c455582557a0ad3b54a2da9a3819add35dfb72
==============================================================================

                                 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.

--------------------------------------------------------------------------------

arrow-array/src/delta.rs: MIT

This file is derived from the chronoutil crate. The full MIT license
text is in arrow-array/LICENSE-MIT.


==============================================================================
DOCUMENT 0372df70e5652415fa6fdb9147e8f7efd878ce606b5890678def629645b78104
==============================================================================
// Copyright 2014-2015 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT 0444c6991eead6822f7b9102e654448d51624431119546492e8b231db42c48bb
==============================================================================
Copyright (c) 2018 Tom Kaitchuck

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.


==============================================================================
DOCUMENT 05b19f2a815feb8453d570e7f49fe39ccfba2d2da1a67d6ac7e045faeed825d2
==============================================================================
// Copyright 2025 The Fuchsia Authors
//
// Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0
// <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT
// license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
// This file may not be copied, modified, or distributed except according to
// those terms.


==============================================================================
DOCUMENT 05f5185ee577daa8ddd9957efe469afc0e01f932ddcbefc8a8b0414df7c6464c
==============================================================================
// Copyright 2016 lazy-static.rs Developers
//
// Licensed under the Apache License, Version 2.0, <LICENSE-APACHE or
// https://apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or
// https://opensource.org/licenses/MIT>, at your option. This file may not be
// copied, modified, or distributed except according to those terms.


==============================================================================
DOCUMENT 070dbc7dda03a29296f2d58bdb9b7331af90f2abc9f31df22875d1eabaf29852
==============================================================================
Copyright (c) 2023 Jacob Pratt et al.

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.


==============================================================================
DOCUMENT 07919255c7e04793d8ea760d6c2ce32d19f9ff02bdbdde3ce90b1e1880929a9b
==============================================================================
Copyright (c) 2014 Carl Lerche and other MIO contributors

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.


==============================================================================
DOCUMENT 0794c420cea59bf58084d3d65f56c5ad92b089bdd870684b253124c185a71f15
==============================================================================
// Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://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.


==============================================================================
DOCUMENT 0982c33390159842ecce8e9d6ce2e5e39961fe0e0ffbb2eec39c9ba46db6db10
==============================================================================
The MIT License (MIT)

Copyright (c) 2020 Pascal Seitz

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.


==============================================================================
DOCUMENT 09d5310bbaaa9e8df55e9746713f3c2c9b56b1868e5b3cef98f585d0107f90a9
==============================================================================
// Copyright 2026 The Fuchsia Authors
//
// Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0
// <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT
// license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
// This file may not be copied, modified, or distributed except according to
// those terms.


==============================================================================
DOCUMENT 0a3a2968deee45bfbddf2bb9e7fdfee965ac86cd687af9c150a242944ae62e80
==============================================================================
// Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://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.


==============================================================================
DOCUMENT 0ad1a3cc7a7d9e92db1a9d7c021dbf0b99a723576f6690c4001654a2f588d8f0
==============================================================================
// Copyright 2016 Brian Smith.
// Portions Copyright (c) 2016, Google Inc.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 0b28172679e0009b655da42797c03fd163a3379d5cfa67ba1f1655e974a2a1a9
==============================================================================
Copyright (c) 2018 The Servo Project Developers

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.


==============================================================================
DOCUMENT 0b83dc40cba89b9922bb84b0a9c7d2768ce37c1d7e138b7424fd4549915778c9
==============================================================================
MIT License

Copyright (c) 2019 Yoshua Wuyts
Copyright (c) Tokio Contributors

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.


==============================================================================
DOCUMENT 0beade56a930d1c1a35daa8cd5bbe8350757c3b38ac025a553f7db8bdfaf9e16
==============================================================================
// origin: FreeBSD /usr/src/lib/msun/src/s_sin.c */
//
// ====================================================
// Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
//
// Developed at SunPro, a Sun Microsystems, Inc. business.
// Permission to use, copy, modify, and distribute this
// software is freely granted, provided that this notice
// is preserved.
// ====================================================


==============================================================================
DOCUMENT 0d17b75c1867fd568bcbb735f329d0d4253846c4b756a65e4d440c1e4bd59187
==============================================================================
Copyright (c) Ferrous Systems

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.


==============================================================================
DOCUMENT 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594
==============================================================================

                                 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


==============================================================================
DOCUMENT 0dd882e53de11566d50f8e8e2d5a651bcf3fabee4987d70f306233cf39094ba7
==============================================================================
The MIT License (MIT)

Copyright (c) 2015 Alice Maz

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.


==============================================================================
DOCUMENT 0f96a83840e146e43c0ec96a22ec1f392e0680e6c1226e6f3ba87e0740af850f
==============================================================================
The MIT License (MIT)

Copyright (c) 2015 Andrew Gallant

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.


==============================================================================
DOCUMENT 117319946a34c90bd030673bd950776f1a2d46320be153c61de06dbcb55bacf0
==============================================================================
// Copyright Mozilla Foundation
//
// Licensed under the Apache License (Version 2.0), or the MIT license,
// (the "Licenses") at your option. You may not use this file except in
// compliance with one of the Licenses. You may obtain copies of the
// Licenses at:
//
//    https://www.apache.org/licenses/LICENSE-2.0
//    https://opensource.org/licenses/MIT
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the Licenses is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the Licenses for the specific language governing permissions and
// limitations under the Licenses.


==============================================================================
DOCUMENT 118929e2af641db591b373fe6a3c607fedca84f7f877f81e68743cfaf69f1cfd
==============================================================================
// This is a part of Chrono.
// Portions copyright (c) 2015, John Nagle.
// See README.md and LICENSE.txt for details.


==============================================================================
DOCUMENT 123a331b5dbf04c30097fa43b8f858bc85df671fe776de498d01f3d6b7c1f69e
==============================================================================
Copyright (c) The Rust Project Developers

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.


==============================================================================
DOCUMENT 12be7051cc7f7e11f992c70c25b5e23b5e459ee4f5cad31f03227df0e32f7714
==============================================================================
// SPDX-License-Identifier: BSD-2-Clause OR Apache-2.0 OR MIT
//
// Copyright 2024 The Fuchsia Authors
//
// Licensed under the 2-Clause BSD License <LICENSE-BSD or
// https://opensource.org/license/bsd-2-clause>, Apache License, Version 2.0
// <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT
// license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
// This file may not be copied, modified, or distributed except according to
// those terms.


==============================================================================
DOCUMENT 12fad4af918187e44426f4a6cd835d86974238bd9f59dec3759e8b5b6cef94b2
==============================================================================
// Copyright 2026 Google LLC
//
// 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
//
//     https://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.
//
// Code generated by sidekick. DO NOT EDIT.


==============================================================================
DOCUMENT 14ce24564a6171d756bd04345bba2ec40b8f028a7e943448cffb26b3409d6f75
==============================================================================
#! /usr/bin/env perl
# Copyright 2015-2020 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://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.


==============================================================================
DOCUMENT 155420c6403d4e0fca34105e3c03fdd6939b64c393c7ec6f95f5b72c5474eab0
==============================================================================

                                 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 2023 Jacob Pratt et al.

   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.


==============================================================================
DOCUMENT 16256ab70fb55a0f1383aa505862651ead7e380d81a592d5496e5304d031b15b
==============================================================================
// Copyright 2020 The BoringSSL Authors
//
// 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
//
//     https://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.


==============================================================================
DOCUMENT 16cd38a2d4dd0bf4b8a51ab4bd8779856a38d7ac96d4f8a3b092d8c707b0a021
==============================================================================
/*
 * ====================================================
 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
 *
 * Developed at SunSoft, a Sun Microsystems, Inc. business.
 * Permission to use, copy, modify, and distribute this
 * software is freely granted, provided that this notice
 * is preserved.
 * ====================================================
 */


==============================================================================
DOCUMENT 17c1e9bd9a6e4c153fb9d4799c782ec3c73209badd370ba6af6cc013bd7aa428
==============================================================================
// Copyright 2015-2025 Brian Smith.
// Copyright 2016 Simon Sapin.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 19150b0a6365ccc80859157a2b9e6603efb5bdbaafd845b2384710e0fe567436
==============================================================================
// Copyright 2016 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 1954992a2b32e8a2af24a4c11b726902e344c1934b947a77f04d404908f8db30
==============================================================================
MIT License

Copyright (c) 2019 Graham Esau

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.


==============================================================================
DOCUMENT 1992bdfcc167bcc2e41a493b905b4fdf05ae4be32350ebe0ab0f5aa925596162
==============================================================================
// Copyright 2016-2023 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 1a2f5c12ddc934d58956aa5dbdd3255fe55fd957633ab7d0d39e4f0daa73f7df
==============================================================================
Copyright 2023 The Fuchsia Authors

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.



==============================================================================
DOCUMENT 1a6848d5f4a398a10b3d804e62a1a6659418f31e98c19d36c0371025b01a2332
==============================================================================
// Copyright 2017 Amagicom AB.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT 1c7cf76689c837a68ed8d704994e52a0f2940c087958f860d17f3186afbdcc0c
==============================================================================
MIT License

Copyright (c) 2022 1Password

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.


==============================================================================
DOCUMENT 1cc060e851d62adaf4209f5978d5f155b159bc29d3012a96482a90802ad5b99a
==============================================================================
// Copyright 2022 The Fuchsia Authors
//
// Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0
// <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT
// license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
// This file may not be copied, modified, or distributed except according to
// those terms.


==============================================================================
DOCUMENT 1e2b7ade3fb228130408b9990cae6a7618eb314c75aa0b164bfe485d9d9756ee
==============================================================================
# 3rd Party Notices

The `cfg_aliases!` macro uses a lot of the code from [`tectonic_cfg_support::target_cfg!`] macro which is under the following license:

[`tectonic_cfg_support::target_cfg!`]: https://github.com/tectonic-typesetting/tectonic/blob/f2439b936470ad27bdf92882064bc4702ee01899/cfg_support/src/lib.rs#L166

    tectonic_cfg_support is licensed under the MIT License.

    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.
---


==============================================================================
DOCUMENT 1e697ce8d21401fbf1bddd9b5c3fd4c4c79ae1e3bdf51f81761c85e11d5a89cd
==============================================================================
The MIT License (MIT)

Copyright (c) 2015 Danny Guo
Copyright (c) 2016 Titus Wormer <tituswormer@gmail.com>
Copyright (c) 2018 Akash Kurdekar

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.


==============================================================================
DOCUMENT 1e84d94cf2609b964e7a1a8118c40ff5fac131e75f1e44290c86bfe80c2ae22f
==============================================================================
// Copyright 2017-2023 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 209fbbe0ad52d9235e37badf9cadfe4dbdc87203179c0899e738b39ade42177b
==============================================================================
Copyright 2018 Developers of the Rand project
Copyright (c) 2014 The Rust Project Developers

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.


==============================================================================
DOCUMENT 20c7855c364d57ea4c97889a5e8d98470a9952dade37bd9248b9a54431670e5e
==============================================================================
Copyright (c) 2013-2016 The rust-url developers

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.


==============================================================================
DOCUMENT 219920e865eee70b7dcfc948a86b099e7f4fe2de01bcca2ca9a20c0a033f2b59
==============================================================================
Copyright 2016 Nika Layzell

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.


==============================================================================
DOCUMENT 231c837c45eb53f108fb48929e488965bc4fcc14e9ea21d35f50e6b99d98685b
==============================================================================
Copyright (c) 2024 Jacob Pratt et al.

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.


==============================================================================
DOCUMENT 235cf4c9e6ae0ea6c77624920413343631dc90bb5d5b216d0ee4ce09346f19d3
==============================================================================
// Copyright The rust-url developers.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT 237e22bccd2a90c3305dceb0f4d9bcf79710c176f51390a87f725653f43b8d63
==============================================================================
// Copyright 2015-2024 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3
==============================================================================
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.


==============================================================================
DOCUMENT 248378d0a3383c173fb925f17141b88e71580b3ba17ddc6ac3d2a344683232ab
==============================================================================
Copyright (c) 2019-2026 Sean McArthur & Hyper Contributors

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.


==============================================================================
DOCUMENT 249fdb6694467dd615b259f7ddde07be3f8ae5a72cecebb0e24f6629af4215fe
==============================================================================
                                 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 Individual contributors

   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.



==============================================================================
DOCUMENT 2537228d9a1b44a5dc595241349cae7090b326c8de165aaf89bfddef4a00d0fc
==============================================================================
Copyright (c) Jacob Pratt et al.

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.


==============================================================================
DOCUMENT 253cd04c6714889df2d32f3f64d669179a1c95c76ac43c40882c52eb06bc3552
==============================================================================
MIT License

Copyright (c) Tokio Contributors

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.


==============================================================================
DOCUMENT 2575806bfd98a1f875507113471c92276296f165228e643cf359cdf1e079b58a
==============================================================================
// Copyright © 2017 winapi-rs developers
// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
// All files in the project carrying such notice may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT 2728151294eb93196ab6dd7cb28ddc6e9ab76bf7ebf8c2e1a15f0d2221c98c76
==============================================================================
// origin: FreeBSD /usr/src/lib/msun/src/s_exp2.c */
//-
// Copyright (c) 2005 David Schultz <das@FreeBSD.ORG>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
//    notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
//    notice, this list of conditions and the following disclaimer in the
//    documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.


==============================================================================
DOCUMENT 275c491d6d1160553c32fd6127061d7f9606c3ea25abfad6ca3f6ed088785427
==============================================================================
                              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 (c) 2016 Alex Crichton
Copyright (c) 2017 The Tokio Authors

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.


==============================================================================
DOCUMENT 2783634945c09a84be6e10ebee557dd377beb699a168eaeb8a3026ba0f25ecf8
==============================================================================
// Copyright 2016 The rust-url developers.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT 27995d58ad5c1145c1a8cd86244ce844886958a35eb2b78c6b772748669999ac
==============================================================================
Copyright (c) 2018 Josh Stone

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.


==============================================================================
DOCUMENT 2824581953fef33e7529e87d5b56039df708332cd971b2194020fa1fbf357b6b
==============================================================================
#! /usr/bin/env perl
# Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://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.


==============================================================================
DOCUMENT 286e5e6fa9e4a2e9d199c739b23b2b8cfe9b9676170a444a7b919484779084ca
==============================================================================
// Copyright 2024 Google LLC
//
// 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
//
//     https://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.
//
// Code generated by sidekick. DO NOT EDIT.


==============================================================================
DOCUMENT 29e9fe5074bd27e0e5d5d110394fbbcd841baee2651a3c4b4560a632702cede4
==============================================================================
Copyright (c) 2018-2025 The rust-random Project Developers
Copyright (c) 2014 The Rust Project Developers

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.


==============================================================================
DOCUMENT 2a4d2dcf0ea50fd3ee028c9b816dca5fedc8718e23d5d67735f8d21fb8637856
==============================================================================
// Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://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.


==============================================================================
DOCUMENT 2ceaf7af282272d93947405ab9f546a85585ae50aafe326f186e2927a9c688e7
==============================================================================
// Copyright 2024 Google LLC
//
// 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
//
//     https://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.


==============================================================================
DOCUMENT 2d01890414494742ba4a509fcec8efa40f6d8be22cbd72be7cff08d6fda4ec89
==============================================================================
Copyright (c) 2014-2026 Sean McArthur

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.


==============================================================================
DOCUMENT 2ef6556d2786ddbb146ce007db2c5fc3d478292f79cb87d01ee4d88e7e4b2818
==============================================================================
// Copyright 2015-2019 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 2f2f4afce114b8a1b3c1d14a18eeb841fe5803dc553cfda3254bc0eb90e2293b
==============================================================================
// Copyright 2015-2025 Brian Smith.
// Portions Copyright (c) 2014, 2015, Google Inc.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 2f3b9afc39d6766c7d60d02e887723fb8e68043eaf38b3e77ce03f16d54c281b
==============================================================================
// Copyright 2025 Google LLC
//
// 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
//
//     https://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.
//
// Code generated by sidekick. DO NOT EDIT.

#[allow(unused_imports)]
use super::*;

impl std::fmt::Debug for super::Configuration {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("Configuration");
        debug_struct.field("name", &self.name);
        debug_struct.field("display_name", &self.display_name);
        debug_struct.field("product", &self.product);
        debug_struct.field("license_type", &self.license_type);
        debug_struct.field("current_billing_info", &self.current_billing_info);
        debug_struct.field("next_billing_info", &self.next_billing_info);
        debug_struct.field("create_time", &self.create_time);
        debug_struct.field("update_time", &self.update_time);
        debug_struct.field("labels", &self.labels);
        debug_struct.field("state", &self.state);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::BillingInfo {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("BillingInfo");
        debug_struct.field("start_time", &self.start_time);
        debug_struct.field("end_time", &self.end_time);
        debug_struct.field("current_billing_info", &self.current_billing_info);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::UserCountBillingInfo {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("UserCountBillingInfo");
        debug_struct.field("user_count", &self.user_count);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::UserCountUsage {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("UserCountUsage");
        debug_struct.field("unique_user_count", &self.unique_user_count);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::Product {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("Product");
        debug_struct.field("name", &self.name);
        debug_struct.field("version", &self.version);
        debug_struct.field("product_company", &self.product_company);
        debug_struct.field("state", &self.state);
        debug_struct.field("sku", &self.sku);
        debug_struct.field("description", &self.description);
        debug_struct.field("display_name", &self.display_name);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::Instance {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("Instance");
        debug_struct.field("name", &self.name);
        debug_struct.field("create_time", &self.create_time);
        debug_struct.field("update_time", &self.update_time);
        debug_struct.field("labels", &self.labels);
        debug_struct.field("state", &self.state);
        debug_struct.field("region", &self.region);
        debug_struct.field("product_activation", &self.product_activation);
        debug_struct.field("license_version_id", &self.license_version_id);
        debug_struct.field("compute_instance", &self.compute_instance);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::Usage {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("Usage");
        debug_struct.field("lima_instance", &self.lima_instance);
        debug_struct.field("users", &self.users);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::ListConfigurationsRequest {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("ListConfigurationsRequest");
        debug_struct.field("parent", &self.parent);
        debug_struct.field("page_size", &self.page_size);
        debug_struct.field("page_token", &self.page_token);
        debug_struct.field("filter", &self.filter);
        debug_struct.field("order_by", &self.order_by);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::ListConfigurationsResponse {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("ListConfigurationsResponse");
        debug_struct.field("configurations", &self.configurations);
        debug_struct.field("next_page_token", &self.next_page_token);
        debug_struct.field("unreachable", &self.unreachable);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::GetConfigurationRequest {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("GetConfigurationRequest");
        debug_struct.field("name", &self.name);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::CreateConfigurationRequest {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("CreateConfigurationRequest");
        debug_struct.field("parent", &self.parent);
        debug_struct.field("configuration_id", &self.configuration_id);
        debug_struct.field("configuration", &self.configuration);
        debug_struct.field("request_id", &self.request_id);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::UpdateConfigurationRequest {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("UpdateConfigurationRequest");
        debug_struct.field("update_mask", &self.update_mask);
        debug_struct.field("configuration", &self.configuration);
        debug_struct.field("request_id", &self.request_id);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::DeleteConfigurationRequest {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("DeleteConfigurationRequest");
        debug_struct.field("name", &self.name);
        debug_struct.field("request_id", &self.request_id);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::ListInstancesRequest {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("ListInstancesRequest");
        debug_struct.field("parent", &self.parent);
        debug_struct.field("page_size", &self.page_size);
        debug_struct.field("page_token", &self.page_token);
        debug_struct.field("filter", &self.filter);
        debug_struct.field("order_by", &self.order_by);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::ListInstancesResponse {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("ListInstancesResponse");
        debug_struct.field("instances", &self.instances);
        debug_struct.field("next_page_token", &self.next_page_token);
        debug_struct.field("unreachable", &self.unreachable);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::GetInstanceRequest {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("GetInstanceRequest");
        debug_struct.field("name", &self.name);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::QueryConfigurationLicenseUsageRequest {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("QueryConfigurationLicenseUsageRequest");
        debug_struct.field("name", &self.name);
        debug_struct.field("start_time", &self.start_time);
        debug_struct.field("end_time", &self.end_time);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::QueryConfigurationLicenseUsageResponse {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("QueryConfigurationLicenseUsageResponse");
        debug_struct.field("details", &self.details);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::DeactivateConfigurationRequest {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("DeactivateConfigurationRequest");
        debug_struct.field("name", &self.name);
        debug_struct.field("request_id", &self.request_id);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::ReactivateConfigurationRequest {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("ReactivateConfigurationRequest");
        debug_struct.field("name", &self.name);
        debug_struct.field("request_id", &self.request_id);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::AggregateUsageRequest {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("AggregateUsageRequest");
        debug_struct.field("name", &self.name);
        debug_struct.field("page_size", &self.page_size);
        debug_struct.field("page_token", &self.page_token);
        debug_struct.field("filter", &self.filter);
        debug_struct.field("order_by", &self.order_by);
        debug_struct.field("start_time", &self.start_time);
        debug_struct.field("end_time", &self.end_time);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::AggregateUsageResponse {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("AggregateUsageResponse");
        debug_struct.field("usages", &self.usages);
        debug_struct.field("next_page_token", &self.next_page_token);
        debug_struct.field("unreachable", &self.unreachable);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::ListProductsRequest {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("ListProductsRequest");
        debug_struct.field("parent", &self.parent);
        debug_struct.field("page_size", &self.page_size);
        debug_struct.field("page_token", &self.page_token);
        debug_struct.field("filter", &self.filter);
        debug_struct.field("order_by", &self.order_by);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::ListProductsResponse {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("ListProductsResponse");
        debug_struct.field("products", &self.products);
        debug_struct.field("next_page_token", &self.next_page_token);
        debug_struct.field("unreachable", &self.unreachable);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::GetProductRequest {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("GetProductRequest");
        debug_struct.field("name", &self.name);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::OperationMetadata {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("OperationMetadata");
        debug_struct.field("create_time", &self.create_time);
        debug_struct.field("end_time", &self.end_time);
        debug_struct.field("target", &self.target);
        debug_struct.field("verb", &self.verb);
        debug_struct.field("status_message", &self.status_message);
        debug_struct.field("requested_cancellation", &self.requested_cancellation);
        debug_struct.field("api_version", &self.api_version);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}


==============================================================================
DOCUMENT 2fc73e07c5bc0fc3e5a27663e10b255ede42fd5d8ccd8c9faca3451befab77f2
==============================================================================
// Copyright 2026 The Fuchsia Authors
//
// Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0
// <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT
// license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
// You may not use this file except in compliance with those licenses.


==============================================================================
DOCUMENT 31763fd3a985beee0412efbb0983721462c7a704829c473d9747fda4728f0918
==============================================================================
// Copyright 2021 Developers of the Rand project.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT 31b94860253d8ec7b4529f51901044d3b459d6292d996504a36b1bae3a36a812
==============================================================================
MIT License

Copyright (c) 2020 Katharos Technology

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.


==============================================================================
DOCUMENT 3210be7332b5bdf48eb24a945258b9f38616a2cceb0dfc06e3c3c7e9740475a0
==============================================================================
Copyright Mozilla Foundation

Licensed under the Apache License (Version 2.0), or the MIT license,
(the "Licenses") at your option. You may not use this file except in
compliance with one of the Licenses. You may obtain copies of the
Licenses at:

   https://www.apache.org/licenses/LICENSE-2.0
   https://opensource.org/licenses/MIT

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

--

Test code is dedicated to the Public Domain when so designated (see
the individual files for PD/CC0-dedicated sections).


==============================================================================
DOCUMENT 328228f5b32e22467a699ec92ca3b87322e2ddee4d1574fcb234c2bc4b7795ce
==============================================================================
#! /usr/bin/env perl
# Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://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.


==============================================================================
DOCUMENT 330113b2198c4da8fda6cb1b723a4bf177d7d471e1954c3f786e0cc3815520db
==============================================================================
// Copyright 2016-2021 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 3428b11ae8b98b710ca5afbb691e9285762fa4043c8cbccc37ff19c93a1b7be2
==============================================================================
# Copyright (c) 2022, ARM Inc.
#
# 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
#
#     https://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.


==============================================================================
DOCUMENT 35242e7a83f69875e6edeff02291e688c97caafe2f8902e4e19b49d3e78b4cab
==============================================================================
                              Apache License
                        Version 2.0, January 2004
                     https://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


==============================================================================
DOCUMENT 3636b6533bb78c6976b4d112f9805311e445547676a4daa161c9a7b7a93e086c
==============================================================================
/* SPDX-License-Identifier: MIT */


==============================================================================
DOCUMENT 36bb253818ac13761081556ff5c457d626da9df1eb4f56194d9ad3926c418a68
==============================================================================
MIT OR Apache-2.0


==============================================================================
DOCUMENT 378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397
==============================================================================
Copyright (c) 2014 Alex Crichton

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.


==============================================================================
DOCUMENT 3823dda7cf046602f4b4e77ec8e227863dc4736037cc85bb33d9f19febe16bb7
==============================================================================
rust-lang/libm as a whole is available for use under the MIT license:

------------------------------------------------------------------------------
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.
------------------------------------------------------------------------------

As a contributor, you agree that your code can be used under either the MIT
license or the Apache-2.0 license:

------------------------------------------------------------------------------
                                 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.

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

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

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

This Rust library contains the following copyrights:

    Copyright (c) 2018 Jorge Aparicio

Portions of this software are derived from third-party works licensed under
terms compatible with the above MIT license:

* musl libc https://www.musl-libc.org/. This library contains the following
  copyright:

      Copyright © 2005-2020 Rich Felker, et al.

* The CORE-MATH project https://core-math.gitlabpages.inria.fr/. CORE-MATH
  routines are available under the MIT license on a per-file basis.

The musl libc COPYRIGHT file also includes the following notice relevant to
math portions of the library:

------------------------------------------------------------------------------
Much of the math library code (src/math/* and src/complex/*) is
Copyright © 1993,2004 Sun Microsystems or
Copyright © 2003-2011 David Schultz or
Copyright © 2003-2009 Steven G. Kargl or
Copyright © 2003-2009 Bruce D. Evans or
Copyright © 2008 Stephen L. Moshier or
Copyright © 2017-2018 Arm Limited
and labelled as such in comments in the individual source files. All
have been licensed under extremely permissive terms.
------------------------------------------------------------------------------

Copyright notices are retained in src/* files where relevant.


==============================================================================
DOCUMENT 388358f4a097d89594c39cc7b2cd475e517f6cb5f26216d81157bbf1c5dfca7d
==============================================================================
// Copyright 2014 The BoringSSL Authors
//
// 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
//
//     https://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.


==============================================================================
DOCUMENT 388ab80c8f3a357eaf6c89d831047392791cb8439a538dedf1a2af6f05a7c344
==============================================================================
// SPDX-License-Identifier: BSD-2-Clause OR Apache-2.0 OR MIT
//
// Copyright 2024 The Fuchsia Authors
//
// Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0
// <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT
// license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
// This file may not be copied, modified, or distributed except according to
// those terms.


==============================================================================
DOCUMENT 38a6ec7a22e71a78f91d9b785a3657f1b119beb8bd8b0e04df316b1880ca62d2
==============================================================================
// Copyright 2015-2022 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 391a5396cec6230bfabd4ef4eb2350eb895bc5efce377a2218f5702ed020d3e3
==============================================================================
Copyright (c) 2015-2025 Sean McArthur

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.



==============================================================================
DOCUMENT 3b7977afcd364d23a237b28c22c087e3eb09f74916bb018ac4b094abdac0af52
==============================================================================
#! /usr/bin/env perl
# Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
# Copyright (c) 2014, Intel Corporation. All Rights Reserved.
# Copyright (c) 2015 CloudFlare, Inc.
#
# 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
#
#     https://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.
#
# Originally written by Shay Gueron (1, 2), and Vlad Krasnov (1, 3)
# (1) Intel Corporation, Israel Development Center, Haifa, Israel
# (2) University of Haifa, Israel
# (3) CloudFlare, Inc.
#
# Reference:
# S.Gueron and V.Krasnov, "Fast Prime Field Elliptic Curve Cryptography with
#                          256 Bit Primes"


==============================================================================
DOCUMENT 3b7df402160fc95c1ec4d256f720da6b75b1c5c69ad6826acfa5f096e349a42c
==============================================================================
// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT 3c125f249fc6fb19f2415d027a0d9a170860583960ea53d08ea1d2b3f269d153
==============================================================================
Copyright (c) 2017 Robert Grosse

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.


==============================================================================
DOCUMENT 3c97f5b6ad4e73ad22dc0d1e0c7120579a350df57095120017ddfe5a8669604e
==============================================================================
                              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 2014 Paho Lurie-Gregg

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.


==============================================================================
DOCUMENT 3eab77734a181b2a2e8418af9004f960f715f04aac4d76a26cf774f63a7b13d1
==============================================================================
The MIT License (MIT)

Copyright 2017-2023 Eira Fransham.

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.


==============================================================================
DOCUMENT 3ef15f79d7863560863fd4c6d14ff2597ca34d83a01100b1d1b4f67ca1f2619d
==============================================================================
#! /usr/bin/env perl
# Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://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.


==============================================================================
DOCUMENT 3fa4ca83dcc9237839b1bdeb2e6d16bdfb5ec0c5ce42b24694d8bbf0dcbef72c
==============================================================================
Copyright Mozilla Foundation

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.


==============================================================================
DOCUMENT 41863446d81ba3f368de0b756e48ec463a85c90e877e1273f7c524cf8cd4cd99
==============================================================================
# Copyright (c) 2020, CloudFlare Ltd.
#
# 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
#
#     https://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.


==============================================================================
DOCUMENT 4249c8e6c5ebb85f97c77e6457c6fafc1066406eb8f1ef61e796fbdc5ff18482
==============================================================================
Copyright (c) 2019 Tower Contributors

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.


==============================================================================
DOCUMENT 42d3bf7e7d4d49d72c0555d14ed99c3ee7ce9ce3cbffbc38bbafe8c103f50969
==============================================================================
MIT License
Copyright (c) 2016 The roaring-rs developers.

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.


==============================================================================
DOCUMENT 42fa16951ce7f24b5a467a40e5b449a1d41e662f97ca779864f053f39e097737
==============================================================================
Copyright (c) 2018-2024 The rust-random Project Developers
Copyright (c) 2014 The Rust Project Developers

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.


==============================================================================
DOCUMENT 436bc5a105d8e57dcd8778730f3754f7bf39c14d2f530e4cde4bd2d17a83ec3d
==============================================================================
Copyright (c) 2014 The Rust Project Developers
Copyright (c) 2018 Ashley Mannix, Christopher Armstrong, Dylan DPC, Hunar Roop Kahlon

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.


==============================================================================
DOCUMENT 4455bf75a91154108304cb283e0fea9948c14f13e20d60887cf2552449dea3b1
==============================================================================
The MIT License (MIT)

Copyright (c) 2015 Nicholas Allegra (comex).

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.


==============================================================================
DOCUMENT 44a626f7cf572fb5d30a97a3f7bf223ff05626a1c95094b0847ffe51d5c314d8
==============================================================================
/*
 *
 * Copyright 2025 gRPC authors.
 *
 * 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.
 *
 */


==============================================================================
DOCUMENT 454f6f9525490bd6421568b9a3ecc5642b2d43ff41f2199a7836ac480a9b4386
==============================================================================
// Copyright 2013-2014 The rust-url developers.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT 45f522cacecb1023856e46df79ca625dfc550c94910078bd8aec6e02880b3d42
==============================================================================
Copyright (c) 2018 Carl Lerche

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.


==============================================================================
DOCUMENT 45fd05c4865e7c350b98ad7ac50e1b15462d49af4a91e9b0c9dd933dc9a69742
==============================================================================
                              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 2023 Dirkjan Ochtman

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.


==============================================================================
DOCUMENT 4607899cec7ea61b3337abbae6c2a63a00711fd2246d6414e2856b9ce9328c8b
==============================================================================
/*
 * ====================================================
 * Copyright 2004 Sun Microsystems, Inc.  All Rights Reserved.
 *
 * Permission to use, copy, modify, and distribute this
 * software is freely granted, provided that this notice
 * is preserved.
 * ====================================================
 */


==============================================================================
DOCUMENT 46d267f8d09e95af7e4bdcdcc501458474e5ca4115a4de94c0db8083dff1f17a
==============================================================================
// Copyright 2022 Rafael Fernández López.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 47dc9ff29128ddfb4d6a0435383c9f89120bc374dbcc1dd00b933a0b28aa7865
==============================================================================
Copyright 2017 Juniper Networks, Inc.

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.


==============================================================================
DOCUMENT 49032c237b1d0370051de3efefcbe5d5b71454aa7897c66b343f9d291b843465
==============================================================================
#! /usr/bin/env perl
# Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://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.


==============================================================================
DOCUMENT 4a42f2ce6a381bc99573c7bb3402bfc2a6ae999428ec28695e825fd20ff985c5
==============================================================================
// Copyright 2016-2019 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 4a7fc24e5dac1e7f899ce2ee12cddd073b3bba75813adf2efa264d17f93725d5
==============================================================================
// Copyright 2025 Google LLC
//
// 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
//
//     https://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.
//
// Code generated by sidekick. DO NOT EDIT.
use crate::Result;

/// Implements a [LicenseManager](super::stub::LicenseManager) decorator for logging and tracing.
#[derive(Clone, Debug)]
pub struct LicenseManager<T>
where
    T: super::stub::LicenseManager + std::fmt::Debug + Send + Sync,
{
    inner: T,
    duration: gaxi::observability::DurationMetric,
}

impl<T> LicenseManager<T>
where
    T: super::stub::LicenseManager + std::fmt::Debug + Send + Sync,
{
    pub fn new(inner: T) -> Self {
        Self {
            inner,
            duration: gaxi::observability::DurationMetric::new(&info::INSTRUMENTATION_CLIENT_INFO),
        }
    }
}

impl<T> super::stub::LicenseManager for LicenseManager<T>
where
    T: super::stub::LicenseManager + std::fmt::Debug + Send + Sync,
{
    #[tracing::instrument(level = tracing::Level::DEBUG, ret)]
    async fn list_configurations(
        &self,
        req: crate::model::ListConfigurationsRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<crate::model::ListConfigurationsResponse>> {
        let (_span, pending) = gaxi::client_request_signals!(
            metric: self.duration.clone(),
            info: *info::INSTRUMENTATION_CLIENT_INFO,
            method: "client::LicenseManager::list_configurations",
            self.inner.list_configurations(req, options));
        pending.await
    }

    #[tracing::instrument(level = tracing::Level::DEBUG, ret)]
    async fn get_configuration(
        &self,
        req: crate::model::GetConfigurationRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<crate::model::Configuration>> {
        let (_span, pending) = gaxi::client_request_signals!(
            metric: self.duration.clone(),
            info: *info::INSTRUMENTATION_CLIENT_INFO,
            method: "client::LicenseManager::get_configuration",
            self.inner.get_configuration(req, options));
        pending.await
    }

    #[tracing::instrument(level = tracing::Level::DEBUG, ret)]
    async fn create_configuration(
        &self,
        req: crate::model::CreateConfigurationRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
        let (_span, pending) = gaxi::client_request_signals!(
            metric: self.duration.clone(),
            info: *info::INSTRUMENTATION_CLIENT_INFO,
            method: "client::LicenseManager::create_configuration",
            self.inner.create_configuration(req, options));
        pending.await
    }

    #[tracing::instrument(level = tracing::Level::DEBUG, ret)]
    async fn update_configuration(
        &self,
        req: crate::model::UpdateConfigurationRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
        let (_span, pending) = gaxi::client_request_signals!(
            metric: self.duration.clone(),
            info: *info::INSTRUMENTATION_CLIENT_INFO,
            method: "client::LicenseManager::update_configuration",
            self.inner.update_configuration(req, options));
        pending.await
    }

    #[tracing::instrument(level = tracing::Level::DEBUG, ret)]
    async fn delete_configuration(
        &self,
        req: crate::model::DeleteConfigurationRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
        let (_span, pending) = gaxi::client_request_signals!(
            metric: self.duration.clone(),
            info: *info::INSTRUMENTATION_CLIENT_INFO,
            method: "client::LicenseManager::delete_configuration",
            self.inner.delete_configuration(req, options));
        pending.await
    }

    #[tracing::instrument(level = tracing::Level::DEBUG, ret)]
    async fn list_instances(
        &self,
        req: crate::model::ListInstancesRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<crate::model::ListInstancesResponse>> {
        let (_span, pending) = gaxi::client_request_signals!(
            metric: self.duration.clone(),
            info: *info::INSTRUMENTATION_CLIENT_INFO,
            method: "client::LicenseManager::list_instances",
            self.inner.list_instances(req, options));
        pending.await
    }

    #[tracing::instrument(level = tracing::Level::DEBUG, ret)]
    async fn get_instance(
        &self,
        req: crate::model::GetInstanceRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<crate::model::Instance>> {
        let (_span, pending) = gaxi::client_request_signals!(
            metric: self.duration.clone(),
            info: *info::INSTRUMENTATION_CLIENT_INFO,
            method: "client::LicenseManager::get_instance",
            self.inner.get_instance(req, options));
        pending.await
    }

    #[tracing::instrument(level = tracing::Level::DEBUG, ret)]
    async fn deactivate_configuration(
        &self,
        req: crate::model::DeactivateConfigurationRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
        let (_span, pending) = gaxi::client_request_signals!(
            metric: self.duration.clone(),
            info: *info::INSTRUMENTATION_CLIENT_INFO,
            method: "client::LicenseManager::deactivate_configuration",
            self.inner.deactivate_configuration(req, options));
        pending.await
    }

    #[tracing::instrument(level = tracing::Level::DEBUG, ret)]
    async fn reactivate_configuration(
        &self,
        req: crate::model::ReactivateConfigurationRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
        let (_span, pending) = gaxi::client_request_signals!(
            metric: self.duration.clone(),
            info: *info::INSTRUMENTATION_CLIENT_INFO,
            method: "client::LicenseManager::reactivate_configuration",
            self.inner.reactivate_configuration(req, options));
        pending.await
    }

    #[tracing::instrument(level = tracing::Level::DEBUG, ret)]
    async fn query_configuration_license_usage(
        &self,
        req: crate::model::QueryConfigurationLicenseUsageRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<crate::model::QueryConfigurationLicenseUsageResponse>> {
        let (_span, pending) = gaxi::client_request_signals!(
            metric: self.duration.clone(),
            info: *info::INSTRUMENTATION_CLIENT_INFO,
            method: "client::LicenseManager::query_configuration_license_usage",
            self.inner.query_configuration_license_usage(req, options));
        pending.await
    }

    #[tracing::instrument(level = tracing::Level::DEBUG, ret)]
    async fn aggregate_usage(
        &self,
        req: crate::model::AggregateUsageRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<crate::model::AggregateUsageResponse>> {
        let (_span, pending) = gaxi::client_request_signals!(
            metric: self.duration.clone(),
            info: *info::INSTRUMENTATION_CLIENT_INFO,
            method: "client::LicenseManager::aggregate_usage",
            self.inner.aggregate_usage(req, options));
        pending.await
    }

    #[tracing::instrument(level = tracing::Level::DEBUG, ret)]
    async fn list_products(
        &self,
        req: crate::model::ListProductsRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<crate::model::ListProductsResponse>> {
        let (_span, pending) = gaxi::client_request_signals!(
            metric: self.duration.clone(),
            info: *info::INSTRUMENTATION_CLIENT_INFO,
            method: "client::LicenseManager::list_products",
            self.inner.list_products(req, options));
        pending.await
    }

    #[tracing::instrument(level = tracing::Level::DEBUG, ret)]
    async fn get_product(
        &self,
        req: crate::model::GetProductRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<crate::model::Product>> {
        let (_span, pending) = gaxi::client_request_signals!(
            metric: self.duration.clone(),
            info: *info::INSTRUMENTATION_CLIENT_INFO,
            method: "client::LicenseManager::get_product",
            self.inner.get_product(req, options));
        pending.await
    }

    #[tracing::instrument(level = tracing::Level::DEBUG, ret)]
    async fn list_locations(
        &self,
        req: google_cloud_location::model::ListLocationsRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<google_cloud_location::model::ListLocationsResponse>> {
        let (_span, pending) = gaxi::client_request_signals!(
            metric: self.duration.clone(),
            info: *info::INSTRUMENTATION_CLIENT_INFO,
            method: "client::LicenseManager::list_locations",
            self.inner.list_locations(req, options));
        pending.await
    }

    #[tracing::instrument(level = tracing::Level::DEBUG, ret)]
    async fn get_location(
        &self,
        req: google_cloud_location::model::GetLocationRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<google_cloud_location::model::Location>> {
        let (_span, pending) = gaxi::client_request_signals!(
            metric: self.duration.clone(),
            info: *info::INSTRUMENTATION_CLIENT_INFO,
            method: "client::LicenseManager::get_location",
            self.inner.get_location(req, options));
        pending.await
    }

    #[tracing::instrument(level = tracing::Level::DEBUG, ret)]
    async fn list_operations(
        &self,
        req: google_cloud_longrunning::model::ListOperationsRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<google_cloud_longrunning::model::ListOperationsResponse>> {
        let (_span, pending) = gaxi::client_request_signals!(
            metric: self.duration.clone(),
            info: *info::INSTRUMENTATION_CLIENT_INFO,
            method: "client::LicenseManager::list_operations",
            self.inner.list_operations(req, options));
        pending.await
    }

    #[tracing::instrument(level = tracing::Level::DEBUG, ret)]
    async fn get_operation(
        &self,
        req: google_cloud_longrunning::model::GetOperationRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
        let (_span, pending) = gaxi::client_request_signals!(
            metric: self.duration.clone(),
            info: *info::INSTRUMENTATION_CLIENT_INFO,
            method: "client::LicenseManager::get_operation",
            self.inner.get_operation(req, options));
        google_cloud_lro::record_polling_attributes!(&_span);
        let result = pending.await;
        {
            if google_cloud_lro::LroRecorder::current().is_some() {
                match &result {
                    Ok(response) => {
                        let op = response.body();
                        _span.record("gcp.longrunning.done", op.done);
                        if op.done {
                            let code = match &op.result {
                                Some(
                                    google_cloud_longrunning::model::operation::Result::Error(
                                        status,
                                    ),
                                ) => status.code,
                                _ => 0,
                            };
                            _span.record("gcp.longrunning.status_code", code);
                            if let Some(
                                google_cloud_longrunning::model::operation::Result::Error(status),
                            ) = &op.result
                            {
                                _span.record("otel.status_code", "ERROR");
                                _span.record("otel.status_description", &status.message);
                                _span.record("rpc.response.status_code", status.code);
                                _span.record(
                                    "error.type",
                                    google_cloud_gax::error::rpc::Code::from(status.code)
                                        .to_string(),
                                );
                            }
                        }
                    }
                    Err(e) => {
                        _span.record("otel.status_code", "ERROR");
                        _span.record("otel.status_description", e.to_string());
                    }
                }
            }
        }
        result
    }

    #[tracing::instrument(level = tracing::Level::DEBUG, ret)]
    async fn delete_operation(
        &self,
        req: google_cloud_longrunning::model::DeleteOperationRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<()>> {
        let (_span, pending) = gaxi::client_request_signals!(
            metric: self.duration.clone(),
            info: *info::INSTRUMENTATION_CLIENT_INFO,
            method: "client::LicenseManager::delete_operation",
            self.inner.delete_operation(req, options));
        pending.await
    }

    #[tracing::instrument(level = tracing::Level::DEBUG, ret)]
    async fn cancel_operation(
        &self,
        req: google_cloud_longrunning::model::CancelOperationRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<()>> {
        let (_span, pending) = gaxi::client_request_signals!(
            metric: self.duration.clone(),
            info: *info::INSTRUMENTATION_CLIENT_INFO,
            method: "client::LicenseManager::cancel_operation",
            self.inner.cancel_operation(req, options));
        pending.await
    }

    fn get_polling_error_policy(
        &self,
        options: &crate::RequestOptions,
    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
        self.inner.get_polling_error_policy(options)
    }

    fn get_polling_backoff_policy(
        &self,
        options: &crate::RequestOptions,
    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
        self.inner.get_polling_backoff_policy(options)
    }

    #[doc(hidden)]
    fn get_poller_options(
        &self,
        options: &crate::RequestOptions,
    ) -> google_cloud_lro::PollerOptions {
        let mut opts = self.inner.get_poller_options(options);
        let details = google_cloud_lro::TracingDetails::default();
        opts.tracing = Some(details);
        opts
    }
}

pub(crate) mod info {
    const NAME: &str = env!("CARGO_PKG_NAME");
    const VERSION: &str = env!("CARGO_PKG_VERSION");
    pub(crate) static INSTRUMENTATION_CLIENT_INFO: std::sync::LazyLock<
        gaxi::options::InstrumentationClientInfo,
    > = std::sync::LazyLock::new(|| {
        let mut info = gaxi::options::InstrumentationClientInfo::default();
        info.service_name = "licensemanager";
        info.client_version = VERSION;
        info.client_artifact = NAME;
        info.default_host = "licensemanager";
        info
    });
}


==============================================================================
DOCUMENT 4c7b50e15e4779b0702b95bb446cc81e5d564329481fd694376cc2a246f11162
==============================================================================
// Copyright 2025 Google LLC
//
// 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
//
//     https://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.
//
// Code generated by sidekick. DO NOT EDIT.

//! Google Cloud Client Libraries for Rust - License Manager API
//!
//! This crate contains traits, types, and functions to interact with License Manager API
//! Most applications will use the structs defined in the [client] module.
//!
//! The client library types and functions are stable and not expected to change.
//! Please note that Google Cloud services do change from time to time. The client
//! libraries are designed to preserve backwards compatibility when the service
//! changes in compatible ways. For example, adding RPCs, or fields to messages
//! should not introduce breaking changes to the client libraries.
//!
//! # Available Clients
//!
//! * [LicenseManager](client/struct.LicenseManager.html)
//!
//! # Features
//!
//! - `default-rustls-provider`: enabled by default. Use the default rustls
//!   crypto provider ([aws-lc-rs]) for TLS and authentication. Applications
//!   with specific requirements for cryptography (such as exclusively using the
//!   [ring] crate) should disable this default and call
//!   `rustls::crypto::CryptoProvider::install_default()`.
//!
//! [aws-lc-rs]: https://crates.io/crates/aws-lc-rs
//! [ring]: https://crates.io/crates/ring

/// The messages and enums that are part of this client library.
#[allow(clippy::module_inception)]
pub mod model;

pub use google_cloud_gax::Result;
pub use google_cloud_gax::error::Error;

#[allow(rustdoc::invalid_html_tags)]
#[allow(rustdoc::redundant_explicit_links)]
pub mod stub;

/// Concrete implementations of client library traits.
///
/// # Example
/// ```
/// # use google_cloud_licensemanager_v1::client::LicenseManager;
/// use google_cloud_gax::paginator::ItemPaginator as _;
/// async fn sample(
///    project_id: &str,
///    location_id: &str,
/// ) -> anyhow::Result<()> {
///     let client = LicenseManager::builder().build().await?;
///     let mut list = client.list_configurations()
///         .set_parent(format!("projects/{project_id}/locations/{location_id}"))
///         .by_item();
///     while let Some(item) = list.next().await.transpose()? {
///         println!("{:?}", item);
///     }
///     Ok(())
/// }
/// ```
pub mod client;

/// Request builders.
pub mod builder;

#[doc(hidden)]
pub(crate) mod tracing;

#[doc(hidden)]
pub(crate) mod transport;

/// The default host used by the service.
const DEFAULT_HOST: &str = "https://licensemanager.googleapis.com/";

pub(crate) mod info {
    const NAME: &str = env!("CARGO_PKG_NAME");
    const VERSION: &str = env!("CARGO_PKG_VERSION");
    pub(crate) static X_GOOG_API_CLIENT_HEADER: std::sync::LazyLock<String> =
        std::sync::LazyLock::new(|| {
            let ac = gaxi::api_header::XGoogApiClient {
                name: NAME,
                version: VERSION,
                library_type: gaxi::api_header::GAPIC,
            };
            ac.rest_header_value()
        });
}

// Define some shortcuts for imported crates.
pub(crate) use google_cloud_gax::client_builder::ClientBuilder;
pub(crate) use google_cloud_gax::client_builder::Result as ClientBuilderResult;
pub(crate) use google_cloud_gax::client_builder::internal::ClientFactory;
pub(crate) use google_cloud_gax::client_builder::internal::new_builder as new_client_builder;
pub(crate) use google_cloud_gax::options::RequestOptions;
pub(crate) use google_cloud_gax::options::internal::RequestBuilder;
pub(crate) use google_cloud_gax::response::Response;


==============================================================================
DOCUMENT 4cada0bd02ea3692eee6f16400d86c6508bbd3bafb2b65fed0419f36d4f83e8f
==============================================================================
Copyright (c) 2019 The CryptoCorrosion Contributors

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.


==============================================================================
DOCUMENT 4d6a22864230012069284ffc528e169aa077cb0a96dbac8d144ce42df8261c15
==============================================================================
// Copyright 2013-2015 The Servo Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT 4d854c78554e7b14dd38275a06a5ec9ea6294e514a6cd609136f5f9feb5bfb06
==============================================================================
// Copyright 2017 Robert Grosse


==============================================================================
DOCUMENT 4da95ec4ecb65b738d470b7d762894ad9c97da93e6cbfb18b570fc2c96f4b871
==============================================================================
Copyright (c) Ulrik Sverdrup "bluss" 2015-2023

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.


==============================================================================
DOCUMENT 4e56fd993a0234253c26e7800e38e8dfee21acb0136fbd42820bce628def5177
==============================================================================
# Copyright (c) 2015, CloudFlare Ltd.
#
# 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
#
#     https://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.


==============================================================================
DOCUMENT 4e607371210735a4dfc0b4f9008792511f90e79ec9fb53359609bb3d41b98642
==============================================================================
{
    "api_description": "License Manager is a tool to manage and track third-party licenses on\nGoogle Cloud.",
    "api_id": "licensemanager.googleapis.com",
    "api_shortname": "licensemanager",
    "client_documentation": "https://docs.rs/google-cloud-licensemanager-v1/latest",
    "distribution_name": "google-cloud-licensemanager-v1",
    "issue_tracker": "https://issuetracker.google.com/issues/new?component=1659587",
    "language": "rust",
    "library_type": "GAPIC_AUTO",
    "name": "licensemanager",
    "name_pretty": "License Manager",
    "product_documentation": "https://cloud.google.com/compute/",
    "release_level": "stable",
    "repo": "googleapis/google-cloud-rust"
}


==============================================================================
DOCUMENT 4f2c4ed3fc3a86bde1cb544218f8cc519cac8cce0382f3ec0cad53ed8e7a787c
==============================================================================
// Copyright 2025 The Fuchsia Authors
//
// Licensed under the 2-Clause BSD License <LICENSE-BSD or
// https://opensource.org/license/bsd-2-clause>, Apache License, Version 2.0
// <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT
// license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
// This file may not be copied, modified, or distributed except according to
// those terms.


==============================================================================
DOCUMENT 503558bfefe66ca15e4e3f7955b3cb0ec87fd52f29bf24b336af7bd00e946d5c
==============================================================================
Copyright (c) 2017 tokio-jsonrpc developers

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.


==============================================================================
DOCUMENT 50491f534421efd7193da8abfe927e3730d8e33248cb67d94bce44f9f66c37b9
==============================================================================
#! /usr/bin/env perl
# Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://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.


==============================================================================
DOCUMENT 5049cf464977eff4b4fcfa7988d84e74116956a3eb9d5f1d451b3f828f945233
==============================================================================
Copyright (c) 2019-2021 Tower Contributors

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.


==============================================================================
DOCUMENT 508a77d2e7b51d98adeed32648ad124b7b30241a8e70b2e72c99f92d8e5874d1
==============================================================================
MIT License

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.


==============================================================================
DOCUMENT 514793d77703272686d8a5d6fd1f8276c1fbeae542b55bd57456fd71f3f75f4c
==============================================================================
// Copyright 2022 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 52265bbdf997de64fa061ab56960af6cef54aad1b97d3a700114e75fd587702f
==============================================================================
// Copyright (c) 2013-2014 The Rust Project Developers.
// Copyright (c) 2015-2020 The rust-hex Developers.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
//! Encoding and decoding hex strings.
//!
//! For most cases, you can simply use the [`decode`], [`encode`] and
//! [`encode_upper`] functions. If you need a bit more control, use the traits
//! [`ToHex`] and [`FromHex`] instead.
//!
//! # Example
//!
//! ```
//! # #[cfg(not(feature = "alloc"))]
//! # let mut output = [0; 0x18];
//! #
//! # #[cfg(not(feature = "alloc"))]
//! # hex::encode_to_slice(b"Hello world!", &mut output).unwrap();
//! #
//! # #[cfg(not(feature = "alloc"))]
//! # let hex_string = ::core::str::from_utf8(&output).unwrap();
//! #
//! # #[cfg(feature = "alloc")]
//! let hex_string = hex::encode("Hello world!");
//!
//! println!("{}", hex_string); // Prints "48656c6c6f20776f726c6421"
//!
//! # assert_eq!(hex_string, "48656c6c6f20776f726c6421");
//! ```


==============================================================================
DOCUMENT 523a42c25d245dde9c015f882cec7f4555aad883382a6cf19b4b7d9b2cd5419b
==============================================================================
Copyright (c) 2018-2026 The rust-random Project Developers
Copyright (c) 2014 The Rust Project Developers

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.


==============================================================================
DOCUMENT 543a2ea78f61e53c0d0a81003ac334a7333b2a61df391f162562b87b79826ec0
==============================================================================
// The code in this file was adapted from the CharIndices implementation of
// the Rust standard library at revision ab32548539ec38a939c1b58599249f3b54130026
// (https://github.com/rust-lang/rust/blob/ab32548539ec38a939c1b58599249f3b54130026/library/core/src/str/iter.rs).
//
// Excerpt from https://github.com/rust-lang/rust/blob/ab32548539ec38a939c1b58599249f3b54130026/COPYRIGHT ,
// which refers to
// https://github.com/rust-lang/rust/blob/ab32548539ec38a939c1b58599249f3b54130026/LICENSE-APACHE
// and
// https://github.com/rust-lang/rust/blob/ab32548539ec38a939c1b58599249f3b54130026/LICENSE-MIT
// :
//
// For full authorship information, see the version control history or
// https://thanks.rust-lang.org
//
// Except as otherwise noted (below and/or in individual files), Rust is
// licensed under the Apache License, Version 2.0 <LICENSE-APACHE> or
// <http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT> or <http://opensource.org/licenses/MIT>, at your option.


==============================================================================
DOCUMENT 54930ebc79a9c022132f89eec57d1e0480f1f89b5a937b135a9fdd85a14e3c84
==============================================================================
// Copyright 2017 Amanieu d'Antras
//
// Licensed under the Apache License, Version 2.0, <LICENSE-APACHE or
// http://apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or
// http://opensource.org/licenses/MIT>, at your option. This file may not be
// copied, modified, or distributed except according to those terms.


==============================================================================
DOCUMENT 54dcce9e68687395c742ca2401631d6db7b98ba899aad5d3e868955771b80de5
==============================================================================
// Copyright 2025 Google LLC
//
// 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
//
//     https://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.
//
// Code generated by sidekick. DO NOT EDIT.

#[allow(unused_imports)]
use crate::Error;
use crate::Result;

/// Implements [LicenseManager](super::stub::LicenseManager) using a [gaxi::http::ReqwestClient].
#[derive(Clone)]
pub struct LicenseManager {
    inner: gaxi::http::ReqwestClient,
}

impl std::fmt::Debug for LicenseManager {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
        f.debug_struct("LicenseManager")
            .field("inner", &self.inner)
            .finish()
    }
}

impl LicenseManager {
    pub async fn new(config: gaxi::options::ClientConfig) -> crate::ClientBuilderResult<Self> {
        let tracing_is_enabled = gaxi::options::tracing_enabled(&config);
        let inner = gaxi::http::ReqwestClient::new(config, crate::DEFAULT_HOST).await?;
        let inner = if tracing_is_enabled {
            inner.with_instrumentation(&super::tracing::info::INSTRUMENTATION_CLIENT_INFO)
        } else {
            inner
        };
        Ok(Self { inner })
    }
}

impl super::stub::LicenseManager for LicenseManager {
    async fn list_configurations(
        &self,
        req: crate::model::ListConfigurationsRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<crate::model::ListConfigurationsResponse>> {
        use gaxi::http::reqwest::{HeaderValue, Method};
        use gaxi::path_parameter::PathMismatchBuilder;
        use gaxi::path_parameter::try_match;
        use gaxi::routing_parameter::Segment;
        use google_cloud_gax::error::binding::BindingError;
        let (builder, method, _path_template, _resource_name) = None
            .or_else(|| {
                let var_parent = try_match(
                    Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
                    &[
                        Segment::Literal("projects/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/locations/"),
                        Segment::SingleWildcard,
                    ],
                )?;
                let path = format!("/v1/{}/configurations", var_parent,);
                let path_template = "/v1/{parent}/configurations";

                let resource_name = format!("//licensemanager.googleapis.com/{}", var_parent,);
                let builder = self.inner.builder(Method::GET, path);
                let builder = builder.query(&[("pageSize", &req.page_size)]);
                let builder = builder.query(&[("pageToken", &req.page_token)]);
                let builder = builder.query(&[("filter", &req.filter)]);
                let builder = builder.query(&[("orderBy", &req.order_by)]);
                let builder = Ok(builder);
                Some(builder.map(|b| (b, Method::GET, path_template, resource_name)))
            })
            .ok_or_else(|| {
                let mut paths = Vec::new();
                {
                    let builder = PathMismatchBuilder::default();
                    let builder = builder.maybe_add(
                        Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
                        &[
                            Segment::Literal("projects/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/locations/"),
                            Segment::SingleWildcard,
                        ],
                        "parent",
                        "projects/*/locations/*",
                    );
                    paths.push(builder.build());
                }
                google_cloud_gax::error::Error::binding(BindingError { paths })
            })??;
        if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
            recorder.on_client_request(
                gaxi::observability::ClientRequestAttributes::default()
                    .set_rpc_method(
                        "google.cloud.licensemanager.v1.LicenseManager/ListConfigurations",
                    )
                    .set_url_template(_path_template)
                    .set_resource_name(_resource_name),
            );
        }
        let options = google_cloud_gax::options::internal::set_default_idempotency(
            options,
            gaxi::http::default_idempotency(&method),
        );
        let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
            "x-goog-api-client",
            HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
        );
        let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
        self.inner.execute(builder, body, options).await
    }

    async fn get_configuration(
        &self,
        req: crate::model::GetConfigurationRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<crate::model::Configuration>> {
        use gaxi::http::reqwest::{HeaderValue, Method};
        use gaxi::path_parameter::PathMismatchBuilder;
        use gaxi::path_parameter::try_match;
        use gaxi::routing_parameter::Segment;
        use google_cloud_gax::error::binding::BindingError;
        let (builder, method, _path_template, _resource_name) = None
            .or_else(|| {
                let var_name = try_match(
                    Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                    &[
                        Segment::Literal("projects/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/locations/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/configurations/"),
                        Segment::SingleWildcard,
                    ],
                )?;
                let path = format!("/v1/{}", var_name,);
                let path_template = "/v1/{name}";

                let resource_name = format!("//licensemanager.googleapis.com/{}", var_name,);
                let builder = self.inner.builder(Method::GET, path);
                let builder = Ok(builder);
                Some(builder.map(|b| (b, Method::GET, path_template, resource_name)))
            })
            .ok_or_else(|| {
                let mut paths = Vec::new();
                {
                    let builder = PathMismatchBuilder::default();
                    let builder = builder.maybe_add(
                        Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                        &[
                            Segment::Literal("projects/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/locations/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/configurations/"),
                            Segment::SingleWildcard,
                        ],
                        "name",
                        "projects/*/locations/*/configurations/*",
                    );
                    paths.push(builder.build());
                }
                google_cloud_gax::error::Error::binding(BindingError { paths })
            })??;
        if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
            recorder.on_client_request(
                gaxi::observability::ClientRequestAttributes::default()
                    .set_rpc_method(
                        "google.cloud.licensemanager.v1.LicenseManager/GetConfiguration",
                    )
                    .set_url_template(_path_template)
                    .set_resource_name(_resource_name),
            );
        }
        let options = google_cloud_gax::options::internal::set_default_idempotency(
            options,
            gaxi::http::default_idempotency(&method),
        );
        let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
            "x-goog-api-client",
            HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
        );
        let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
        self.inner.execute(builder, body, options).await
    }

    async fn create_configuration(
        &self,
        req: crate::model::CreateConfigurationRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
        use gaxi::http::reqwest::{HeaderValue, Method};
        use gaxi::path_parameter::PathMismatchBuilder;
        use gaxi::path_parameter::try_match;
        use gaxi::routing_parameter::Segment;
        use google_cloud_gax::error::binding::BindingError;
        let (builder, method, _path_template, _resource_name) = None
            .or_else(|| {
                let var_parent = try_match(
                    Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
                    &[
                        Segment::Literal("projects/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/locations/"),
                        Segment::SingleWildcard,
                    ],
                )?;
                let path = format!("/v1/{}/configurations", var_parent,);
                let path_template = "/v1/{parent}/configurations";

                let resource_name = format!("//licensemanager.googleapis.com/{}", var_parent,);
                let builder = self.inner.builder(Method::POST, path);
                let builder = builder.query(&[("configurationId", &req.configuration_id)]);
                let builder = builder.query(&[("requestId", &req.request_id)]);
                let builder = Ok(builder);
                Some(builder.map(|b| (b, Method::POST, path_template, resource_name)))
            })
            .ok_or_else(|| {
                let mut paths = Vec::new();
                {
                    let builder = PathMismatchBuilder::default();
                    let builder = builder.maybe_add(
                        Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
                        &[
                            Segment::Literal("projects/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/locations/"),
                            Segment::SingleWildcard,
                        ],
                        "parent",
                        "projects/*/locations/*",
                    );
                    paths.push(builder.build());
                }
                google_cloud_gax::error::Error::binding(BindingError { paths })
            })??;
        if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
            recorder.on_client_request(
                gaxi::observability::ClientRequestAttributes::default()
                    .set_rpc_method(
                        "google.cloud.licensemanager.v1.LicenseManager/CreateConfiguration",
                    )
                    .set_url_template(_path_template)
                    .set_resource_name(_resource_name),
            );
        }
        let options = google_cloud_gax::options::internal::set_default_idempotency(
            options,
            gaxi::http::default_idempotency(&method),
        );
        let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
            "x-goog-api-client",
            HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
        );
        let body = gaxi::http::handle_empty(req.configuration, &method);
        self.inner.execute(builder, body, options).await
    }

    async fn update_configuration(
        &self,
        req: crate::model::UpdateConfigurationRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
        use gaxi::http::reqwest::{HeaderValue, Method};
        use gaxi::path_parameter::PathMismatchBuilder;
        use gaxi::path_parameter::try_match;
        use gaxi::routing_parameter::Segment;
        use google_cloud_gax::error::binding::BindingError;
        let (builder, method, _path_template) = None
            .or_else(|| {
                let var_configuration_name = try_match(
                    Some(&req)
                        .and_then(|m| m.configuration.as_ref())
                        .map(|m| &m.name)
                        .map(|s| s.as_str()),
                    &[
                        Segment::Literal("projects/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/locations/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/configurations/"),
                        Segment::SingleWildcard,
                    ],
                )?;
                let path = format!("/v1/{}", var_configuration_name,);
                let path_template = "/v1/{configuration.name}";

                let builder = self.inner.builder(Method::PATCH, path);
                let builder = (|| {
                    let builder = req
                        .update_mask
                        .as_ref()
                        .map(|p| serde_json::to_value(p).map_err(Error::ser))
                        .transpose()?
                        .into_iter()
                        .fold(builder, |builder, v| {
                            use gaxi::query_parameter::QueryParameter;
                            v.add(builder, "updateMask")
                        });
                    let builder = builder.query(&[("requestId", &req.request_id)]);
                    Ok(builder)
                })();
                Some(builder.map(|b| (b, Method::PATCH, path_template)))
            })
            .ok_or_else(|| {
                let mut paths = Vec::new();
                {
                    let builder = PathMismatchBuilder::default();
                    let builder = builder.maybe_add(
                        Some(&req)
                            .and_then(|m| m.configuration.as_ref())
                            .map(|m| &m.name)
                            .map(|s| s.as_str()),
                        &[
                            Segment::Literal("projects/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/locations/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/configurations/"),
                            Segment::SingleWildcard,
                        ],
                        "configuration.name",
                        "projects/*/locations/*/configurations/*",
                    );
                    paths.push(builder.build());
                }
                google_cloud_gax::error::Error::binding(BindingError { paths })
            })??;
        if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
            recorder.on_client_request(
                gaxi::observability::ClientRequestAttributes::default()
                    .set_rpc_method(
                        "google.cloud.licensemanager.v1.LicenseManager/UpdateConfiguration",
                    )
                    .set_url_template(_path_template),
            );
        }
        let options = google_cloud_gax::options::internal::set_default_idempotency(
            options,
            gaxi::http::default_idempotency(&method),
        );
        let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
            "x-goog-api-client",
            HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
        );
        let body = gaxi::http::handle_empty(req.configuration, &method);
        self.inner.execute(builder, body, options).await
    }

    async fn delete_configuration(
        &self,
        req: crate::model::DeleteConfigurationRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
        use gaxi::http::reqwest::{HeaderValue, Method};
        use gaxi::path_parameter::PathMismatchBuilder;
        use gaxi::path_parameter::try_match;
        use gaxi::routing_parameter::Segment;
        use google_cloud_gax::error::binding::BindingError;
        let (builder, method, _path_template, _resource_name) = None
            .or_else(|| {
                let var_name = try_match(
                    Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                    &[
                        Segment::Literal("projects/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/locations/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/configurations/"),
                        Segment::SingleWildcard,
                    ],
                )?;
                let path = format!("/v1/{}", var_name,);
                let path_template = "/v1/{name}";

                let resource_name = format!("//licensemanager.googleapis.com/{}", var_name,);
                let builder = self.inner.builder(Method::DELETE, path);
                let builder = builder.query(&[("requestId", &req.request_id)]);
                let builder = Ok(builder);
                Some(builder.map(|b| (b, Method::DELETE, path_template, resource_name)))
            })
            .ok_or_else(|| {
                let mut paths = Vec::new();
                {
                    let builder = PathMismatchBuilder::default();
                    let builder = builder.maybe_add(
                        Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                        &[
                            Segment::Literal("projects/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/locations/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/configurations/"),
                            Segment::SingleWildcard,
                        ],
                        "name",
                        "projects/*/locations/*/configurations/*",
                    );
                    paths.push(builder.build());
                }
                google_cloud_gax::error::Error::binding(BindingError { paths })
            })??;
        if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
            recorder.on_client_request(
                gaxi::observability::ClientRequestAttributes::default()
                    .set_rpc_method(
                        "google.cloud.licensemanager.v1.LicenseManager/DeleteConfiguration",
                    )
                    .set_url_template(_path_template)
                    .set_resource_name(_resource_name),
            );
        }
        let options = google_cloud_gax::options::internal::set_default_idempotency(
            options,
            gaxi::http::default_idempotency(&method),
        );
        let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
            "x-goog-api-client",
            HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
        );
        let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
        self.inner.execute(builder, body, options).await
    }

    async fn list_instances(
        &self,
        req: crate::model::ListInstancesRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<crate::model::ListInstancesResponse>> {
        use gaxi::http::reqwest::{HeaderValue, Method};
        use gaxi::path_parameter::PathMismatchBuilder;
        use gaxi::path_parameter::try_match;
        use gaxi::routing_parameter::Segment;
        use google_cloud_gax::error::binding::BindingError;
        let (builder, method, _path_template, _resource_name) = None
            .or_else(|| {
                let var_parent = try_match(
                    Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
                    &[
                        Segment::Literal("projects/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/locations/"),
                        Segment::SingleWildcard,
                    ],
                )?;
                let path = format!("/v1/{}/instances", var_parent,);
                let path_template = "/v1/{parent}/instances";

                let resource_name = format!("//licensemanager.googleapis.com/{}", var_parent,);
                let builder = self.inner.builder(Method::GET, path);
                let builder = builder.query(&[("pageSize", &req.page_size)]);
                let builder = builder.query(&[("pageToken", &req.page_token)]);
                let builder = builder.query(&[("filter", &req.filter)]);
                let builder = builder.query(&[("orderBy", &req.order_by)]);
                let builder = Ok(builder);
                Some(builder.map(|b| (b, Method::GET, path_template, resource_name)))
            })
            .ok_or_else(|| {
                let mut paths = Vec::new();
                {
                    let builder = PathMismatchBuilder::default();
                    let builder = builder.maybe_add(
                        Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
                        &[
                            Segment::Literal("projects/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/locations/"),
                            Segment::SingleWildcard,
                        ],
                        "parent",
                        "projects/*/locations/*",
                    );
                    paths.push(builder.build());
                }
                google_cloud_gax::error::Error::binding(BindingError { paths })
            })??;
        if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
            recorder.on_client_request(
                gaxi::observability::ClientRequestAttributes::default()
                    .set_rpc_method("google.cloud.licensemanager.v1.LicenseManager/ListInstances")
                    .set_url_template(_path_template)
                    .set_resource_name(_resource_name),
            );
        }
        let options = google_cloud_gax::options::internal::set_default_idempotency(
            options,
            gaxi::http::default_idempotency(&method),
        );
        let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
            "x-goog-api-client",
            HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
        );
        let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
        self.inner.execute(builder, body, options).await
    }

    async fn get_instance(
        &self,
        req: crate::model::GetInstanceRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<crate::model::Instance>> {
        use gaxi::http::reqwest::{HeaderValue, Method};
        use gaxi::path_parameter::PathMismatchBuilder;
        use gaxi::path_parameter::try_match;
        use gaxi::routing_parameter::Segment;
        use google_cloud_gax::error::binding::BindingError;
        let (builder, method, _path_template, _resource_name) = None
            .or_else(|| {
                let var_name = try_match(
                    Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                    &[
                        Segment::Literal("projects/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/locations/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/instances/"),
                        Segment::SingleWildcard,
                    ],
                )?;
                let path = format!("/v1/{}", var_name,);
                let path_template = "/v1/{name}";

                let resource_name = format!("//licensemanager.googleapis.com/{}", var_name,);
                let builder = self.inner.builder(Method::GET, path);
                let builder = Ok(builder);
                Some(builder.map(|b| (b, Method::GET, path_template, resource_name)))
            })
            .ok_or_else(|| {
                let mut paths = Vec::new();
                {
                    let builder = PathMismatchBuilder::default();
                    let builder = builder.maybe_add(
                        Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                        &[
                            Segment::Literal("projects/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/locations/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/instances/"),
                            Segment::SingleWildcard,
                        ],
                        "name",
                        "projects/*/locations/*/instances/*",
                    );
                    paths.push(builder.build());
                }
                google_cloud_gax::error::Error::binding(BindingError { paths })
            })??;
        if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
            recorder.on_client_request(
                gaxi::observability::ClientRequestAttributes::default()
                    .set_rpc_method("google.cloud.licensemanager.v1.LicenseManager/GetInstance")
                    .set_url_template(_path_template)
                    .set_resource_name(_resource_name),
            );
        }
        let options = google_cloud_gax::options::internal::set_default_idempotency(
            options,
            gaxi::http::default_idempotency(&method),
        );
        let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
            "x-goog-api-client",
            HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
        );
        let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
        self.inner.execute(builder, body, options).await
    }

    async fn deactivate_configuration(
        &self,
        req: crate::model::DeactivateConfigurationRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
        use gaxi::http::reqwest::{HeaderValue, Method};
        use gaxi::path_parameter::PathMismatchBuilder;
        use gaxi::path_parameter::try_match;
        use gaxi::routing_parameter::Segment;
        use google_cloud_gax::error::binding::BindingError;
        let mut req = req;
        let (builder, method, _path_template, _resource_name) = None
            .or_else(|| {
                let var_name = try_match(
                    Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                    &[
                        Segment::Literal("projects/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/locations/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/configurations/"),
                        Segment::SingleWildcard,
                    ],
                )?;
                let path = format!("/v1/{}:deactivate", var_name,);
                let path_template = "/v1/{name}:deactivate";

                let resource_name = format!("//licensemanager.googleapis.com/{}", var_name,);
                let _ = Some(&mut req).map(|m| std::mem::take(&mut m.name));
                let builder = self.inner.builder(Method::POST, path);
                let builder = Ok(builder);
                Some(builder.map(|b| (b, Method::POST, path_template, resource_name)))
            })
            .ok_or_else(|| {
                let mut paths = Vec::new();
                {
                    let builder = PathMismatchBuilder::default();
                    let builder = builder.maybe_add(
                        Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                        &[
                            Segment::Literal("projects/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/locations/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/configurations/"),
                            Segment::SingleWildcard,
                        ],
                        "name",
                        "projects/*/locations/*/configurations/*",
                    );
                    paths.push(builder.build());
                }
                google_cloud_gax::error::Error::binding(BindingError { paths })
            })??;
        if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
            recorder.on_client_request(
                gaxi::observability::ClientRequestAttributes::default()
                    .set_rpc_method(
                        "google.cloud.licensemanager.v1.LicenseManager/DeactivateConfiguration",
                    )
                    .set_url_template(_path_template)
                    .set_resource_name(_resource_name),
            );
        }
        let options = google_cloud_gax::options::internal::set_default_idempotency(
            options,
            gaxi::http::default_idempotency(&method),
        );
        let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
            "x-goog-api-client",
            HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
        );
        let body = gaxi::http::handle_empty(Some(req), &method);
        self.inner.execute(builder, body, options).await
    }

    async fn reactivate_configuration(
        &self,
        req: crate::model::ReactivateConfigurationRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
        use gaxi::http::reqwest::{HeaderValue, Method};
        use gaxi::path_parameter::PathMismatchBuilder;
        use gaxi::path_parameter::try_match;
        use gaxi::routing_parameter::Segment;
        use google_cloud_gax::error::binding::BindingError;
        let mut req = req;
        let (builder, method, _path_template, _resource_name) = None
            .or_else(|| {
                let var_name = try_match(
                    Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                    &[
                        Segment::Literal("projects/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/locations/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/configurations/"),
                        Segment::SingleWildcard,
                    ],
                )?;
                let path = format!("/v1/{}:reactivate", var_name,);
                let path_template = "/v1/{name}:reactivate";

                let resource_name = format!("//licensemanager.googleapis.com/{}", var_name,);
                let _ = Some(&mut req).map(|m| std::mem::take(&mut m.name));
                let builder = self.inner.builder(Method::POST, path);
                let builder = Ok(builder);
                Some(builder.map(|b| (b, Method::POST, path_template, resource_name)))
            })
            .ok_or_else(|| {
                let mut paths = Vec::new();
                {
                    let builder = PathMismatchBuilder::default();
                    let builder = builder.maybe_add(
                        Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                        &[
                            Segment::Literal("projects/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/locations/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/configurations/"),
                            Segment::SingleWildcard,
                        ],
                        "name",
                        "projects/*/locations/*/configurations/*",
                    );
                    paths.push(builder.build());
                }
                google_cloud_gax::error::Error::binding(BindingError { paths })
            })??;
        if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
            recorder.on_client_request(
                gaxi::observability::ClientRequestAttributes::default()
                    .set_rpc_method(
                        "google.cloud.licensemanager.v1.LicenseManager/ReactivateConfiguration",
                    )
                    .set_url_template(_path_template)
                    .set_resource_name(_resource_name),
            );
        }
        let options = google_cloud_gax::options::internal::set_default_idempotency(
            options,
            gaxi::http::default_idempotency(&method),
        );
        let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
            "x-goog-api-client",
            HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
        );
        let body = gaxi::http::handle_empty(Some(req), &method);
        self.inner.execute(builder, body, options).await
    }

    async fn query_configuration_license_usage(
        &self,
        req: crate::model::QueryConfigurationLicenseUsageRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<crate::model::QueryConfigurationLicenseUsageResponse>> {
        use gaxi::http::reqwest::{HeaderValue, Method};
        use gaxi::path_parameter::PathMismatchBuilder;
        use gaxi::path_parameter::try_match;
        use gaxi::routing_parameter::Segment;
        use google_cloud_gax::error::binding::BindingError;
        let (builder, method, _path_template, _resource_name) = None
            .or_else(|| {
                let var_name = try_match(
                    Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                    &[
                        Segment::Literal("projects/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/locations/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/configurations/"),
                        Segment::SingleWildcard,
                    ],
                )?;
                let path = format!("/v1/{}:queryLicenseUsage", var_name,);
                let path_template = "/v1/{name}:queryLicenseUsage";

                let resource_name = format!("//licensemanager.googleapis.com/{}", var_name,);
                let builder = self.inner.builder(Method::GET, path);
                let builder = (|| {
                    let builder = req
                        .start_time
                        .as_ref()
                        .map(|p| serde_json::to_value(p).map_err(Error::ser))
                        .transpose()?
                        .into_iter()
                        .fold(builder, |builder, v| {
                            use gaxi::query_parameter::QueryParameter;
                            v.add(builder, "startTime")
                        });
                    let builder = req
                        .end_time
                        .as_ref()
                        .map(|p| serde_json::to_value(p).map_err(Error::ser))
                        .transpose()?
                        .into_iter()
                        .fold(builder, |builder, v| {
                            use gaxi::query_parameter::QueryParameter;
                            v.add(builder, "endTime")
                        });
                    Ok(builder)
                })();
                Some(builder.map(|b| (b, Method::GET, path_template, resource_name)))
            })
            .ok_or_else(|| {
                let mut paths = Vec::new();
                {
                    let builder = PathMismatchBuilder::default();
                    let builder = builder.maybe_add(
                        Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                        &[
                            Segment::Literal("projects/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/locations/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/configurations/"),
                            Segment::SingleWildcard,
                        ],
                        "name",
                        "projects/*/locations/*/configurations/*",
                    );
                    paths.push(builder.build());
                }
                google_cloud_gax::error::Error::binding(BindingError { paths })
            })??;
        if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
            recorder.on_client_request(
                gaxi::observability::ClientRequestAttributes::default()
                    .set_rpc_method("google.cloud.licensemanager.v1.LicenseManager/QueryConfigurationLicenseUsage")
                    .set_url_template(_path_template)
                    .set_resource_name(_resource_name)
            );
        }
        let options = google_cloud_gax::options::internal::set_default_idempotency(
            options,
            gaxi::http::default_idempotency(&method),
        );
        let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
            "x-goog-api-client",
            HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
        );
        let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
        self.inner.execute(builder, body, options).await
    }

    async fn aggregate_usage(
        &self,
        req: crate::model::AggregateUsageRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<crate::model::AggregateUsageResponse>> {
        use gaxi::http::reqwest::{HeaderValue, Method};
        use gaxi::path_parameter::PathMismatchBuilder;
        use gaxi::path_parameter::try_match;
        use gaxi::routing_parameter::Segment;
        use google_cloud_gax::error::binding::BindingError;
        let (builder, method, _path_template, _resource_name) = None
            .or_else(|| {
                let var_name = try_match(
                    Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                    &[
                        Segment::Literal("projects/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/locations/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/configurations/"),
                        Segment::SingleWildcard,
                    ],
                )?;
                let path = format!("/v1/{}:aggregateUsage", var_name,);
                let path_template = "/v1/{name}:aggregateUsage";

                let resource_name = format!("//licensemanager.googleapis.com/{}", var_name,);
                let builder = self.inner.builder(Method::GET, path);
                let builder = (|| {
                    let builder = builder.query(&[("pageSize", &req.page_size)]);
                    let builder = builder.query(&[("pageToken", &req.page_token)]);
                    let builder = builder.query(&[("filter", &req.filter)]);
                    let builder = builder.query(&[("orderBy", &req.order_by)]);
                    let builder = req
                        .start_time
                        .as_ref()
                        .map(|p| serde_json::to_value(p).map_err(Error::ser))
                        .transpose()?
                        .into_iter()
                        .fold(builder, |builder, v| {
                            use gaxi::query_parameter::QueryParameter;
                            v.add(builder, "startTime")
                        });
                    let builder = req
                        .end_time
                        .as_ref()
                        .map(|p| serde_json::to_value(p).map_err(Error::ser))
                        .transpose()?
                        .into_iter()
                        .fold(builder, |builder, v| {
                            use gaxi::query_parameter::QueryParameter;
                            v.add(builder, "endTime")
                        });
                    Ok(builder)
                })();
                Some(builder.map(|b| (b, Method::GET, path_template, resource_name)))
            })
            .ok_or_else(|| {
                let mut paths = Vec::new();
                {
                    let builder = PathMismatchBuilder::default();
                    let builder = builder.maybe_add(
                        Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                        &[
                            Segment::Literal("projects/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/locations/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/configurations/"),
                            Segment::SingleWildcard,
                        ],
                        "name",
                        "projects/*/locations/*/configurations/*",
                    );
                    paths.push(builder.build());
                }
                google_cloud_gax::error::Error::binding(BindingError { paths })
            })??;
        if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
            recorder.on_client_request(
                gaxi::observability::ClientRequestAttributes::default()
                    .set_rpc_method("google.cloud.licensemanager.v1.LicenseManager/AggregateUsage")
                    .set_url_template(_path_template)
                    .set_resource_name(_resource_name),
            );
        }
        let options = google_cloud_gax::options::internal::set_default_idempotency(
            options,
            gaxi::http::default_idempotency(&method),
        );
        let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
            "x-goog-api-client",
            HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
        );
        let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
        self.inner.execute(builder, body, options).await
    }

    async fn list_products(
        &self,
        req: crate::model::ListProductsRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<crate::model::ListProductsResponse>> {
        use gaxi::http::reqwest::{HeaderValue, Method};
        use gaxi::path_parameter::PathMismatchBuilder;
        use gaxi::path_parameter::try_match;
        use gaxi::routing_parameter::Segment;
        use google_cloud_gax::error::binding::BindingError;
        let (builder, method, _path_template, _resource_name) = None
            .or_else(|| {
                let var_parent = try_match(
                    Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
                    &[
                        Segment::Literal("projects/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/locations/"),
                        Segment::SingleWildcard,
                    ],
                )?;
                let path = format!("/v1/{}/products", var_parent,);
                let path_template = "/v1/{parent}/products";

                let resource_name = format!("//licensemanager.googleapis.com/{}", var_parent,);
                let builder = self.inner.builder(Method::GET, path);
                let builder = builder.query(&[("pageSize", &req.page_size)]);
                let builder = builder.query(&[("pageToken", &req.page_token)]);
                let builder = builder.query(&[("filter", &req.filter)]);
                let builder = builder.query(&[("orderBy", &req.order_by)]);
                let builder = Ok(builder);
                Some(builder.map(|b| (b, Method::GET, path_template, resource_name)))
            })
            .ok_or_else(|| {
                let mut paths = Vec::new();
                {
                    let builder = PathMismatchBuilder::default();
                    let builder = builder.maybe_add(
                        Some(&req).map(|m| &m.parent).map(|s| s.as_str()),
                        &[
                            Segment::Literal("projects/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/locations/"),
                            Segment::SingleWildcard,
                        ],
                        "parent",
                        "projects/*/locations/*",
                    );
                    paths.push(builder.build());
                }
                google_cloud_gax::error::Error::binding(BindingError { paths })
            })??;
        if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
            recorder.on_client_request(
                gaxi::observability::ClientRequestAttributes::default()
                    .set_rpc_method("google.cloud.licensemanager.v1.LicenseManager/ListProducts")
                    .set_url_template(_path_template)
                    .set_resource_name(_resource_name),
            );
        }
        let options = google_cloud_gax::options::internal::set_default_idempotency(
            options,
            gaxi::http::default_idempotency(&method),
        );
        let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
            "x-goog-api-client",
            HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
        );
        let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
        self.inner.execute(builder, body, options).await
    }

    async fn get_product(
        &self,
        req: crate::model::GetProductRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<crate::model::Product>> {
        use gaxi::http::reqwest::{HeaderValue, Method};
        use gaxi::path_parameter::PathMismatchBuilder;
        use gaxi::path_parameter::try_match;
        use gaxi::routing_parameter::Segment;
        use google_cloud_gax::error::binding::BindingError;
        let (builder, method, _path_template, _resource_name) = None
            .or_else(|| {
                let var_name = try_match(
                    Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                    &[
                        Segment::Literal("projects/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/locations/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/products/"),
                        Segment::SingleWildcard,
                    ],
                )?;
                let path = format!("/v1/{}", var_name,);
                let path_template = "/v1/{name}";

                let resource_name = format!("//licensemanager.googleapis.com/{}", var_name,);
                let builder = self.inner.builder(Method::GET, path);
                let builder = Ok(builder);
                Some(builder.map(|b| (b, Method::GET, path_template, resource_name)))
            })
            .ok_or_else(|| {
                let mut paths = Vec::new();
                {
                    let builder = PathMismatchBuilder::default();
                    let builder = builder.maybe_add(
                        Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                        &[
                            Segment::Literal("projects/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/locations/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/products/"),
                            Segment::SingleWildcard,
                        ],
                        "name",
                        "projects/*/locations/*/products/*",
                    );
                    paths.push(builder.build());
                }
                google_cloud_gax::error::Error::binding(BindingError { paths })
            })??;
        if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
            recorder.on_client_request(
                gaxi::observability::ClientRequestAttributes::default()
                    .set_rpc_method("google.cloud.licensemanager.v1.LicenseManager/GetProduct")
                    .set_url_template(_path_template)
                    .set_resource_name(_resource_name),
            );
        }
        let options = google_cloud_gax::options::internal::set_default_idempotency(
            options,
            gaxi::http::default_idempotency(&method),
        );
        let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
            "x-goog-api-client",
            HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
        );
        let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
        self.inner.execute(builder, body, options).await
    }

    async fn list_locations(
        &self,
        req: google_cloud_location::model::ListLocationsRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<google_cloud_location::model::ListLocationsResponse>> {
        use gaxi::http::reqwest::{HeaderValue, Method};
        use gaxi::path_parameter::PathMismatchBuilder;
        use gaxi::path_parameter::try_match;
        use gaxi::routing_parameter::Segment;
        use google_cloud_gax::error::binding::BindingError;
        let (builder, method, _path_template) = None
            .or_else(|| {
                let var_name = try_match(
                    Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                    &[Segment::Literal("projects/"), Segment::SingleWildcard],
                )?;
                let path = format!("/v1/{}/locations", var_name,);
                let path_template = "/v1/{name}/locations";

                let builder = self.inner.builder(Method::GET, path);
                let builder = builder.query(&[("filter", &req.filter)]);
                let builder = builder.query(&[("pageSize", &req.page_size)]);
                let builder = builder.query(&[("pageToken", &req.page_token)]);
                let builder = Ok(builder);
                Some(builder.map(|b| (b, Method::GET, path_template)))
            })
            .ok_or_else(|| {
                let mut paths = Vec::new();
                {
                    let builder = PathMismatchBuilder::default();
                    let builder = builder.maybe_add(
                        Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                        &[Segment::Literal("projects/"), Segment::SingleWildcard],
                        "name",
                        "projects/*",
                    );
                    paths.push(builder.build());
                }
                google_cloud_gax::error::Error::binding(BindingError { paths })
            })??;
        if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
            recorder.on_client_request(
                gaxi::observability::ClientRequestAttributes::default()
                    .set_rpc_method("google.cloud.location.Locations/ListLocations")
                    .set_url_template(_path_template),
            );
        }
        let options = google_cloud_gax::options::internal::set_default_idempotency(
            options,
            gaxi::http::default_idempotency(&method),
        );
        let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
            "x-goog-api-client",
            HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
        );
        let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
        self.inner.execute(builder, body, options).await
    }

    async fn get_location(
        &self,
        req: google_cloud_location::model::GetLocationRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<google_cloud_location::model::Location>> {
        use gaxi::http::reqwest::{HeaderValue, Method};
        use gaxi::path_parameter::PathMismatchBuilder;
        use gaxi::path_parameter::try_match;
        use gaxi::routing_parameter::Segment;
        use google_cloud_gax::error::binding::BindingError;
        let (builder, method, _path_template) = None
            .or_else(|| {
                let var_name = try_match(
                    Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                    &[
                        Segment::Literal("projects/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/locations/"),
                        Segment::SingleWildcard,
                    ],
                )?;
                let path = format!("/v1/{}", var_name,);
                let path_template = "/v1/{name}";

                let builder = self.inner.builder(Method::GET, path);
                let builder = Ok(builder);
                Some(builder.map(|b| (b, Method::GET, path_template)))
            })
            .ok_or_else(|| {
                let mut paths = Vec::new();
                {
                    let builder = PathMismatchBuilder::default();
                    let builder = builder.maybe_add(
                        Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                        &[
                            Segment::Literal("projects/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/locations/"),
                            Segment::SingleWildcard,
                        ],
                        "name",
                        "projects/*/locations/*",
                    );
                    paths.push(builder.build());
                }
                google_cloud_gax::error::Error::binding(BindingError { paths })
            })??;
        if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
            recorder.on_client_request(
                gaxi::observability::ClientRequestAttributes::default()
                    .set_rpc_method("google.cloud.location.Locations/GetLocation")
                    .set_url_template(_path_template),
            );
        }
        let options = google_cloud_gax::options::internal::set_default_idempotency(
            options,
            gaxi::http::default_idempotency(&method),
        );
        let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
            "x-goog-api-client",
            HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
        );
        let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
        self.inner.execute(builder, body, options).await
    }

    async fn list_operations(
        &self,
        req: google_cloud_longrunning::model::ListOperationsRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<google_cloud_longrunning::model::ListOperationsResponse>> {
        use gaxi::http::reqwest::{HeaderValue, Method};
        use gaxi::path_parameter::PathMismatchBuilder;
        use gaxi::path_parameter::try_match;
        use gaxi::routing_parameter::Segment;
        use google_cloud_gax::error::binding::BindingError;
        let (builder, method, _path_template) = None
            .or_else(|| {
                let var_name = try_match(
                    Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                    &[
                        Segment::Literal("projects/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/locations/"),
                        Segment::SingleWildcard,
                    ],
                )?;
                let path = format!("/v1/{}/operations", var_name,);
                let path_template = "/v1/{name}/operations";

                let builder = self.inner.builder(Method::GET, path);
                let builder = builder.query(&[("filter", &req.filter)]);
                let builder = builder.query(&[("pageSize", &req.page_size)]);
                let builder = builder.query(&[("pageToken", &req.page_token)]);
                let builder =
                    builder.query(&[("returnPartialSuccess", &req.return_partial_success)]);
                let builder = Ok(builder);
                Some(builder.map(|b| (b, Method::GET, path_template)))
            })
            .ok_or_else(|| {
                let mut paths = Vec::new();
                {
                    let builder = PathMismatchBuilder::default();
                    let builder = builder.maybe_add(
                        Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                        &[
                            Segment::Literal("projects/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/locations/"),
                            Segment::SingleWildcard,
                        ],
                        "name",
                        "projects/*/locations/*",
                    );
                    paths.push(builder.build());
                }
                google_cloud_gax::error::Error::binding(BindingError { paths })
            })??;
        if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
            recorder.on_client_request(
                gaxi::observability::ClientRequestAttributes::default()
                    .set_rpc_method("google.longrunning.Operations/ListOperations")
                    .set_url_template(_path_template),
            );
        }
        let options = google_cloud_gax::options::internal::set_default_idempotency(
            options,
            gaxi::http::default_idempotency(&method),
        );
        let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
            "x-goog-api-client",
            HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
        );
        let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
        self.inner.execute(builder, body, options).await
    }

    async fn get_operation(
        &self,
        req: google_cloud_longrunning::model::GetOperationRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<google_cloud_longrunning::model::Operation>> {
        use gaxi::http::reqwest::{HeaderValue, Method};
        use gaxi::path_parameter::PathMismatchBuilder;
        use gaxi::path_parameter::try_match;
        use gaxi::routing_parameter::Segment;
        use google_cloud_gax::error::binding::BindingError;
        let (builder, method, _path_template) = None
            .or_else(|| {
                let var_name = try_match(
                    Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                    &[
                        Segment::Literal("projects/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/locations/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/operations/"),
                        Segment::SingleWildcard,
                    ],
                )?;
                let path = format!("/v1/{}", var_name,);
                let path_template = "/v1/{name}";

                let builder = self.inner.builder(Method::GET, path);
                let builder = Ok(builder);
                Some(builder.map(|b| (b, Method::GET, path_template)))
            })
            .ok_or_else(|| {
                let mut paths = Vec::new();
                {
                    let builder = PathMismatchBuilder::default();
                    let builder = builder.maybe_add(
                        Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                        &[
                            Segment::Literal("projects/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/locations/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/operations/"),
                            Segment::SingleWildcard,
                        ],
                        "name",
                        "projects/*/locations/*/operations/*",
                    );
                    paths.push(builder.build());
                }
                google_cloud_gax::error::Error::binding(BindingError { paths })
            })??;
        if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
            recorder.on_client_request(
                gaxi::observability::ClientRequestAttributes::default()
                    .set_rpc_method("google.longrunning.Operations/GetOperation")
                    .set_url_template(_path_template),
            );
        }
        let options = google_cloud_gax::options::internal::set_default_idempotency(
            options,
            gaxi::http::default_idempotency(&method),
        );
        let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
            "x-goog-api-client",
            HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
        );
        let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
        self.inner.execute(builder, body, options).await
    }

    async fn delete_operation(
        &self,
        req: google_cloud_longrunning::model::DeleteOperationRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<()>> {
        use gaxi::http::reqwest::{HeaderValue, Method};
        use gaxi::path_parameter::PathMismatchBuilder;
        use gaxi::path_parameter::try_match;
        use gaxi::routing_parameter::Segment;
        use google_cloud_gax::error::binding::BindingError;
        let (builder, method, _path_template) = None
            .or_else(|| {
                let var_name = try_match(
                    Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                    &[
                        Segment::Literal("projects/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/locations/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/operations/"),
                        Segment::SingleWildcard,
                    ],
                )?;
                let path = format!("/v1/{}", var_name,);
                let path_template = "/v1/{name}";

                let builder = self.inner.builder(Method::DELETE, path);
                let builder = Ok(builder);
                Some(builder.map(|b| (b, Method::DELETE, path_template)))
            })
            .ok_or_else(|| {
                let mut paths = Vec::new();
                {
                    let builder = PathMismatchBuilder::default();
                    let builder = builder.maybe_add(
                        Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                        &[
                            Segment::Literal("projects/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/locations/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/operations/"),
                            Segment::SingleWildcard,
                        ],
                        "name",
                        "projects/*/locations/*/operations/*",
                    );
                    paths.push(builder.build());
                }
                google_cloud_gax::error::Error::binding(BindingError { paths })
            })??;
        if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
            recorder.on_client_request(
                gaxi::observability::ClientRequestAttributes::default()
                    .set_rpc_method("google.longrunning.Operations/DeleteOperation")
                    .set_url_template(_path_template),
            );
        }
        let options = google_cloud_gax::options::internal::set_default_idempotency(
            options,
            gaxi::http::default_idempotency(&method),
        );
        let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
            "x-goog-api-client",
            HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
        );
        let body = gaxi::http::handle_empty(None::<gaxi::http::NoBody>, &method);
        self.inner
            .execute(builder, body, options)
            .await
            .map(|r: crate::Response<wkt::Empty>| {
                let (parts, _) = r.into_parts();
                crate::Response::from_parts(parts, ())
            })
    }

    async fn cancel_operation(
        &self,
        req: google_cloud_longrunning::model::CancelOperationRequest,
        options: crate::RequestOptions,
    ) -> Result<crate::Response<()>> {
        use gaxi::http::reqwest::{HeaderValue, Method};
        use gaxi::path_parameter::PathMismatchBuilder;
        use gaxi::path_parameter::try_match;
        use gaxi::routing_parameter::Segment;
        use google_cloud_gax::error::binding::BindingError;
        let mut req = req;
        let (builder, method, _path_template) = None
            .or_else(|| {
                let var_name = try_match(
                    Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                    &[
                        Segment::Literal("projects/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/locations/"),
                        Segment::SingleWildcard,
                        Segment::Literal("/operations/"),
                        Segment::SingleWildcard,
                    ],
                )?;
                let path = format!("/v1/{}:cancel", var_name,);
                let path_template = "/v1/{name}:cancel";

                let _ = Some(&mut req).map(|m| std::mem::take(&mut m.name));
                let builder = self.inner.builder(Method::POST, path);
                let builder = Ok(builder);
                Some(builder.map(|b| (b, Method::POST, path_template)))
            })
            .ok_or_else(|| {
                let mut paths = Vec::new();
                {
                    let builder = PathMismatchBuilder::default();
                    let builder = builder.maybe_add(
                        Some(&req).map(|m| &m.name).map(|s| s.as_str()),
                        &[
                            Segment::Literal("projects/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/locations/"),
                            Segment::SingleWildcard,
                            Segment::Literal("/operations/"),
                            Segment::SingleWildcard,
                        ],
                        "name",
                        "projects/*/locations/*/operations/*",
                    );
                    paths.push(builder.build());
                }
                google_cloud_gax::error::Error::binding(BindingError { paths })
            })??;
        if let Some(recorder) = gaxi::observability::RequestRecorder::current() {
            recorder.on_client_request(
                gaxi::observability::ClientRequestAttributes::default()
                    .set_rpc_method("google.longrunning.Operations/CancelOperation")
                    .set_url_template(_path_template),
            );
        }
        let options = google_cloud_gax::options::internal::set_default_idempotency(
            options,
            gaxi::http::default_idempotency(&method),
        );
        let builder = builder.query(&[("$alt", "json;enum-encoding=int")]).header(
            "x-goog-api-client",
            HeaderValue::from_static(&crate::info::X_GOOG_API_CLIENT_HEADER),
        );
        let body = gaxi::http::handle_empty(Some(req), &method);
        self.inner
            .execute(builder, body, options)
            .await
            .map(|r: crate::Response<wkt::Empty>| {
                let (parts, _) = r.into_parts();
                crate::Response::from_parts(parts, ())
            })
    }

    fn get_polling_error_policy(
        &self,
        options: &crate::RequestOptions,
    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
        self.inner.get_polling_error_policy(options)
    }

    fn get_polling_backoff_policy(
        &self,
        options: &crate::RequestOptions,
    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
        self.inner.get_polling_backoff_policy(options)
    }
}


==============================================================================
DOCUMENT 553fffcd9b1cb158bc3e9edc35da85ca5c3b3d7d2e61c883ebcfa8a65814b583
==============================================================================
Copyright 2015 Nicholas Allegra (comex).

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.


==============================================================================
DOCUMENT 565eff8b979411888b4fc163ba49daf7ad9beba47ee485942f032edcefd17948
==============================================================================
/*
 * ====================================================
 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
 *
 * Developed at SunPro, a Sun Microsystems, Inc. business.
 * Permission to use, copy, modify, and distribute this
 * software is freely granted, provided that this notice
 * is preserved.
 * ====================================================
 */


==============================================================================
DOCUMENT 571a10f8047a0fb1fd161d04896dfca6373bf8d0606ea49a948ad252f37d5aa0
==============================================================================
// Copyright 2019-2024 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 5822e59f88392b4a35965134c4c974e475959ebc625f140e42b1f39ba2495cc7
==============================================================================
// The code in this module is derived from the `lexical` crate by @Alexhuszagh
// which the author condensed into this minimal subset for use in serde_json.
// For the serde_json use case we care more about reliably round tripping all
// possible floating point values than about parsing any arbitrarily long string
// of digits with perfect accuracy, as the latter would take a high cost in
// compile time and performance.
//
// Dual licensed as MIT and Apache 2.0 just like the rest of serde_json, but
// copyright Alexander Huszagh.


==============================================================================
DOCUMENT 58545fed1565e42d687aecec6897d35c6d37ccb71479a137c0deb2203e125c79
==============================================================================
The MIT License (MIT)

Copyright (c) 2014 Mathijs van de Nes

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.


==============================================================================
DOCUMENT 59d7cc401deb7b8ca6c6463848a9d6a302b18d83c2a3f75136bfead3c5c5f9bb
==============================================================================
Apache Arrow ADBC
Copyright 2022-2026 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).


==============================================================================
DOCUMENT 59ee71a59035c18a5043881ef760e797cc17dc0cfd65eb43075f72a0ecf8292a
==============================================================================
// origin: FreeBSD /usr/src/lib/msun/src/s_tan.c */
//
// ====================================================
// Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
//
// Developed at SunPro, a Sun Microsystems, Inc. business.
// Permission to use, copy, modify, and distribute this
// software is freely granted, provided that this notice
// is preserved.
// ====================================================


==============================================================================
DOCUMENT 5a260243cb1e1b7ea941ec12c5f77b1797ce9443bc5f9ff31589f101d1cb8878
==============================================================================
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT 5b698ca13897be3afdb7174256fa1574f8c6892b8bea1a66dd6469d3fe27885a
==============================================================================
Except as otherwise noted, this project is licensed under the following
(ISC-style) terms:

Copyright 2015 Brian Smith.

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

The files under third-party/chromium are licensed as described in
third-party/chromium/LICENSE.


==============================================================================
DOCUMENT 5c686e0f7978412b49187ae0e9f77e9b52eea9d8d2e6c0de8694b35817d873b1
==============================================================================
Copyright 2019 gRPC authors.

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.


==============================================================================
DOCUMENT 5c6f62056611d3f0256525565d02e2cfb48385b26812fb4d606fc7d13de1a0d3
==============================================================================
/* SPDX-License-Identifier: MIT
 * origin: musl src/math/trunc.c */


==============================================================================
DOCUMENT 5d392ff1ac69a18c9beb41720ecbfd56f7792a1ec4321428e73757d4283f5a61
==============================================================================
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT 5dd6bae8b7ee15b1234a4ec7c01d9413e050cb1102e52e4ccae8de26ef63e2aa
==============================================================================
/* Copyright (c) 2015, Google Inc.
 *
 * Permission to use, copy, modify, and/or distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */


==============================================================================
DOCUMENT 5eb447ab49a139299a9242218745eaf936ec997fcb32ea17c8d8ee855cd78686
==============================================================================
// Copyright (c) 2013-2014 The Rust Project Developers
//
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
// - Redistributions of source code must retain the above copyright
//   notice, this list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright
//   notice, this list of conditions and the following disclaimer in
//   the documentation and/or other materials provided with the
//   distribution.
//
// - Neither the name of "The Computer Language Benchmarks Game" nor
//   the name of "The Computer Language Shootout Benchmarks" nor the
//   names of its contributors may be used to endorse or promote
//   products derived from this software without specific prior
//   written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
// OF THE POSSIBILITY OF SUCH DAMAGE.


==============================================================================
DOCUMENT 60b302e19911888d62ded3a5b4046eaf884778d9423715c720ea42376979122f
==============================================================================
// Copyright 2018-2020 Developers of the Rand project.
// Copyright 2017 The Rust Project Developers.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT 62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3
==============================================================================
Copyright (c) 2012-2013 Mozilla Foundation

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.


==============================================================================
DOCUMENT 6226d0632e2e1a80c23597e964da9812ae193c535fe058154afb034e94167aa5
==============================================================================
===============================================================================

Copyright (c) 2016 Alex Crichton
Copyright (c) 2017 The Tokio Authors

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.

===============================================================================

Copyright (c) 2016 Alex Crichton
Copyright (c) 2017 The Tokio Authors

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.


==============================================================================
DOCUMENT 62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a
==============================================================================
                              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


==============================================================================
DOCUMENT 63bbc9b064b0d23038573b1371ec5528e275309972b2ede44728a219a325ea18
==============================================================================
# Google Cloud Client Libraries for Rust - License Manager API

<!-- Code generated by sidekick. DO NOT EDIT. -->

License Manager is a tool to manage and track third-party licenses on
Google Cloud.

The client library types and functions are stable and not expected to change.
Please note that Google Cloud services do change from time to time. The client
libraries are designed to preserve backwards compatibility when the service
changes in compatible ways. For example, adding RPCs, or fields to messages
should not introduce breaking changes to the client libraries.

## Quickstart

The main types to work with this crate are the clients:

- [LicenseManager]

## Features

- `default-rustls-provider`: enabled by default. Use the default rustls crypto
  provider ([aws-lc-rs]) for TLS and authentication. Applications with specific
  requirements for cryptography (such as exclusively using the [ring] crate)
  should disable this default and call
  `rustls::crypto::CryptoProvider::install_default()`.

## More Information

- Read the [crate's documentation](https://docs.rs/google-cloud-licensemanager-v1/1.15.0)

[aws-lc-rs]: https://crates.io/crates/aws-lc-rs
[ring]: https://crates.io/crates/ring
[LicenseManager]: https://docs.rs/google-cloud-licensemanager-v1/1.15.0/google_cloud_licensemanager_v1/client/struct.LicenseManager.html


==============================================================================
DOCUMENT 6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb
==============================================================================
Copyright (c) 2014 The Rust Project Developers

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.


==============================================================================
DOCUMENT 65fdb6c76cd61612070c066eec9ecdb30ee74fb27859d0d9af58b9f499fd0c3e
==============================================================================
Copyright (c) 2017 Contributors

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.


==============================================================================
DOCUMENT 6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd
==============================================================================
Copyright (c) 2016 Alex Crichton
Copyright (c) 2017 The Tokio Authors

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.


==============================================================================
DOCUMENT 696759d65dfe558ff7d9f031c76db19ec5c0767470fb67c4e8d990820d1e99c9
==============================================================================
                              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 2020 Andrew Straw

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.


==============================================================================
DOCUMENT 696cc66cf72629283bd8169f2f1f57761347846fbf4713d38359c36faee431a0
==============================================================================
// Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
// Copyright (c) 2014, Intel Corporation. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://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.
//
// Originally written by Shay Gueron (1, 2), and Vlad Krasnov (1)
// (1) Intel Corporation, Israel Development Center, Haifa, Israel
// (2) University of Haifa, Israel
//
// Reference:
// S.Gueron and V.Krasnov, "Fast Prime Field Elliptic Curve Cryptography with
//                          256 Bit Primes"


==============================================================================
DOCUMENT 6a45aec599a0e0c783330dbce968ffcf3967e085ef7374c4f168e9cb420c80d4
==============================================================================
// Copyright 2018-2024 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 6b664a7c3acad25366aba9ee177e0e5de1b377c5f64f3b4a71594536e71bf315
==============================================================================
// Translated from C to Rust. The original C code can be found at
// https://github.com/ulfjack/ryu and carries the following license:
//
// Copyright 2018 Ulf Adams
//
// The contents of this file may be used under the terms of the Apache License,
// Version 2.0.
//
//    (See accompanying file LICENSE-Apache or copy at
//     http://www.apache.org/licenses/LICENSE-2.0)
//
// Alternatively, the contents of this file may be used under the terms of
// the Boost Software License, Version 1.0.
//    (See accompanying file LICENSE-Boost or copy at
//     https://www.boost.org/LICENSE_1_0.txt)
//
// Unless required by applicable law or agreed to in writing, this software
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.


==============================================================================
DOCUMENT 6cc237bcd2e6e398183d5b6b654e27da38582e6b7861c121d329f2655b5f0c29
==============================================================================
// Copyright 2026 Google LLC
//
// 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
//
//     https://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.


==============================================================================
DOCUMENT 6df43f6f4b5d4587f3d8d71e45532c688fd168afa5fe89d571cb32fa09c4ef51
==============================================================================
                              Apache License
                        Version 2.0, January 2004
                     https://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.


==============================================================================
DOCUMENT 6ee2ed6c77710de911761acd5fc1ad1da00f476beb1a7ef27e78c2d1858deafc
==============================================================================
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 AUTHOR 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.


==============================================================================
DOCUMENT 6efb0476a1cc085077ed49357026d8c173bf33017278ef440f222fb9cbcb66e6
==============================================================================
Copyright (c) Individual contributors

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.


==============================================================================
DOCUMENT 709e3175b4212f7b13aa93971c9f62ff8c69ec45ad8c6532a7e0c41d7a7d6f8c
==============================================================================
Copyright (c) 2016 Joseph Birr-Pixton <jpixton@gmail.com>

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.


==============================================================================
DOCUMENT 70c9d40f1f9545c3f133b8a67206e89da850f6468eed072281bb3701514114a9
==============================================================================
Copyright (c) 2022-2026 The RustCrypto Project Developers

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.


==============================================================================
DOCUMENT 72048c66c621b211f6c0dfde2e164c601b2b0423fe4d0916bb3b3c37c9eaef2c
==============================================================================
// Copyright 2015-2025 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 7365cc8878a1d7ce155a58c4ca09c3d7a6be413efa5334a80ea842912b669349
==============================================================================
Copyright (c) 2016--2023

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.


==============================================================================
DOCUMENT 73b9dc2e79c7308998dd30296e073aefaefb944a68fb89aa412c23c0edcabcaa
==============================================================================
Copyright (c) 2020-2026 The RustCrypto Project Developers

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.


==============================================================================
DOCUMENT 751963a8b88c0e3a9f27e98933079fbcf09b9998b2c13ac49c2e4d58444520d6
==============================================================================
                              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 2016 Sean McArthur

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.


==============================================================================
DOCUMENT 7576269ea71f767b99297934c0b2367532690f8c4badc695edf8e04ab6a1e545
==============================================================================
Copyright (c) 2015

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.


==============================================================================
DOCUMENT 77e2f0aee6927969cdb1b5b7bd894539728127b364515d4981f01ac990359f9e
==============================================================================
// Copyright 2017-2025 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 77ee9bce4ac66db1a7c4d5981acb771b85bda28ec5a34205eacfba5790c18367
==============================================================================
// SPDX-License-Identifier: BSD-2-Clause OR Apache-2.0 OR MIT
//
// Copyright 2019 The Fuchsia Authors
//
// Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0
// <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT
// license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
// This file may not be copied, modified, or distributed except according to
// those terms.


==============================================================================
DOCUMENT 78faf2571fe417f3bcd7b38798c4d9ddf499ca43d1ede6fa44992ba75445bff7
==============================================================================
// origin: FreeBSD /usr/src/lib/msun/src/s_cos.c */
//
// ====================================================
// Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
//
// Developed at SunPro, a Sun Microsystems, Inc. business.
// Permission to use, copy, modify, and distribute this
// software is freely granted, provided that this notice
// is preserved.
// ====================================================


==============================================================================
DOCUMENT 79f116abbf43c37607f2f1a57b8b6615ad0a589afa52e695812728fe9a74d73e
==============================================================================
// Copyright 2025 Google LLC
//
// 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
//
//     https://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.
//
// Code generated by sidekick. DO NOT EDIT.


==============================================================================
DOCUMENT 7abd9b6960dcf7d4d0a48606a5b71bfe37d472db68d70637f3a58a56785f1621
==============================================================================
// Copyright 2015-2016 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 7afb6dcdbfcb7d450aaa870c3a10fd431581c4d22b18181053028c193f37cb41
==============================================================================
// MIT License
//
// Copyright (c) 2020-2022 Oliver Margetts
//
// 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.


==============================================================================
DOCUMENT 7b359e490732b5a6e9a0eafb91aa90f09de3afebb17810450304556b7134d5cc
==============================================================================
// Copyright 2023 The Servo Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT 7b724c8fa4a82af733caccabdaa21e2bf8bcb0822fe62d5cf03f99d458438705
==============================================================================
                                 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 2019 Near

   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.


==============================================================================
DOCUMENT 7cfafc877eccc46c0e346ccbaa5c51bb6b894d2b818e617d970211e232785ad4
==============================================================================
ISC License (ISC)
Copyright (c) 2016, Joseph Birr-Pixton <jpixton@gmail.com>

Permission to use, copy, modify, and/or distribute this software for
any purpose with or without fee is hereby granted, provided that the
above copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
THIS SOFTWARE.


==============================================================================
DOCUMENT 7dedeb59e2a6b10de97d188169b3331e98036023f531346f626b07734b6fcec1
==============================================================================
// Copyright 2013 The Servo Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT 7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c
==============================================================================
This is free and unencumbered software released into the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.

In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.

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 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.

For more information, please refer to <http://unlicense.org/>


==============================================================================
DOCUMENT 7f5ad230d8156d356ddde6fc7da616155c3a22390a4f36edb81e0995990ecf19
==============================================================================
// Copyright 2015-2017 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 7fd770efff953e8e1561250e47efa5dda6f1c71889727f2bf1942e2d5db923fd
==============================================================================
// SPDX-License-Identifier: Apache-2.0 OR MIT


==============================================================================
DOCUMENT 804daaec937a7c6cc91f6b1d16136e4ff4763655e680b5a925b809e4504741a0
==============================================================================
// Copyright 2018 Developers of the Rand project.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT 8173d5c29b4f956d532781d2b86e4e30f83e6b7878dce18c919451d6ba707c90
==============================================================================
                              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.


==============================================================================
DOCUMENT 81bdb0e7c0426a845a01b30cb149984faca6f332e13641403de7f2acc4515e39
==============================================================================
// Copyright 2024-2025 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 82351809670eeb513c66903839555074cb6b86ab9049f399155aa9d2e96e502c
==============================================================================
/* Copyright 2016 Brian Smith.
 *
 * Permission to use, copy, modify, and/or distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */


==============================================================================
DOCUMENT 826f6e3ca197d28f0bb2901b0887912574bacc542aa1bfc764724814285511dc
==============================================================================
// Copyright 2015-2016 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 831e0f43ad0bf014c1c4fec5767aae470434c1d66d6e671be2d823e729063e25
==============================================================================
Copyright (c) 2016-2026 The RustCrypto Project Developers
Copyright (c) 2016 Artyom Pavlov
Copyright (c) 2009-2013 Mozilla Foundation
Copyright (c) 2006-2009 Graydon Hoare

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.


==============================================================================
DOCUMENT 83c1763356e822adde0a2cae748d938a73fdc263849ccff6b27776dff213bd32
==============================================================================
Copyright 2019 The Fuchsia Authors.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

   * Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
   * Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


==============================================================================
DOCUMENT 84b34dd7608f7fb9b17bd588a6bf392bf7de504e2716f024a77d89f1b145a151
==============================================================================
Copyright (c) 2019 Daniel "Lokathor" Gee.

This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.

2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.

3. This notice may not be removed or altered from any source distribution.


==============================================================================
DOCUMENT 84ff7c28d9c95012acb6be697e80602dcf2297f6542da3a0a5c7aebcdfd66512
==============================================================================
// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT 86c60ce1d1aad14ef0d9f1d6f056dc640ff9c030f91f627a50eef66728eed29b
==============================================================================
// Copyright 2023 The BoringSSL Authors
//
// 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
//
//     https://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.


==============================================================================
DOCUMENT 8764a597675778ddfd4e25f81b08a05dbcf089ac05662df7613fe67f150e3aa2
==============================================================================
Copyright (c) 2014 Chris Wong

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.


==============================================================================
DOCUMENT 87d9feb9238c6bd8e0024fc4733b06cff036f89f36d93b7df1c8a0549bbb7a5b
==============================================================================
                                 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 2017 Juniper Networks, Inc.

   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.


==============================================================================
DOCUMENT 891519f4249e526687d08cdbd096a2dcb96be60b408870b2f722fcf3915daec1
==============================================================================
// Copyright 2013-2016 The rust-url developers.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT 898b1ae9821e98daf8964c8d6c7f61641f5f5aa78ad500020771c0939ee0dea1
==============================================================================
Copyright (c) 2019 Tokio Contributors

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.


==============================================================================
DOCUMENT 8ab841eafef4b22e2d39d38c7cd60c364e8b94457bafe272c09b579810c2119e
==============================================================================
// Copyright 2018 Developers of the Rand project.
// Copyright 2017-2018 The Rust Project Developers.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT 8ada45cd9f843acf64e4722ae262c622a2b3b3007c7310ef36ac1061a30f6adb
==============================================================================
                              Apache License
                        Version 2.0, January 2004
                     https://www.apache.org/licenses/LICENSE-2.0

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

	https://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.


==============================================================================
DOCUMENT 8b43ce8accd61e9d370b5ca9e9c4f953279b5c239926c62315b40e24df51b726
==============================================================================
Copyright (c) The rust-url developers

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.


==============================================================================
DOCUMENT 8b6e9feec03e7c9a5facb26855cecd31662bf989b636bcfe79521bdf8ac863f0
==============================================================================
Copyright (c) 2018-2026 The Rand Project Developers

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.


==============================================================================
DOCUMENT 8bb1b50b0e5c9399ae33bd35fab2769010fa6c14e8860c729a52295d84896b7a
==============================================================================
                              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 2017 http-rs authors

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.


==============================================================================
DOCUMENT 8c7516d4b27b1e495be5e38b612298b63de48d05f49cdac94f70f3cd70f8864b
==============================================================================
Copyright (c) 2018-2026 The RustCrypto Project Developers

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.


==============================================================================
DOCUMENT 8c845e77a4c258cf14f96b6a9ce4a0f077a20de8f2fbdb7147338433facae9a5
==============================================================================
#!/usr/bin/env perl
# Copyright 2024 The BoringSSL Authors
#
# 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
#
#     https://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.
#
#------------------------------------------------------------------------------
#
# VAES and VPCLMULQDQ optimized AES-GCM for x86_64 (AVX2 version)
#
# This is similar to aes-gcm-avx10-x86_64.pl, but it uses AVX2 instead of AVX512
# / AVX10.  This means it can only use 16 vector registers instead of 32, the
# maximum vector length is 32 bytes, and some instructions such as vpternlogd
# and masked loads/stores are unavailable.  However, it is able to run on CPUs
# that have VAES without AVX512 / AVX10, namely AMD Zen 3 (including "Milan"
# server processors) and some Intel client CPUs such as Alder Lake.
#
# This implementation also uses Karatsuba multiplication instead of schoolbook
# multiplication for GHASH in its main loop.  This does not help much on Intel,
# but it improves performance by ~5% on AMD Zen 3 which is the main target for
# this implementation.  Other factors weighing slightly in favor of Karatsuba
# multiplication in this implementation are the lower maximum vector length
# (which means there is space left in the Htable array to cache the halves of
# the key powers XOR'd together) and the unavailability of the vpternlogd
# instruction (which helped schoolbook a bit more than Karatsuba).


==============================================================================
DOCUMENT 8ca246cb5c323120e25c3ff9a3f8fe4de715c71441add4353b34116a494edccd
==============================================================================
// Copyright 2015 The BoringSSL Authors
//
// 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
//
//     https://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.


==============================================================================
DOCUMENT 8ce0830173fdac609dfb4ea603fdc002c2f4af0dc9b1a005653f5da9cf534b18
==============================================================================
Copyright (c) 2019 Carl Lerche

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.


==============================================================================
DOCUMENT 8ea93490d74a5a1b1af3ff71d786271b3f1e5f0bea79ac16e02ec533cef040d6
==============================================================================
MIT License

Copyright (c) 2017 Ted Driggs

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.


==============================================================================
DOCUMENT 901ceddbd2aef755f41bd82c512e3cf9382d912a70342f77eff003df2dec67b5
==============================================================================
// Copyright 2015-2020 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 90eb64f0279b0d9432accfa6023ff803bc4965212383697eee27a0f426d5f8d5
==============================================================================
Copyrights in the Rand project are retained by their contributors. No
copyright assignment is required to contribute to the Rand project.

For full authorship information, see the version control history.

Except as otherwise noted (below and/or in individual files), Rand is
licensed under the Apache License, Version 2.0 <LICENSE-APACHE> or
<http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
<LICENSE-MIT> or <http://opensource.org/licenses/MIT>, at your option.

The Rand project includes code from the Rust project
published under these same licenses.


==============================================================================
DOCUMENT 9117d922e667125508dde62b02c1f57ed22f5ad21eb536aa2e2d99e1c796e639
==============================================================================
Copyright (c) 2023 Dirkjan Ochtman <dirkjan@ochtman.nl>

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.


==============================================================================
DOCUMENT 91585c36e4fb9ab4ca0d3dfac5d66d3c0c62cc51f640a0e1196542daf2267eae
==============================================================================
Copyright (c) 2025-2026 The RustCrypto Project Developers

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.


==============================================================================
DOCUMENT 91e934255ba3b2f21103d68c5581c23ef34aa95c4628e4405b8c901935e11c69
==============================================================================
The MIT License (MIT)

Copyright (c) 2015 Steven Fackler

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.


==============================================================================
DOCUMENT 92b81db30f7ab6d693e0af5661a40d273ca1947e891123ed823924192c10cbc7
==============================================================================
Copyrights in the Rand project are retained by their contributors. No
copyright assignment is required to contribute to the Rand project.

For full authorship information, see the version control history.

Except as otherwise noted (below and/or in individual files), Rand is
licensed under the Apache License, Version 2.0 <LICENSE-APACHE> or
<http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
<LICENSE-MIT> or <http://opensource.org/licenses/MIT>, at your option.


==============================================================================
DOCUMENT 932e4ab34f8ee85390542105497ef60e6e73dab2c8883d6250f2d427ec6439e3
==============================================================================
// Copyright 2018 Developers of the Rand project.
// Copyright 2013-2017 The Rust Project Developers.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT 946c9835d8034d24404f8cfec5f4654cee5dad17e944afc3d06d742cf2882831
==============================================================================
Rust-chrono is dual-licensed under The MIT License [1] and
Apache 2.0 License [2]. Copyright (c) 2014--2026, Kang Seonghoon and
contributors.

Nota Bene: This is same as the Rust Project's own license.


[1]: <http://opensource.org/licenses/MIT>, which is reproduced below:

~~~~
The MIT License (MIT)

Copyright (c) 2014, Kang Seonghoon.

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.
~~~~


[2]: <http://www.apache.org/licenses/LICENSE-2.0>, which is reproduced below:

~~~~
                              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.
~~~~



==============================================================================
DOCUMENT 9516efec29bcdaaf2e31549fddd0ec52cf5d91c9bfa96702fb0d666f6d8d8f5a
==============================================================================
// Copyright 2025 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 95405259f13ea8a4edcadf762def1650037bb805fa2cc97882584c38a9496268
==============================================================================
# Copyright 2025 Google LLC
#
# 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
#
#     https://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.
#
# Code generated by sidekick. DO NOT EDIT.

[package]
name                   = "google-cloud-licensemanager-v1"
version                = "1.15.0"
description            = "Google Cloud Client Libraries for Rust - License Manager API"
edition.workspace      = true
authors.workspace      = true
license.workspace      = true
repository.workspace   = true
keywords.workspace     = true
categories.workspace   = true
rust-version.workspace = true

[lints]
workspace = true

[features]
default = ["default-rustls-provider"]
# Enabled by default. Use the default rustls crypto provider ([aws-lc-rs]) for
# TLS and authentication. Applications with specific requirements for
# cryptography (such as exclusively using the [ring] crate) should disable this
# default and call `rustls::crypto::CryptoProvider::install_default()`.
default-rustls-provider = ["gaxi/_default-rustls-provider"]

[package.metadata.docs.rs]
all-features = true

[dependencies]
async-trait.workspace              = true
bytes.workspace                    = true
gaxi                               = { workspace = true, features = ["_internal-http-client"] }
google-cloud-gax.workspace         = true
google-cloud-location.workspace    = true
google-cloud-longrunning.workspace = true
google-cloud-lro.workspace         = true
serde.workspace                    = true
serde_json.workspace               = true
serde_with.workspace               = true
tracing.workspace                  = true
wkt.workspace                      = true

[dev-dependencies]
anyhow.workspace = true


==============================================================================
DOCUMENT 958e4e934844db7d7fa42fe76d5b39ab714b2c57aa5aa272e069d362a7a9cbd2
==============================================================================
// Copyright 2026 The Fuchsia Authors
//
// Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0
// <LICENSE-APACHE or https://opensource.org/licenses/MIT>, or the MIT
// license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
// This file may not be copied, modified, or distributed except according to
// those terms.


==============================================================================
DOCUMENT 98181e7249d0c01737645ec982499ce99a0f07eb8f7d625b8840d799d10dbc01
==============================================================================
Copyright (c) 2018-2025 The RustCrypto Project Developers

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.


==============================================================================
DOCUMENT 99a07315c47a6c27e677a2a47e357217e12acabb89177deadae9e141696e7195
==============================================================================
// Copyright 2020 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 9acab8d9d07e726cd4e394d637f8288ec0edeb27096153cb4400d3df4bb61f16
==============================================================================
// SPDX-License-Identifier: BSD-2-Clause OR Apache-2.0 OR MIT
//
// Copyright 2026 The Fuchsia Authors
//
// Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0
// <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT
// license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
// This file may not be copied, modified, or distributed except according to
// those terms.


==============================================================================
DOCUMENT 9c209b766f463d43b1f4fcacf266e7807e973b2e7719afa29de133db1244d8e3
==============================================================================
#! /usr/bin/env perl
# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://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.


==============================================================================
DOCUMENT 9c753978201017a14604b18e955de4c455b81cc128626871a71b6ca9c77fa4b8
==============================================================================
// Copyright 2025 Google LLC
//
// 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
//
//     https://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.
//
// Code generated by sidekick. DO NOT EDIT.

#![allow(rustdoc::bare_urls)]
#![allow(rustdoc::broken_intra_doc_links)]
#![allow(rustdoc::invalid_html_tags)]
#![allow(rustdoc::redundant_explicit_links)]
#![no_implicit_prelude]
extern crate async_trait;
extern crate bytes;
extern crate gaxi;
extern crate google_cloud_gax;
extern crate google_cloud_location;
extern crate google_cloud_longrunning;
extern crate google_cloud_lro;
extern crate serde;
extern crate serde_json;
extern crate serde_with;
extern crate std;
extern crate tracing;
extern crate wkt;

mod debug;
mod deserialize;
mod serialize;

/// Configuration for a Google SPLA product
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct Configuration {
    /// Identifier. name of resource
    pub name: std::string::String,

    /// Required. User given name.
    pub display_name: std::string::String,

    /// Required. Name field (with URL) of the Product offered for SPLA.
    pub product: std::string::String,

    /// Required. LicenseType to be applied for billing
    pub license_type: crate::model::LicenseType,

    /// Required. Billing information applicable till end of the current month.
    pub current_billing_info: std::option::Option<crate::model::BillingInfo>,

    /// Required. Billing information applicable for next month.
    pub next_billing_info: std::option::Option<crate::model::BillingInfo>,

    /// Output only. [Output only] Create time stamp
    pub create_time: std::option::Option<wkt::Timestamp>,

    /// Output only. [Output only] Update time stamp
    pub update_time: std::option::Option<wkt::Timestamp>,

    /// Optional. Labels as key value pairs
    pub labels: std::collections::HashMap<std::string::String, std::string::String>,

    /// Output only. State of the configuration.
    pub state: crate::model::configuration::State,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl Configuration {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [name][crate::model::Configuration::name].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Configuration;
    /// # let project_id = "project_id";
    /// # let location_id = "location_id";
    /// # let configuration_id = "configuration_id";
    /// let x = Configuration::new().set_name(format!("projects/{project_id}/locations/{location_id}/configurations/{configuration_id}"));
    /// ```
    pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.name = v.into();
        self
    }

    /// Sets the value of [display_name][crate::model::Configuration::display_name].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Configuration;
    /// let x = Configuration::new().set_display_name("example");
    /// ```
    pub fn set_display_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.display_name = v.into();
        self
    }

    /// Sets the value of [product][crate::model::Configuration::product].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Configuration;
    /// # let project_id = "project_id";
    /// # let location_id = "location_id";
    /// # let product_id = "product_id";
    /// let x = Configuration::new().set_product(format!("projects/{project_id}/locations/{location_id}/products/{product_id}"));
    /// ```
    pub fn set_product<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.product = v.into();
        self
    }

    /// Sets the value of [license_type][crate::model::Configuration::license_type].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Configuration;
    /// use google_cloud_licensemanager_v1::model::LicenseType;
    /// let x0 = Configuration::new().set_license_type(LicenseType::PerMonthPerUser);
    /// let x1 = Configuration::new().set_license_type(LicenseType::BringYourOwnLicense);
    /// ```
    pub fn set_license_type<T: std::convert::Into<crate::model::LicenseType>>(
        mut self,
        v: T,
    ) -> Self {
        self.license_type = v.into();
        self
    }

    /// Sets the value of [current_billing_info][crate::model::Configuration::current_billing_info].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Configuration;
    /// use google_cloud_licensemanager_v1::model::BillingInfo;
    /// let x = Configuration::new().set_current_billing_info(BillingInfo::default()/* use setters */);
    /// ```
    pub fn set_current_billing_info<T>(mut self, v: T) -> Self
    where
        T: std::convert::Into<crate::model::BillingInfo>,
    {
        self.current_billing_info = std::option::Option::Some(v.into());
        self
    }

    /// Sets or clears the value of [current_billing_info][crate::model::Configuration::current_billing_info].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Configuration;
    /// use google_cloud_licensemanager_v1::model::BillingInfo;
    /// let x = Configuration::new().set_or_clear_current_billing_info(Some(BillingInfo::default()/* use setters */));
    /// let x = Configuration::new().set_or_clear_current_billing_info(None::<BillingInfo>);
    /// ```
    pub fn set_or_clear_current_billing_info<T>(mut self, v: std::option::Option<T>) -> Self
    where
        T: std::convert::Into<crate::model::BillingInfo>,
    {
        self.current_billing_info = v.map(|x| x.into());
        self
    }

    /// Sets the value of [next_billing_info][crate::model::Configuration::next_billing_info].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Configuration;
    /// use google_cloud_licensemanager_v1::model::BillingInfo;
    /// let x = Configuration::new().set_next_billing_info(BillingInfo::default()/* use setters */);
    /// ```
    pub fn set_next_billing_info<T>(mut self, v: T) -> Self
    where
        T: std::convert::Into<crate::model::BillingInfo>,
    {
        self.next_billing_info = std::option::Option::Some(v.into());
        self
    }

    /// Sets or clears the value of [next_billing_info][crate::model::Configuration::next_billing_info].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Configuration;
    /// use google_cloud_licensemanager_v1::model::BillingInfo;
    /// let x = Configuration::new().set_or_clear_next_billing_info(Some(BillingInfo::default()/* use setters */));
    /// let x = Configuration::new().set_or_clear_next_billing_info(None::<BillingInfo>);
    /// ```
    pub fn set_or_clear_next_billing_info<T>(mut self, v: std::option::Option<T>) -> Self
    where
        T: std::convert::Into<crate::model::BillingInfo>,
    {
        self.next_billing_info = v.map(|x| x.into());
        self
    }

    /// Sets the value of [create_time][crate::model::Configuration::create_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Configuration;
    /// use wkt::Timestamp;
    /// let x = Configuration::new().set_create_time(Timestamp::default()/* use setters */);
    /// ```
    pub fn set_create_time<T>(mut self, v: T) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.create_time = std::option::Option::Some(v.into());
        self
    }

    /// Sets or clears the value of [create_time][crate::model::Configuration::create_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Configuration;
    /// use wkt::Timestamp;
    /// let x = Configuration::new().set_or_clear_create_time(Some(Timestamp::default()/* use setters */));
    /// let x = Configuration::new().set_or_clear_create_time(None::<Timestamp>);
    /// ```
    pub fn set_or_clear_create_time<T>(mut self, v: std::option::Option<T>) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.create_time = v.map(|x| x.into());
        self
    }

    /// Sets the value of [update_time][crate::model::Configuration::update_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Configuration;
    /// use wkt::Timestamp;
    /// let x = Configuration::new().set_update_time(Timestamp::default()/* use setters */);
    /// ```
    pub fn set_update_time<T>(mut self, v: T) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.update_time = std::option::Option::Some(v.into());
        self
    }

    /// Sets or clears the value of [update_time][crate::model::Configuration::update_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Configuration;
    /// use wkt::Timestamp;
    /// let x = Configuration::new().set_or_clear_update_time(Some(Timestamp::default()/* use setters */));
    /// let x = Configuration::new().set_or_clear_update_time(None::<Timestamp>);
    /// ```
    pub fn set_or_clear_update_time<T>(mut self, v: std::option::Option<T>) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.update_time = v.map(|x| x.into());
        self
    }

    /// Sets the value of [labels][crate::model::Configuration::labels].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Configuration;
    /// let x = Configuration::new().set_labels([
    ///     ("key0", "abc"),
    ///     ("key1", "xyz"),
    /// ]);
    /// ```
    pub fn set_labels<T, K, V>(mut self, v: T) -> Self
    where
        T: std::iter::IntoIterator<Item = (K, V)>,
        K: std::convert::Into<std::string::String>,
        V: std::convert::Into<std::string::String>,
    {
        use std::iter::Iterator;
        self.labels = v.into_iter().map(|(k, v)| (k.into(), v.into())).collect();
        self
    }

    /// Sets the value of [state][crate::model::Configuration::state].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Configuration;
    /// use google_cloud_licensemanager_v1::model::configuration::State;
    /// let x0 = Configuration::new().set_state(State::Active);
    /// let x1 = Configuration::new().set_state(State::Suspended);
    /// let x2 = Configuration::new().set_state(State::Deleted);
    /// ```
    pub fn set_state<T: std::convert::Into<crate::model::configuration::State>>(
        mut self,
        v: T,
    ) -> Self {
        self.state = v.into();
        self
    }
}

impl wkt::message::Message for Configuration {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.Configuration"
    }
}

/// Defines additional types related to [Configuration].
pub mod configuration {
    #[allow(unused_imports)]
    use super::*;

    /// State of the configuration.
    ///
    /// # Working with unknown values
    ///
    /// This enum is defined as `#[non_exhaustive]` because Google Cloud may add
    /// additional enum variants at any time. Adding new variants is not considered
    /// a breaking change. Applications should write their code in anticipation of:
    ///
    /// - New values appearing in future releases of the client library, **and**
    /// - New values received dynamically, without application changes.
    ///
    /// Please consult the [Working with enums] section in the user guide for some
    /// guidelines.
    ///
    /// [Working with enums]: https://googleapis.github.io/google-cloud-rust/working_with_enums.html
    #[derive(Clone, Debug, PartialEq)]
    #[non_exhaustive]
    pub enum State {
        /// The Status of the configuration is unspecified
        Unspecified,
        /// Configuration is in active state.
        Active,
        /// Configuration is in deactivated state.
        Suspended,
        /// Configuration is in deleted state.
        Deleted,
        /// If set, the enum was initialized with an unknown value.
        ///
        /// Applications can examine the value using [State::value] or
        /// [State::name].
        UnknownValue(state::UnknownValue),
    }

    #[doc(hidden)]
    pub mod state {
        #[allow(unused_imports)]
        use super::*;
        #[derive(Clone, Debug, PartialEq)]
        pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
    }

    impl State {
        /// Gets the enum value.
        ///
        /// Returns `None` if the enum contains an unknown value deserialized from
        /// the string representation of enums.
        pub fn value(&self) -> std::option::Option<i32> {
            match self {
                Self::Unspecified => std::option::Option::Some(0),
                Self::Active => std::option::Option::Some(1),
                Self::Suspended => std::option::Option::Some(2),
                Self::Deleted => std::option::Option::Some(3),
                Self::UnknownValue(u) => u.0.value(),
            }
        }

        /// Gets the enum value as a string.
        ///
        /// Returns `None` if the enum contains an unknown value deserialized from
        /// the integer representation of enums.
        pub fn name(&self) -> std::option::Option<&str> {
            match self {
                Self::Unspecified => std::option::Option::Some("STATE_UNSPECIFIED"),
                Self::Active => std::option::Option::Some("STATE_ACTIVE"),
                Self::Suspended => std::option::Option::Some("STATE_SUSPENDED"),
                Self::Deleted => std::option::Option::Some("STATE_DELETED"),
                Self::UnknownValue(u) => u.0.name(),
            }
        }
    }

    impl std::default::Default for State {
        fn default() -> Self {
            use std::convert::From;
            Self::from(0)
        }
    }

    impl std::fmt::Display for State {
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
            wkt::internal::display_enum(f, self.name(), self.value())
        }
    }

    impl std::convert::From<i32> for State {
        fn from(value: i32) -> Self {
            match value {
                0 => Self::Unspecified,
                1 => Self::Active,
                2 => Self::Suspended,
                3 => Self::Deleted,
                _ => Self::UnknownValue(state::UnknownValue(
                    wkt::internal::UnknownEnumValue::Integer(value),
                )),
            }
        }
    }

    impl std::convert::From<&str> for State {
        fn from(value: &str) -> Self {
            use std::string::ToString;
            match value {
                "STATE_UNSPECIFIED" => Self::Unspecified,
                "STATE_ACTIVE" => Self::Active,
                "STATE_SUSPENDED" => Self::Suspended,
                "STATE_DELETED" => Self::Deleted,
                _ => Self::UnknownValue(state::UnknownValue(
                    wkt::internal::UnknownEnumValue::String(value.to_string()),
                )),
            }
        }
    }

    impl serde::ser::Serialize for State {
        fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
        where
            S: serde::Serializer,
        {
            match self {
                Self::Unspecified => serializer.serialize_i32(0),
                Self::Active => serializer.serialize_i32(1),
                Self::Suspended => serializer.serialize_i32(2),
                Self::Deleted => serializer.serialize_i32(3),
                Self::UnknownValue(u) => u.0.serialize(serializer),
            }
        }
    }

    impl<'de> serde::de::Deserialize<'de> for State {
        fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
        where
            D: serde::Deserializer<'de>,
        {
            deserializer.deserialize_any(wkt::internal::EnumVisitor::<State>::new(
                ".google.cloud.licensemanager.v1.Configuration.State",
            ))
        }
    }
}

/// Billing Information.
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct BillingInfo {
    /// Output only. When the billing starts.
    pub start_time: std::option::Option<wkt::Timestamp>,

    /// Output only. When the billing ends.
    pub end_time: std::option::Option<wkt::Timestamp>,

    #[allow(missing_docs)]
    pub current_billing_info: std::option::Option<crate::model::billing_info::CurrentBillingInfo>,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl BillingInfo {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [start_time][crate::model::BillingInfo::start_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::BillingInfo;
    /// use wkt::Timestamp;
    /// let x = BillingInfo::new().set_start_time(Timestamp::default()/* use setters */);
    /// ```
    pub fn set_start_time<T>(mut self, v: T) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.start_time = std::option::Option::Some(v.into());
        self
    }

    /// Sets or clears the value of [start_time][crate::model::BillingInfo::start_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::BillingInfo;
    /// use wkt::Timestamp;
    /// let x = BillingInfo::new().set_or_clear_start_time(Some(Timestamp::default()/* use setters */));
    /// let x = BillingInfo::new().set_or_clear_start_time(None::<Timestamp>);
    /// ```
    pub fn set_or_clear_start_time<T>(mut self, v: std::option::Option<T>) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.start_time = v.map(|x| x.into());
        self
    }

    /// Sets the value of [end_time][crate::model::BillingInfo::end_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::BillingInfo;
    /// use wkt::Timestamp;
    /// let x = BillingInfo::new().set_end_time(Timestamp::default()/* use setters */);
    /// ```
    pub fn set_end_time<T>(mut self, v: T) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.end_time = std::option::Option::Some(v.into());
        self
    }

    /// Sets or clears the value of [end_time][crate::model::BillingInfo::end_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::BillingInfo;
    /// use wkt::Timestamp;
    /// let x = BillingInfo::new().set_or_clear_end_time(Some(Timestamp::default()/* use setters */));
    /// let x = BillingInfo::new().set_or_clear_end_time(None::<Timestamp>);
    /// ```
    pub fn set_or_clear_end_time<T>(mut self, v: std::option::Option<T>) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.end_time = v.map(|x| x.into());
        self
    }

    /// Sets the value of [current_billing_info][crate::model::BillingInfo::current_billing_info].
    ///
    /// Note that all the setters affecting `current_billing_info` are mutually
    /// exclusive.
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::BillingInfo;
    /// use google_cloud_licensemanager_v1::model::UserCountBillingInfo;
    /// let x = BillingInfo::new().set_current_billing_info(Some(
    ///     google_cloud_licensemanager_v1::model::billing_info::CurrentBillingInfo::UserCountBilling(UserCountBillingInfo::default().into())));
    /// ```
    pub fn set_current_billing_info<
        T: std::convert::Into<std::option::Option<crate::model::billing_info::CurrentBillingInfo>>,
    >(
        mut self,
        v: T,
    ) -> Self {
        self.current_billing_info = v.into();
        self
    }

    /// The value of [current_billing_info][crate::model::BillingInfo::current_billing_info]
    /// if it holds a `UserCountBilling`, `None` if the field is not set or
    /// holds a different branch.
    pub fn user_count_billing(
        &self,
    ) -> std::option::Option<&std::boxed::Box<crate::model::UserCountBillingInfo>> {
        #[allow(unreachable_patterns)]
        self.current_billing_info.as_ref().and_then(|v| match v {
            crate::model::billing_info::CurrentBillingInfo::UserCountBilling(v) => {
                std::option::Option::Some(v)
            }
            _ => std::option::Option::None,
        })
    }

    /// Sets the value of [current_billing_info][crate::model::BillingInfo::current_billing_info]
    /// to hold a `UserCountBilling`.
    ///
    /// Note that all the setters affecting `current_billing_info` are
    /// mutually exclusive.
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::BillingInfo;
    /// use google_cloud_licensemanager_v1::model::UserCountBillingInfo;
    /// let x = BillingInfo::new().set_user_count_billing(UserCountBillingInfo::default()/* use setters */);
    /// assert!(x.user_count_billing().is_some());
    /// ```
    pub fn set_user_count_billing<
        T: std::convert::Into<std::boxed::Box<crate::model::UserCountBillingInfo>>,
    >(
        mut self,
        v: T,
    ) -> Self {
        self.current_billing_info = std::option::Option::Some(
            crate::model::billing_info::CurrentBillingInfo::UserCountBilling(v.into()),
        );
        self
    }
}

impl wkt::message::Message for BillingInfo {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.BillingInfo"
    }
}

/// Defines additional types related to [BillingInfo].
pub mod billing_info {
    #[allow(unused_imports)]
    use super::*;

    #[allow(missing_docs)]
    #[derive(Clone, Debug, PartialEq)]
    #[non_exhaustive]
    pub enum CurrentBillingInfo {
        /// Required. This type of billing uses user count for computing total
        /// charge.
        UserCountBilling(std::boxed::Box<crate::model::UserCountBillingInfo>),
    }
}

/// This approach uses total unique user count for billing.
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct UserCountBillingInfo {
    /// Required. Number of users to bill for.
    pub user_count: i32,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl UserCountBillingInfo {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [user_count][crate::model::UserCountBillingInfo::user_count].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::UserCountBillingInfo;
    /// let x = UserCountBillingInfo::new().set_user_count(42);
    /// ```
    pub fn set_user_count<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
        self.user_count = v.into();
        self
    }
}

impl wkt::message::Message for UserCountBillingInfo {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.UserCountBillingInfo"
    }
}

/// Message representing usage for license configurations which use user-count
/// billing.
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct UserCountUsage {
    /// Required. Unique number of licensed users.
    pub unique_user_count: i32,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl UserCountUsage {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [unique_user_count][crate::model::UserCountUsage::unique_user_count].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::UserCountUsage;
    /// let x = UserCountUsage::new().set_unique_user_count(42);
    /// ```
    pub fn set_unique_user_count<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
        self.unique_user_count = v.into();
        self
    }
}

impl wkt::message::Message for UserCountUsage {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.UserCountUsage"
    }
}

/// Products for Google SPLA.
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct Product {
    /// Identifier. Full name of the product resource.
    /// ex "projects/1/locations/us-central1/products/office-2021"
    pub name: std::string::String,

    /// Required. Version of the product.
    pub version: std::string::String,

    /// Required. Company that released the product.
    pub product_company: std::string::String,

    /// Output only. State of the product.
    pub state: crate::model::product::State,

    /// Required. SKU for mapping to the Billing/Subscription resource.
    pub sku: std::string::String,

    /// Required. Human-readable, detailed description of the Product
    pub description: std::string::String,

    /// Required. Human-readable name of the Product
    pub display_name: std::string::String,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl Product {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [name][crate::model::Product::name].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Product;
    /// # let project_id = "project_id";
    /// # let location_id = "location_id";
    /// # let product_id = "product_id";
    /// let x = Product::new().set_name(format!("projects/{project_id}/locations/{location_id}/products/{product_id}"));
    /// ```
    pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.name = v.into();
        self
    }

    /// Sets the value of [version][crate::model::Product::version].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Product;
    /// let x = Product::new().set_version("example");
    /// ```
    pub fn set_version<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.version = v.into();
        self
    }

    /// Sets the value of [product_company][crate::model::Product::product_company].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Product;
    /// let x = Product::new().set_product_company("example");
    /// ```
    pub fn set_product_company<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.product_company = v.into();
        self
    }

    /// Sets the value of [state][crate::model::Product::state].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Product;
    /// use google_cloud_licensemanager_v1::model::product::State;
    /// let x0 = Product::new().set_state(State::Provisioning);
    /// let x1 = Product::new().set_state(State::Running);
    /// let x2 = Product::new().set_state(State::Terminating);
    /// ```
    pub fn set_state<T: std::convert::Into<crate::model::product::State>>(mut self, v: T) -> Self {
        self.state = v.into();
        self
    }

    /// Sets the value of [sku][crate::model::Product::sku].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Product;
    /// let x = Product::new().set_sku("example");
    /// ```
    pub fn set_sku<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.sku = v.into();
        self
    }

    /// Sets the value of [description][crate::model::Product::description].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Product;
    /// let x = Product::new().set_description("example");
    /// ```
    pub fn set_description<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.description = v.into();
        self
    }

    /// Sets the value of [display_name][crate::model::Product::display_name].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Product;
    /// let x = Product::new().set_display_name("example");
    /// ```
    pub fn set_display_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.display_name = v.into();
        self
    }
}

impl wkt::message::Message for Product {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.Product"
    }
}

/// Defines additional types related to [Product].
pub mod product {
    #[allow(unused_imports)]
    use super::*;

    /// State of the product.
    ///
    /// # Working with unknown values
    ///
    /// This enum is defined as `#[non_exhaustive]` because Google Cloud may add
    /// additional enum variants at any time. Adding new variants is not considered
    /// a breaking change. Applications should write their code in anticipation of:
    ///
    /// - New values appearing in future releases of the client library, **and**
    /// - New values received dynamically, without application changes.
    ///
    /// Please consult the [Working with enums] section in the user guide for some
    /// guidelines.
    ///
    /// [Working with enums]: https://googleapis.github.io/google-cloud-rust/working_with_enums.html
    #[derive(Clone, Debug, PartialEq)]
    #[non_exhaustive]
    pub enum State {
        /// The Status of the product is unknown.
        Unspecified,
        /// Product is under provisioning stage.
        Provisioning,
        /// Product is ok to run on instances.
        Running,
        /// The product is about to terminate or has been announced for termination.
        Terminating,
        /// The product has been terminated.
        Terminated,
        /// If set, the enum was initialized with an unknown value.
        ///
        /// Applications can examine the value using [State::value] or
        /// [State::name].
        UnknownValue(state::UnknownValue),
    }

    #[doc(hidden)]
    pub mod state {
        #[allow(unused_imports)]
        use super::*;
        #[derive(Clone, Debug, PartialEq)]
        pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
    }

    impl State {
        /// Gets the enum value.
        ///
        /// Returns `None` if the enum contains an unknown value deserialized from
        /// the string representation of enums.
        pub fn value(&self) -> std::option::Option<i32> {
            match self {
                Self::Unspecified => std::option::Option::Some(0),
                Self::Provisioning => std::option::Option::Some(1),
                Self::Running => std::option::Option::Some(2),
                Self::Terminating => std::option::Option::Some(3),
                Self::Terminated => std::option::Option::Some(4),
                Self::UnknownValue(u) => u.0.value(),
            }
        }

        /// Gets the enum value as a string.
        ///
        /// Returns `None` if the enum contains an unknown value deserialized from
        /// the integer representation of enums.
        pub fn name(&self) -> std::option::Option<&str> {
            match self {
                Self::Unspecified => std::option::Option::Some("STATE_UNSPECIFIED"),
                Self::Provisioning => std::option::Option::Some("STATE_PROVISIONING"),
                Self::Running => std::option::Option::Some("STATE_RUNNING"),
                Self::Terminating => std::option::Option::Some("STATE_TERMINATING"),
                Self::Terminated => std::option::Option::Some("STATE_TERMINATED"),
                Self::UnknownValue(u) => u.0.name(),
            }
        }
    }

    impl std::default::Default for State {
        fn default() -> Self {
            use std::convert::From;
            Self::from(0)
        }
    }

    impl std::fmt::Display for State {
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
            wkt::internal::display_enum(f, self.name(), self.value())
        }
    }

    impl std::convert::From<i32> for State {
        fn from(value: i32) -> Self {
            match value {
                0 => Self::Unspecified,
                1 => Self::Provisioning,
                2 => Self::Running,
                3 => Self::Terminating,
                4 => Self::Terminated,
                _ => Self::UnknownValue(state::UnknownValue(
                    wkt::internal::UnknownEnumValue::Integer(value),
                )),
            }
        }
    }

    impl std::convert::From<&str> for State {
        fn from(value: &str) -> Self {
            use std::string::ToString;
            match value {
                "STATE_UNSPECIFIED" => Self::Unspecified,
                "STATE_PROVISIONING" => Self::Provisioning,
                "STATE_RUNNING" => Self::Running,
                "STATE_TERMINATING" => Self::Terminating,
                "STATE_TERMINATED" => Self::Terminated,
                _ => Self::UnknownValue(state::UnknownValue(
                    wkt::internal::UnknownEnumValue::String(value.to_string()),
                )),
            }
        }
    }

    impl serde::ser::Serialize for State {
        fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
        where
            S: serde::Serializer,
        {
            match self {
                Self::Unspecified => serializer.serialize_i32(0),
                Self::Provisioning => serializer.serialize_i32(1),
                Self::Running => serializer.serialize_i32(2),
                Self::Terminating => serializer.serialize_i32(3),
                Self::Terminated => serializer.serialize_i32(4),
                Self::UnknownValue(u) => u.0.serialize(serializer),
            }
        }
    }

    impl<'de> serde::de::Deserialize<'de> for State {
        fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
        where
            D: serde::Deserializer<'de>,
        {
            deserializer.deserialize_any(wkt::internal::EnumVisitor::<State>::new(
                ".google.cloud.licensemanager.v1.Product.State",
            ))
        }
    }
}

/// Message describing Instance object
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct Instance {
    /// Identifier. name of resource
    pub name: std::string::String,

    /// Output only. [Output only] Create time stamp
    pub create_time: std::option::Option<wkt::Timestamp>,

    /// Output only. [Output only] Update time stamp
    pub update_time: std::option::Option<wkt::Timestamp>,

    /// Optional. Labels as key value pairs
    pub labels: std::collections::HashMap<std::string::String, std::string::String>,

    /// Output only. The state of the VM.
    pub state: crate::model::instance::State,

    /// Output only. The location of the VM.
    pub region: std::string::String,

    /// Output only. Map with Product_Name and Activation State of the VM.
    pub product_activation:
        std::collections::HashMap<std::string::String, crate::model::ActivationState>,

    /// Output only. license version id.
    pub license_version_id: std::string::String,

    /// Required. Compute Instance resource name, i.e.
    /// projects/{project}/zones/{zone}/instances/{instance}
    pub compute_instance: std::string::String,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl Instance {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [name][crate::model::Instance::name].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Instance;
    /// # let project_id = "project_id";
    /// # let location_id = "location_id";
    /// # let instance_id = "instance_id";
    /// let x = Instance::new().set_name(format!("projects/{project_id}/locations/{location_id}/instances/{instance_id}"));
    /// ```
    pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.name = v.into();
        self
    }

    /// Sets the value of [create_time][crate::model::Instance::create_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Instance;
    /// use wkt::Timestamp;
    /// let x = Instance::new().set_create_time(Timestamp::default()/* use setters */);
    /// ```
    pub fn set_create_time<T>(mut self, v: T) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.create_time = std::option::Option::Some(v.into());
        self
    }

    /// Sets or clears the value of [create_time][crate::model::Instance::create_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Instance;
    /// use wkt::Timestamp;
    /// let x = Instance::new().set_or_clear_create_time(Some(Timestamp::default()/* use setters */));
    /// let x = Instance::new().set_or_clear_create_time(None::<Timestamp>);
    /// ```
    pub fn set_or_clear_create_time<T>(mut self, v: std::option::Option<T>) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.create_time = v.map(|x| x.into());
        self
    }

    /// Sets the value of [update_time][crate::model::Instance::update_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Instance;
    /// use wkt::Timestamp;
    /// let x = Instance::new().set_update_time(Timestamp::default()/* use setters */);
    /// ```
    pub fn set_update_time<T>(mut self, v: T) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.update_time = std::option::Option::Some(v.into());
        self
    }

    /// Sets or clears the value of [update_time][crate::model::Instance::update_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Instance;
    /// use wkt::Timestamp;
    /// let x = Instance::new().set_or_clear_update_time(Some(Timestamp::default()/* use setters */));
    /// let x = Instance::new().set_or_clear_update_time(None::<Timestamp>);
    /// ```
    pub fn set_or_clear_update_time<T>(mut self, v: std::option::Option<T>) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.update_time = v.map(|x| x.into());
        self
    }

    /// Sets the value of [labels][crate::model::Instance::labels].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Instance;
    /// let x = Instance::new().set_labels([
    ///     ("key0", "abc"),
    ///     ("key1", "xyz"),
    /// ]);
    /// ```
    pub fn set_labels<T, K, V>(mut self, v: T) -> Self
    where
        T: std::iter::IntoIterator<Item = (K, V)>,
        K: std::convert::Into<std::string::String>,
        V: std::convert::Into<std::string::String>,
    {
        use std::iter::Iterator;
        self.labels = v.into_iter().map(|(k, v)| (k.into(), v.into())).collect();
        self
    }

    /// Sets the value of [state][crate::model::Instance::state].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Instance;
    /// use google_cloud_licensemanager_v1::model::instance::State;
    /// let x0 = Instance::new().set_state(State::Provisioning);
    /// let x1 = Instance::new().set_state(State::Staging);
    /// let x2 = Instance::new().set_state(State::Running);
    /// ```
    pub fn set_state<T: std::convert::Into<crate::model::instance::State>>(mut self, v: T) -> Self {
        self.state = v.into();
        self
    }

    /// Sets the value of [region][crate::model::Instance::region].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Instance;
    /// let x = Instance::new().set_region("example");
    /// ```
    pub fn set_region<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.region = v.into();
        self
    }

    /// Sets the value of [product_activation][crate::model::Instance::product_activation].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Instance;
    /// use google_cloud_licensemanager_v1::model::ActivationState;
    /// let x = Instance::new().set_product_activation([
    ///     ("key0", ActivationState::KeyRequested),
    ///     ("key1", ActivationState::Activating),
    ///     ("key2", ActivationState::Activated),
    /// ]);
    /// ```
    pub fn set_product_activation<T, K, V>(mut self, v: T) -> Self
    where
        T: std::iter::IntoIterator<Item = (K, V)>,
        K: std::convert::Into<std::string::String>,
        V: std::convert::Into<crate::model::ActivationState>,
    {
        use std::iter::Iterator;
        self.product_activation = v.into_iter().map(|(k, v)| (k.into(), v.into())).collect();
        self
    }

    /// Sets the value of [license_version_id][crate::model::Instance::license_version_id].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Instance;
    /// let x = Instance::new().set_license_version_id("example");
    /// ```
    pub fn set_license_version_id<T: std::convert::Into<std::string::String>>(
        mut self,
        v: T,
    ) -> Self {
        self.license_version_id = v.into();
        self
    }

    /// Sets the value of [compute_instance][crate::model::Instance::compute_instance].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Instance;
    /// let x = Instance::new().set_compute_instance("example");
    /// ```
    pub fn set_compute_instance<T: std::convert::Into<std::string::String>>(
        mut self,
        v: T,
    ) -> Self {
        self.compute_instance = v.into();
        self
    }
}

impl wkt::message::Message for Instance {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.Instance"
    }
}

/// Defines additional types related to [Instance].
pub mod instance {
    #[allow(unused_imports)]
    use super::*;

    /// VM status enum.
    ///
    /// # Working with unknown values
    ///
    /// This enum is defined as `#[non_exhaustive]` because Google Cloud may add
    /// additional enum variants at any time. Adding new variants is not considered
    /// a breaking change. Applications should write their code in anticipation of:
    ///
    /// - New values appearing in future releases of the client library, **and**
    /// - New values received dynamically, without application changes.
    ///
    /// Please consult the [Working with enums] section in the user guide for some
    /// guidelines.
    ///
    /// [Working with enums]: https://googleapis.github.io/google-cloud-rust/working_with_enums.html
    #[derive(Clone, Debug, PartialEq)]
    #[non_exhaustive]
    pub enum State {
        /// The Status of the VM is unspecified.
        Unspecified,
        /// Resources are being allocated for the instance.
        Provisioning,
        /// All required resources have been allocated and
        /// the instance is being started.
        Staging,
        /// The instance is running.
        Running,
        /// The instance is currently stopping (either being deleted or terminated).
        Stopping,
        /// The instance has stopped due to various reasons (user request, VM
        /// preemption, project freezing, etc.).
        Stopped,
        /// The instance has failed in some way.
        Terminated,
        /// The instance is in repair.
        Repairing,
        /// If set, the enum was initialized with an unknown value.
        ///
        /// Applications can examine the value using [State::value] or
        /// [State::name].
        UnknownValue(state::UnknownValue),
    }

    #[doc(hidden)]
    pub mod state {
        #[allow(unused_imports)]
        use super::*;
        #[derive(Clone, Debug, PartialEq)]
        pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
    }

    impl State {
        /// Gets the enum value.
        ///
        /// Returns `None` if the enum contains an unknown value deserialized from
        /// the string representation of enums.
        pub fn value(&self) -> std::option::Option<i32> {
            match self {
                Self::Unspecified => std::option::Option::Some(0),
                Self::Provisioning => std::option::Option::Some(1),
                Self::Staging => std::option::Option::Some(2),
                Self::Running => std::option::Option::Some(3),
                Self::Stopping => std::option::Option::Some(4),
                Self::Stopped => std::option::Option::Some(5),
                Self::Terminated => std::option::Option::Some(6),
                Self::Repairing => std::option::Option::Some(7),
                Self::UnknownValue(u) => u.0.value(),
            }
        }

        /// Gets the enum value as a string.
        ///
        /// Returns `None` if the enum contains an unknown value deserialized from
        /// the integer representation of enums.
        pub fn name(&self) -> std::option::Option<&str> {
            match self {
                Self::Unspecified => std::option::Option::Some("STATE_UNSPECIFIED"),
                Self::Provisioning => std::option::Option::Some("PROVISIONING"),
                Self::Staging => std::option::Option::Some("STAGING"),
                Self::Running => std::option::Option::Some("RUNNING"),
                Self::Stopping => std::option::Option::Some("STOPPING"),
                Self::Stopped => std::option::Option::Some("STOPPED"),
                Self::Terminated => std::option::Option::Some("TERMINATED"),
                Self::Repairing => std::option::Option::Some("REPAIRING"),
                Self::UnknownValue(u) => u.0.name(),
            }
        }
    }

    impl std::default::Default for State {
        fn default() -> Self {
            use std::convert::From;
            Self::from(0)
        }
    }

    impl std::fmt::Display for State {
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
            wkt::internal::display_enum(f, self.name(), self.value())
        }
    }

    impl std::convert::From<i32> for State {
        fn from(value: i32) -> Self {
            match value {
                0 => Self::Unspecified,
                1 => Self::Provisioning,
                2 => Self::Staging,
                3 => Self::Running,
                4 => Self::Stopping,
                5 => Self::Stopped,
                6 => Self::Terminated,
                7 => Self::Repairing,
                _ => Self::UnknownValue(state::UnknownValue(
                    wkt::internal::UnknownEnumValue::Integer(value),
                )),
            }
        }
    }

    impl std::convert::From<&str> for State {
        fn from(value: &str) -> Self {
            use std::string::ToString;
            match value {
                "STATE_UNSPECIFIED" => Self::Unspecified,
                "PROVISIONING" => Self::Provisioning,
                "STAGING" => Self::Staging,
                "RUNNING" => Self::Running,
                "STOPPING" => Self::Stopping,
                "STOPPED" => Self::Stopped,
                "TERMINATED" => Self::Terminated,
                "REPAIRING" => Self::Repairing,
                _ => Self::UnknownValue(state::UnknownValue(
                    wkt::internal::UnknownEnumValue::String(value.to_string()),
                )),
            }
        }
    }

    impl serde::ser::Serialize for State {
        fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
        where
            S: serde::Serializer,
        {
            match self {
                Self::Unspecified => serializer.serialize_i32(0),
                Self::Provisioning => serializer.serialize_i32(1),
                Self::Staging => serializer.serialize_i32(2),
                Self::Running => serializer.serialize_i32(3),
                Self::Stopping => serializer.serialize_i32(4),
                Self::Stopped => serializer.serialize_i32(5),
                Self::Terminated => serializer.serialize_i32(6),
                Self::Repairing => serializer.serialize_i32(7),
                Self::UnknownValue(u) => u.0.serialize(serializer),
            }
        }
    }

    impl<'de> serde::de::Deserialize<'de> for State {
        fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
        where
            D: serde::Deserializer<'de>,
        {
            deserializer.deserialize_any(wkt::internal::EnumVisitor::<State>::new(
                ".google.cloud.licensemanager.v1.Instance.State",
            ))
        }
    }
}

/// Message describing total counts of users who accessed a VM.
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct Usage {
    /// LiMa Instance resource name, i.e.
    /// projects/{project}/locations/{location}/instances/{instance}
    pub lima_instance: std::string::String,

    /// Number of unique users accessing the VM.
    pub users: i32,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl Usage {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [lima_instance][crate::model::Usage::lima_instance].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Usage;
    /// # let project_id = "project_id";
    /// # let location_id = "location_id";
    /// # let instance_id = "instance_id";
    /// let x = Usage::new().set_lima_instance(format!("projects/{project_id}/locations/{location_id}/instances/{instance_id}"));
    /// ```
    pub fn set_lima_instance<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.lima_instance = v.into();
        self
    }

    /// Sets the value of [users][crate::model::Usage::users].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::Usage;
    /// let x = Usage::new().set_users(42);
    /// ```
    pub fn set_users<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
        self.users = v.into();
        self
    }
}

impl wkt::message::Message for Usage {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.Usage"
    }
}

/// Message for requesting list of Configurations
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct ListConfigurationsRequest {
    /// Required. Parent value for ListConfigurationsRequest
    pub parent: std::string::String,

    /// Optional. Requested page size. Server may return fewer items than
    /// requested. If unspecified, server will pick an appropriate default.
    pub page_size: i32,

    /// Optional. A token identifying a page of results the server should return.
    pub page_token: std::string::String,

    /// Optional. Filtering results
    pub filter: std::string::String,

    /// Optional. Hint for how to order the results
    pub order_by: std::string::String,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl ListConfigurationsRequest {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [parent][crate::model::ListConfigurationsRequest::parent].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListConfigurationsRequest;
    /// # let project_id = "project_id";
    /// # let location_id = "location_id";
    /// let x = ListConfigurationsRequest::new().set_parent(format!("projects/{project_id}/locations/{location_id}"));
    /// ```
    pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.parent = v.into();
        self
    }

    /// Sets the value of [page_size][crate::model::ListConfigurationsRequest::page_size].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListConfigurationsRequest;
    /// let x = ListConfigurationsRequest::new().set_page_size(42);
    /// ```
    pub fn set_page_size<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
        self.page_size = v.into();
        self
    }

    /// Sets the value of [page_token][crate::model::ListConfigurationsRequest::page_token].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListConfigurationsRequest;
    /// let x = ListConfigurationsRequest::new().set_page_token("example");
    /// ```
    pub fn set_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.page_token = v.into();
        self
    }

    /// Sets the value of [filter][crate::model::ListConfigurationsRequest::filter].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListConfigurationsRequest;
    /// let x = ListConfigurationsRequest::new().set_filter("example");
    /// ```
    pub fn set_filter<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.filter = v.into();
        self
    }

    /// Sets the value of [order_by][crate::model::ListConfigurationsRequest::order_by].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListConfigurationsRequest;
    /// let x = ListConfigurationsRequest::new().set_order_by("example");
    /// ```
    pub fn set_order_by<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.order_by = v.into();
        self
    }
}

impl wkt::message::Message for ListConfigurationsRequest {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.ListConfigurationsRequest"
    }
}

/// Message for response to listing Configurations
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct ListConfigurationsResponse {
    /// The list of Configuration
    pub configurations: std::vec::Vec<crate::model::Configuration>,

    /// A token identifying a page of results the server should return.
    pub next_page_token: std::string::String,

    /// Locations that could not be reached.
    pub unreachable: std::vec::Vec<std::string::String>,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl ListConfigurationsResponse {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [configurations][crate::model::ListConfigurationsResponse::configurations].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListConfigurationsResponse;
    /// use google_cloud_licensemanager_v1::model::Configuration;
    /// let x = ListConfigurationsResponse::new()
    ///     .set_configurations([
    ///         Configuration::default()/* use setters */,
    ///         Configuration::default()/* use (different) setters */,
    ///     ]);
    /// ```
    pub fn set_configurations<T, V>(mut self, v: T) -> Self
    where
        T: std::iter::IntoIterator<Item = V>,
        V: std::convert::Into<crate::model::Configuration>,
    {
        use std::iter::Iterator;
        self.configurations = v.into_iter().map(|i| i.into()).collect();
        self
    }

    /// Sets the value of [next_page_token][crate::model::ListConfigurationsResponse::next_page_token].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListConfigurationsResponse;
    /// let x = ListConfigurationsResponse::new().set_next_page_token("example");
    /// ```
    pub fn set_next_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.next_page_token = v.into();
        self
    }

    /// Sets the value of [unreachable][crate::model::ListConfigurationsResponse::unreachable].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListConfigurationsResponse;
    /// let x = ListConfigurationsResponse::new().set_unreachable(["a", "b", "c"]);
    /// ```
    pub fn set_unreachable<T, V>(mut self, v: T) -> Self
    where
        T: std::iter::IntoIterator<Item = V>,
        V: std::convert::Into<std::string::String>,
    {
        use std::iter::Iterator;
        self.unreachable = v.into_iter().map(|i| i.into()).collect();
        self
    }
}

impl wkt::message::Message for ListConfigurationsResponse {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.ListConfigurationsResponse"
    }
}

#[doc(hidden)]
impl google_cloud_gax::paginator::internal::PageableResponse for ListConfigurationsResponse {
    type PageItem = crate::model::Configuration;

    fn items(self) -> std::vec::Vec<Self::PageItem> {
        self.configurations
    }

    fn next_page_token(&self) -> std::string::String {
        use std::clone::Clone;
        self.next_page_token.clone()
    }
}

/// Message for getting a Configuration
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct GetConfigurationRequest {
    /// Required. Name of the resource
    pub name: std::string::String,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl GetConfigurationRequest {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [name][crate::model::GetConfigurationRequest::name].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::GetConfigurationRequest;
    /// # let project_id = "project_id";
    /// # let location_id = "location_id";
    /// # let configuration_id = "configuration_id";
    /// let x = GetConfigurationRequest::new().set_name(format!("projects/{project_id}/locations/{location_id}/configurations/{configuration_id}"));
    /// ```
    pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.name = v.into();
        self
    }
}

impl wkt::message::Message for GetConfigurationRequest {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.GetConfigurationRequest"
    }
}

/// Message for creating a Configuration
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct CreateConfigurationRequest {
    /// Required. Value for parent.
    pub parent: std::string::String,

    /// Required. Id of the requesting object
    pub configuration_id: std::string::String,

    /// Required. The resource being created
    pub configuration: std::option::Option<crate::model::Configuration>,

    /// Optional. An optional request ID to identify requests. Specify a unique
    /// request ID so that if you must retry your request, the server will know to
    /// ignore the request if it has already been completed. The server will
    /// guarantee that for at least 60 minutes since the first request.
    ///
    /// For example, consider a situation where you make an initial request and the
    /// request times out. If you make the request again with the same request
    /// ID, the server can check if original operation with the same request ID
    /// was received, and if so, will ignore the second request. This prevents
    /// clients from accidentally creating duplicate commitments.
    ///
    /// The request ID must be a valid UUID with the exception that zero UUID is
    /// not supported (00000000-0000-0000-0000-000000000000).
    pub request_id: std::string::String,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl CreateConfigurationRequest {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [parent][crate::model::CreateConfigurationRequest::parent].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::CreateConfigurationRequest;
    /// # let project_id = "project_id";
    /// # let location_id = "location_id";
    /// let x = CreateConfigurationRequest::new().set_parent(format!("projects/{project_id}/locations/{location_id}"));
    /// ```
    pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.parent = v.into();
        self
    }

    /// Sets the value of [configuration_id][crate::model::CreateConfigurationRequest::configuration_id].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::CreateConfigurationRequest;
    /// let x = CreateConfigurationRequest::new().set_configuration_id("example");
    /// ```
    pub fn set_configuration_id<T: std::convert::Into<std::string::String>>(
        mut self,
        v: T,
    ) -> Self {
        self.configuration_id = v.into();
        self
    }

    /// Sets the value of [configuration][crate::model::CreateConfigurationRequest::configuration].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::CreateConfigurationRequest;
    /// use google_cloud_licensemanager_v1::model::Configuration;
    /// let x = CreateConfigurationRequest::new().set_configuration(Configuration::default()/* use setters */);
    /// ```
    pub fn set_configuration<T>(mut self, v: T) -> Self
    where
        T: std::convert::Into<crate::model::Configuration>,
    {
        self.configuration = std::option::Option::Some(v.into());
        self
    }

    /// Sets or clears the value of [configuration][crate::model::CreateConfigurationRequest::configuration].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::CreateConfigurationRequest;
    /// use google_cloud_licensemanager_v1::model::Configuration;
    /// let x = CreateConfigurationRequest::new().set_or_clear_configuration(Some(Configuration::default()/* use setters */));
    /// let x = CreateConfigurationRequest::new().set_or_clear_configuration(None::<Configuration>);
    /// ```
    pub fn set_or_clear_configuration<T>(mut self, v: std::option::Option<T>) -> Self
    where
        T: std::convert::Into<crate::model::Configuration>,
    {
        self.configuration = v.map(|x| x.into());
        self
    }

    /// Sets the value of [request_id][crate::model::CreateConfigurationRequest::request_id].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::CreateConfigurationRequest;
    /// let x = CreateConfigurationRequest::new().set_request_id("example");
    /// ```
    pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.request_id = v.into();
        self
    }
}

impl wkt::message::Message for CreateConfigurationRequest {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.CreateConfigurationRequest"
    }
}

/// Message for updating a Configuration
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct UpdateConfigurationRequest {
    /// Optional. Field mask is used to specify the fields to be overwritten in the
    /// Configuration resource by the update.
    /// The fields specified in the update_mask are relative to the resource, not
    /// the full request. A field will be overwritten if it is in the mask. If the
    /// user does not provide a mask then all fields will be overwritten.
    pub update_mask: std::option::Option<wkt::FieldMask>,

    /// Required. The resource being updated
    pub configuration: std::option::Option<crate::model::Configuration>,

    /// Optional. An optional request ID to identify requests. Specify a unique
    /// request ID so that if you must retry your request, the server will know to
    /// ignore the request if it has already been completed. The server will
    /// guarantee that for at least 60 minutes since the first request.
    ///
    /// For example, consider a situation where you make an initial request and the
    /// request times out. If you make the request again with the same request
    /// ID, the server can check if original operation with the same request ID
    /// was received, and if so, will ignore the second request. This prevents
    /// clients from accidentally creating duplicate commitments.
    ///
    /// The request ID must be a valid UUID with the exception that zero UUID is
    /// not supported (00000000-0000-0000-0000-000000000000).
    pub request_id: std::string::String,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl UpdateConfigurationRequest {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [update_mask][crate::model::UpdateConfigurationRequest::update_mask].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::UpdateConfigurationRequest;
    /// use wkt::FieldMask;
    /// let x = UpdateConfigurationRequest::new().set_update_mask(FieldMask::default()/* use setters */);
    /// ```
    pub fn set_update_mask<T>(mut self, v: T) -> Self
    where
        T: std::convert::Into<wkt::FieldMask>,
    {
        self.update_mask = std::option::Option::Some(v.into());
        self
    }

    /// Sets or clears the value of [update_mask][crate::model::UpdateConfigurationRequest::update_mask].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::UpdateConfigurationRequest;
    /// use wkt::FieldMask;
    /// let x = UpdateConfigurationRequest::new().set_or_clear_update_mask(Some(FieldMask::default()/* use setters */));
    /// let x = UpdateConfigurationRequest::new().set_or_clear_update_mask(None::<FieldMask>);
    /// ```
    pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
    where
        T: std::convert::Into<wkt::FieldMask>,
    {
        self.update_mask = v.map(|x| x.into());
        self
    }

    /// Sets the value of [configuration][crate::model::UpdateConfigurationRequest::configuration].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::UpdateConfigurationRequest;
    /// use google_cloud_licensemanager_v1::model::Configuration;
    /// let x = UpdateConfigurationRequest::new().set_configuration(Configuration::default()/* use setters */);
    /// ```
    pub fn set_configuration<T>(mut self, v: T) -> Self
    where
        T: std::convert::Into<crate::model::Configuration>,
    {
        self.configuration = std::option::Option::Some(v.into());
        self
    }

    /// Sets or clears the value of [configuration][crate::model::UpdateConfigurationRequest::configuration].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::UpdateConfigurationRequest;
    /// use google_cloud_licensemanager_v1::model::Configuration;
    /// let x = UpdateConfigurationRequest::new().set_or_clear_configuration(Some(Configuration::default()/* use setters */));
    /// let x = UpdateConfigurationRequest::new().set_or_clear_configuration(None::<Configuration>);
    /// ```
    pub fn set_or_clear_configuration<T>(mut self, v: std::option::Option<T>) -> Self
    where
        T: std::convert::Into<crate::model::Configuration>,
    {
        self.configuration = v.map(|x| x.into());
        self
    }

    /// Sets the value of [request_id][crate::model::UpdateConfigurationRequest::request_id].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::UpdateConfigurationRequest;
    /// let x = UpdateConfigurationRequest::new().set_request_id("example");
    /// ```
    pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.request_id = v.into();
        self
    }
}

impl wkt::message::Message for UpdateConfigurationRequest {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.UpdateConfigurationRequest"
    }
}

/// Message for deleting a Configuration
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct DeleteConfigurationRequest {
    /// Required. Name of the resource
    pub name: std::string::String,

    /// Optional. An optional request ID to identify requests. Specify a unique
    /// request ID so that if you must retry your request, the server will know to
    /// ignore the request if it has already been completed. The server will
    /// guarantee that for at least 60 minutes after the first request.
    ///
    /// For example, consider a situation where you make an initial request and the
    /// request times out. If you make the request again with the same request
    /// ID, the server can check if original operation with the same request ID
    /// was received, and if so, will ignore the second request. This prevents
    /// clients from accidentally creating duplicate commitments.
    ///
    /// The request ID must be a valid UUID with the exception that zero UUID is
    /// not supported (00000000-0000-0000-0000-000000000000).
    pub request_id: std::string::String,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl DeleteConfigurationRequest {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [name][crate::model::DeleteConfigurationRequest::name].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::DeleteConfigurationRequest;
    /// # let project_id = "project_id";
    /// # let location_id = "location_id";
    /// # let configuration_id = "configuration_id";
    /// let x = DeleteConfigurationRequest::new().set_name(format!("projects/{project_id}/locations/{location_id}/configurations/{configuration_id}"));
    /// ```
    pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.name = v.into();
        self
    }

    /// Sets the value of [request_id][crate::model::DeleteConfigurationRequest::request_id].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::DeleteConfigurationRequest;
    /// let x = DeleteConfigurationRequest::new().set_request_id("example");
    /// ```
    pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.request_id = v.into();
        self
    }
}

impl wkt::message::Message for DeleteConfigurationRequest {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.DeleteConfigurationRequest"
    }
}

/// Message for requesting list of Instances
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct ListInstancesRequest {
    /// Required. Parent value for ListInstancesRequest
    pub parent: std::string::String,

    /// Optional. Requested page size. Server may return fewer items than
    /// requested. If unspecified, server will pick an appropriate default.
    pub page_size: i32,

    /// Optional. A token identifying a page of results the server should return.
    pub page_token: std::string::String,

    /// Optional. Filtering results
    pub filter: std::string::String,

    /// Optional. Hint for how to order the results
    pub order_by: std::string::String,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl ListInstancesRequest {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [parent][crate::model::ListInstancesRequest::parent].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListInstancesRequest;
    /// # let project_id = "project_id";
    /// # let location_id = "location_id";
    /// let x = ListInstancesRequest::new().set_parent(format!("projects/{project_id}/locations/{location_id}"));
    /// ```
    pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.parent = v.into();
        self
    }

    /// Sets the value of [page_size][crate::model::ListInstancesRequest::page_size].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListInstancesRequest;
    /// let x = ListInstancesRequest::new().set_page_size(42);
    /// ```
    pub fn set_page_size<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
        self.page_size = v.into();
        self
    }

    /// Sets the value of [page_token][crate::model::ListInstancesRequest::page_token].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListInstancesRequest;
    /// let x = ListInstancesRequest::new().set_page_token("example");
    /// ```
    pub fn set_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.page_token = v.into();
        self
    }

    /// Sets the value of [filter][crate::model::ListInstancesRequest::filter].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListInstancesRequest;
    /// let x = ListInstancesRequest::new().set_filter("example");
    /// ```
    pub fn set_filter<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.filter = v.into();
        self
    }

    /// Sets the value of [order_by][crate::model::ListInstancesRequest::order_by].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListInstancesRequest;
    /// let x = ListInstancesRequest::new().set_order_by("example");
    /// ```
    pub fn set_order_by<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.order_by = v.into();
        self
    }
}

impl wkt::message::Message for ListInstancesRequest {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.ListInstancesRequest"
    }
}

/// Message for response to listing Instances
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct ListInstancesResponse {
    /// The list of Instance
    pub instances: std::vec::Vec<crate::model::Instance>,

    /// A token identifying a page of results the server should return.
    pub next_page_token: std::string::String,

    /// Locations that could not be reached.
    pub unreachable: std::vec::Vec<std::string::String>,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl ListInstancesResponse {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [instances][crate::model::ListInstancesResponse::instances].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListInstancesResponse;
    /// use google_cloud_licensemanager_v1::model::Instance;
    /// let x = ListInstancesResponse::new()
    ///     .set_instances([
    ///         Instance::default()/* use setters */,
    ///         Instance::default()/* use (different) setters */,
    ///     ]);
    /// ```
    pub fn set_instances<T, V>(mut self, v: T) -> Self
    where
        T: std::iter::IntoIterator<Item = V>,
        V: std::convert::Into<crate::model::Instance>,
    {
        use std::iter::Iterator;
        self.instances = v.into_iter().map(|i| i.into()).collect();
        self
    }

    /// Sets the value of [next_page_token][crate::model::ListInstancesResponse::next_page_token].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListInstancesResponse;
    /// let x = ListInstancesResponse::new().set_next_page_token("example");
    /// ```
    pub fn set_next_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.next_page_token = v.into();
        self
    }

    /// Sets the value of [unreachable][crate::model::ListInstancesResponse::unreachable].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListInstancesResponse;
    /// let x = ListInstancesResponse::new().set_unreachable(["a", "b", "c"]);
    /// ```
    pub fn set_unreachable<T, V>(mut self, v: T) -> Self
    where
        T: std::iter::IntoIterator<Item = V>,
        V: std::convert::Into<std::string::String>,
    {
        use std::iter::Iterator;
        self.unreachable = v.into_iter().map(|i| i.into()).collect();
        self
    }
}

impl wkt::message::Message for ListInstancesResponse {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.ListInstancesResponse"
    }
}

#[doc(hidden)]
impl google_cloud_gax::paginator::internal::PageableResponse for ListInstancesResponse {
    type PageItem = crate::model::Instance;

    fn items(self) -> std::vec::Vec<Self::PageItem> {
        self.instances
    }

    fn next_page_token(&self) -> std::string::String {
        use std::clone::Clone;
        self.next_page_token.clone()
    }
}

/// Message for getting a Instance
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct GetInstanceRequest {
    /// Required. Name of the resource
    pub name: std::string::String,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl GetInstanceRequest {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [name][crate::model::GetInstanceRequest::name].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::GetInstanceRequest;
    /// # let project_id = "project_id";
    /// # let location_id = "location_id";
    /// # let instance_id = "instance_id";
    /// let x = GetInstanceRequest::new().set_name(format!("projects/{project_id}/locations/{location_id}/instances/{instance_id}"));
    /// ```
    pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.name = v.into();
        self
    }
}

impl wkt::message::Message for GetInstanceRequest {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.GetInstanceRequest"
    }
}

/// Message for requesting license usage per configuration.
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct QueryConfigurationLicenseUsageRequest {
    /// Required. The resource path of the Configuration.
    pub name: std::string::String,

    /// Required. The start time for retrieving the usage. If not specified, we
    /// will use the first day of the current billing period.
    pub start_time: std::option::Option<wkt::Timestamp>,

    /// Required. The end time for retrieving the usage. If not specified, we will
    /// use the last day of the current billing period.
    pub end_time: std::option::Option<wkt::Timestamp>,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl QueryConfigurationLicenseUsageRequest {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [name][crate::model::QueryConfigurationLicenseUsageRequest::name].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::QueryConfigurationLicenseUsageRequest;
    /// # let project_id = "project_id";
    /// # let location_id = "location_id";
    /// # let configuration_id = "configuration_id";
    /// let x = QueryConfigurationLicenseUsageRequest::new().set_name(format!("projects/{project_id}/locations/{location_id}/configurations/{configuration_id}"));
    /// ```
    pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.name = v.into();
        self
    }

    /// Sets the value of [start_time][crate::model::QueryConfigurationLicenseUsageRequest::start_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::QueryConfigurationLicenseUsageRequest;
    /// use wkt::Timestamp;
    /// let x = QueryConfigurationLicenseUsageRequest::new().set_start_time(Timestamp::default()/* use setters */);
    /// ```
    pub fn set_start_time<T>(mut self, v: T) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.start_time = std::option::Option::Some(v.into());
        self
    }

    /// Sets or clears the value of [start_time][crate::model::QueryConfigurationLicenseUsageRequest::start_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::QueryConfigurationLicenseUsageRequest;
    /// use wkt::Timestamp;
    /// let x = QueryConfigurationLicenseUsageRequest::new().set_or_clear_start_time(Some(Timestamp::default()/* use setters */));
    /// let x = QueryConfigurationLicenseUsageRequest::new().set_or_clear_start_time(None::<Timestamp>);
    /// ```
    pub fn set_or_clear_start_time<T>(mut self, v: std::option::Option<T>) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.start_time = v.map(|x| x.into());
        self
    }

    /// Sets the value of [end_time][crate::model::QueryConfigurationLicenseUsageRequest::end_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::QueryConfigurationLicenseUsageRequest;
    /// use wkt::Timestamp;
    /// let x = QueryConfigurationLicenseUsageRequest::new().set_end_time(Timestamp::default()/* use setters */);
    /// ```
    pub fn set_end_time<T>(mut self, v: T) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.end_time = std::option::Option::Some(v.into());
        self
    }

    /// Sets or clears the value of [end_time][crate::model::QueryConfigurationLicenseUsageRequest::end_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::QueryConfigurationLicenseUsageRequest;
    /// use wkt::Timestamp;
    /// let x = QueryConfigurationLicenseUsageRequest::new().set_or_clear_end_time(Some(Timestamp::default()/* use setters */));
    /// let x = QueryConfigurationLicenseUsageRequest::new().set_or_clear_end_time(None::<Timestamp>);
    /// ```
    pub fn set_or_clear_end_time<T>(mut self, v: std::option::Option<T>) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.end_time = v.map(|x| x.into());
        self
    }
}

impl wkt::message::Message for QueryConfigurationLicenseUsageRequest {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.QueryConfigurationLicenseUsageRequest"
    }
}

/// Message for response to get the license usage per configuration.
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct QueryConfigurationLicenseUsageResponse {
    /// Depending on the type of the configuration, one of the following
    /// will be populated.
    pub details:
        std::option::Option<crate::model::query_configuration_license_usage_response::Details>,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl QueryConfigurationLicenseUsageResponse {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [details][crate::model::QueryConfigurationLicenseUsageResponse::details].
    ///
    /// Note that all the setters affecting `details` are mutually
    /// exclusive.
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::QueryConfigurationLicenseUsageResponse;
    /// use google_cloud_licensemanager_v1::model::UserCountUsage;
    /// let x = QueryConfigurationLicenseUsageResponse::new().set_details(Some(
    ///     google_cloud_licensemanager_v1::model::query_configuration_license_usage_response::Details::UserCountUsage(UserCountUsage::default().into())));
    /// ```
    pub fn set_details<
        T: std::convert::Into<
                std::option::Option<
                    crate::model::query_configuration_license_usage_response::Details,
                >,
            >,
    >(
        mut self,
        v: T,
    ) -> Self {
        self.details = v.into();
        self
    }

    /// The value of [details][crate::model::QueryConfigurationLicenseUsageResponse::details]
    /// if it holds a `UserCountUsage`, `None` if the field is not set or
    /// holds a different branch.
    pub fn user_count_usage(
        &self,
    ) -> std::option::Option<&std::boxed::Box<crate::model::UserCountUsage>> {
        #[allow(unreachable_patterns)]
        self.details.as_ref().and_then(|v| match v {
            crate::model::query_configuration_license_usage_response::Details::UserCountUsage(
                v,
            ) => std::option::Option::Some(v),
            _ => std::option::Option::None,
        })
    }

    /// Sets the value of [details][crate::model::QueryConfigurationLicenseUsageResponse::details]
    /// to hold a `UserCountUsage`.
    ///
    /// Note that all the setters affecting `details` are
    /// mutually exclusive.
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::QueryConfigurationLicenseUsageResponse;
    /// use google_cloud_licensemanager_v1::model::UserCountUsage;
    /// let x = QueryConfigurationLicenseUsageResponse::new().set_user_count_usage(UserCountUsage::default()/* use setters */);
    /// assert!(x.user_count_usage().is_some());
    /// ```
    pub fn set_user_count_usage<
        T: std::convert::Into<std::boxed::Box<crate::model::UserCountUsage>>,
    >(
        mut self,
        v: T,
    ) -> Self {
        self.details = std::option::Option::Some(
            crate::model::query_configuration_license_usage_response::Details::UserCountUsage(
                v.into(),
            ),
        );
        self
    }
}

impl wkt::message::Message for QueryConfigurationLicenseUsageResponse {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.QueryConfigurationLicenseUsageResponse"
    }
}

/// Defines additional types related to [QueryConfigurationLicenseUsageResponse].
pub mod query_configuration_license_usage_response {
    #[allow(unused_imports)]
    use super::*;

    /// Depending on the type of the configuration, one of the following
    /// will be populated.
    #[derive(Clone, Debug, PartialEq)]
    #[non_exhaustive]
    pub enum Details {
        /// Usage information for license types which use user-count billing.
        UserCountUsage(std::boxed::Box<crate::model::UserCountUsage>),
    }
}

/// Message for deactivating a Configuration.
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct DeactivateConfigurationRequest {
    /// Required. Name of the resource.
    pub name: std::string::String,

    /// Optional. An optional request ID to identify requests. Specify a unique
    /// request ID so that if you must retry your request, the server will know to
    /// ignore the request if it has already been completed. The server will
    /// guarantee that for at least 60 minutes after the first request.
    ///
    /// For example, consider a situation where you make an initial request and
    /// the request times out. If you make the request again with the same request
    /// ID, the server can check if original operation with the same request ID
    /// was received, and if so, will ignore the second request. This prevents
    /// clients from accidentally creating duplicate commitments.
    ///
    /// The request ID must be a valid UUID with the exception that zero UUID is
    /// not supported (00000000-0000-0000-0000-000000000000).
    pub request_id: std::string::String,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl DeactivateConfigurationRequest {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [name][crate::model::DeactivateConfigurationRequest::name].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::DeactivateConfigurationRequest;
    /// # let project_id = "project_id";
    /// # let location_id = "location_id";
    /// # let configuration_id = "configuration_id";
    /// let x = DeactivateConfigurationRequest::new().set_name(format!("projects/{project_id}/locations/{location_id}/configurations/{configuration_id}"));
    /// ```
    pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.name = v.into();
        self
    }

    /// Sets the value of [request_id][crate::model::DeactivateConfigurationRequest::request_id].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::DeactivateConfigurationRequest;
    /// let x = DeactivateConfigurationRequest::new().set_request_id("example");
    /// ```
    pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.request_id = v.into();
        self
    }
}

impl wkt::message::Message for DeactivateConfigurationRequest {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.DeactivateConfigurationRequest"
    }
}

/// Message for resuming a Configuration.
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct ReactivateConfigurationRequest {
    /// Required. Name of the resource.
    pub name: std::string::String,

    /// Optional. An optional request ID to identify requests. Specify a unique
    /// request ID so that if you must retry your request, the server will know to
    /// ignore the request if it has already been completed. The server will
    /// guarantee that for at least 60 minutes after the first request.
    ///
    /// For example, consider a situation where you make an initial request and
    /// the request times out. If you make the request again with the same request
    /// ID, the server can check if original operation with the same request ID
    /// was received, and if so, will ignore the second request. This prevents
    /// clients from accidentally creating duplicate commitments.
    ///
    /// The request ID must be a valid UUID with the exception that zero UUID is
    /// not supported (00000000-0000-0000-0000-000000000000).
    pub request_id: std::string::String,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl ReactivateConfigurationRequest {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [name][crate::model::ReactivateConfigurationRequest::name].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ReactivateConfigurationRequest;
    /// # let project_id = "project_id";
    /// # let location_id = "location_id";
    /// # let configuration_id = "configuration_id";
    /// let x = ReactivateConfigurationRequest::new().set_name(format!("projects/{project_id}/locations/{location_id}/configurations/{configuration_id}"));
    /// ```
    pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.name = v.into();
        self
    }

    /// Sets the value of [request_id][crate::model::ReactivateConfigurationRequest::request_id].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ReactivateConfigurationRequest;
    /// let x = ReactivateConfigurationRequest::new().set_request_id("example");
    /// ```
    pub fn set_request_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.request_id = v.into();
        self
    }
}

impl wkt::message::Message for ReactivateConfigurationRequest {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.ReactivateConfigurationRequest"
    }
}

/// Message for requesting aggregate of Usage per configuration.
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct AggregateUsageRequest {
    /// Required. Parent value for AggregateUsageRequest
    pub name: std::string::String,

    /// Optional. Requested page size. Server may return fewer items than
    /// requested. If unspecified, server will pick an appropriate default.
    pub page_size: i32,

    /// Optional. A token identifying a page of results the server should return.
    pub page_token: std::string::String,

    /// Optional. Filtering results
    pub filter: std::string::String,

    /// Optional. Hint for how to order the results
    pub order_by: std::string::String,

    /// Required. Licenses are purchased per month - so usage track needs start
    /// time of a month.
    pub start_time: std::option::Option<wkt::Timestamp>,

    /// Required. Usage track is always for a month. This parameter is for the end
    /// time of the month.
    pub end_time: std::option::Option<wkt::Timestamp>,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl AggregateUsageRequest {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [name][crate::model::AggregateUsageRequest::name].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::AggregateUsageRequest;
    /// # let project_id = "project_id";
    /// # let location_id = "location_id";
    /// # let configuration_id = "configuration_id";
    /// let x = AggregateUsageRequest::new().set_name(format!("projects/{project_id}/locations/{location_id}/configurations/{configuration_id}"));
    /// ```
    pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.name = v.into();
        self
    }

    /// Sets the value of [page_size][crate::model::AggregateUsageRequest::page_size].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::AggregateUsageRequest;
    /// let x = AggregateUsageRequest::new().set_page_size(42);
    /// ```
    pub fn set_page_size<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
        self.page_size = v.into();
        self
    }

    /// Sets the value of [page_token][crate::model::AggregateUsageRequest::page_token].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::AggregateUsageRequest;
    /// let x = AggregateUsageRequest::new().set_page_token("example");
    /// ```
    pub fn set_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.page_token = v.into();
        self
    }

    /// Sets the value of [filter][crate::model::AggregateUsageRequest::filter].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::AggregateUsageRequest;
    /// let x = AggregateUsageRequest::new().set_filter("example");
    /// ```
    pub fn set_filter<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.filter = v.into();
        self
    }

    /// Sets the value of [order_by][crate::model::AggregateUsageRequest::order_by].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::AggregateUsageRequest;
    /// let x = AggregateUsageRequest::new().set_order_by("example");
    /// ```
    pub fn set_order_by<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.order_by = v.into();
        self
    }

    /// Sets the value of [start_time][crate::model::AggregateUsageRequest::start_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::AggregateUsageRequest;
    /// use wkt::Timestamp;
    /// let x = AggregateUsageRequest::new().set_start_time(Timestamp::default()/* use setters */);
    /// ```
    pub fn set_start_time<T>(mut self, v: T) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.start_time = std::option::Option::Some(v.into());
        self
    }

    /// Sets or clears the value of [start_time][crate::model::AggregateUsageRequest::start_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::AggregateUsageRequest;
    /// use wkt::Timestamp;
    /// let x = AggregateUsageRequest::new().set_or_clear_start_time(Some(Timestamp::default()/* use setters */));
    /// let x = AggregateUsageRequest::new().set_or_clear_start_time(None::<Timestamp>);
    /// ```
    pub fn set_or_clear_start_time<T>(mut self, v: std::option::Option<T>) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.start_time = v.map(|x| x.into());
        self
    }

    /// Sets the value of [end_time][crate::model::AggregateUsageRequest::end_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::AggregateUsageRequest;
    /// use wkt::Timestamp;
    /// let x = AggregateUsageRequest::new().set_end_time(Timestamp::default()/* use setters */);
    /// ```
    pub fn set_end_time<T>(mut self, v: T) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.end_time = std::option::Option::Some(v.into());
        self
    }

    /// Sets or clears the value of [end_time][crate::model::AggregateUsageRequest::end_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::AggregateUsageRequest;
    /// use wkt::Timestamp;
    /// let x = AggregateUsageRequest::new().set_or_clear_end_time(Some(Timestamp::default()/* use setters */));
    /// let x = AggregateUsageRequest::new().set_or_clear_end_time(None::<Timestamp>);
    /// ```
    pub fn set_or_clear_end_time<T>(mut self, v: std::option::Option<T>) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.end_time = v.map(|x| x.into());
        self
    }
}

impl wkt::message::Message for AggregateUsageRequest {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.AggregateUsageRequest"
    }
}

/// Message for response for aggregating usage count
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct AggregateUsageResponse {
    /// The aggregated records of usage per configuration
    pub usages: std::vec::Vec<crate::model::Usage>,

    /// A token identifying a page of results the server should return.
    pub next_page_token: std::string::String,

    /// Locations that could not be reached.
    pub unreachable: std::vec::Vec<std::string::String>,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl AggregateUsageResponse {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [usages][crate::model::AggregateUsageResponse::usages].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::AggregateUsageResponse;
    /// use google_cloud_licensemanager_v1::model::Usage;
    /// let x = AggregateUsageResponse::new()
    ///     .set_usages([
    ///         Usage::default()/* use setters */,
    ///         Usage::default()/* use (different) setters */,
    ///     ]);
    /// ```
    pub fn set_usages<T, V>(mut self, v: T) -> Self
    where
        T: std::iter::IntoIterator<Item = V>,
        V: std::convert::Into<crate::model::Usage>,
    {
        use std::iter::Iterator;
        self.usages = v.into_iter().map(|i| i.into()).collect();
        self
    }

    /// Sets the value of [next_page_token][crate::model::AggregateUsageResponse::next_page_token].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::AggregateUsageResponse;
    /// let x = AggregateUsageResponse::new().set_next_page_token("example");
    /// ```
    pub fn set_next_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.next_page_token = v.into();
        self
    }

    /// Sets the value of [unreachable][crate::model::AggregateUsageResponse::unreachable].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::AggregateUsageResponse;
    /// let x = AggregateUsageResponse::new().set_unreachable(["a", "b", "c"]);
    /// ```
    pub fn set_unreachable<T, V>(mut self, v: T) -> Self
    where
        T: std::iter::IntoIterator<Item = V>,
        V: std::convert::Into<std::string::String>,
    {
        use std::iter::Iterator;
        self.unreachable = v.into_iter().map(|i| i.into()).collect();
        self
    }
}

impl wkt::message::Message for AggregateUsageResponse {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.AggregateUsageResponse"
    }
}

#[doc(hidden)]
impl google_cloud_gax::paginator::internal::PageableResponse for AggregateUsageResponse {
    type PageItem = crate::model::Usage;

    fn items(self) -> std::vec::Vec<Self::PageItem> {
        self.usages
    }

    fn next_page_token(&self) -> std::string::String {
        use std::clone::Clone;
        self.next_page_token.clone()
    }
}

/// Message for requesting list of Products
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct ListProductsRequest {
    /// Required. Parent value for ListProductsRequest
    pub parent: std::string::String,

    /// Optional. Requested page size. Server may return fewer items than
    /// requested. If unspecified, server will pick an appropriate default.
    pub page_size: i32,

    /// Optional. A token identifying a page of results the server should return.
    pub page_token: std::string::String,

    /// Optional. Filtering results
    pub filter: std::string::String,

    /// Optional. Hint for how to order the results
    pub order_by: std::string::String,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl ListProductsRequest {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [parent][crate::model::ListProductsRequest::parent].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListProductsRequest;
    /// # let project_id = "project_id";
    /// # let location_id = "location_id";
    /// let x = ListProductsRequest::new().set_parent(format!("projects/{project_id}/locations/{location_id}"));
    /// ```
    pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.parent = v.into();
        self
    }

    /// Sets the value of [page_size][crate::model::ListProductsRequest::page_size].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListProductsRequest;
    /// let x = ListProductsRequest::new().set_page_size(42);
    /// ```
    pub fn set_page_size<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
        self.page_size = v.into();
        self
    }

    /// Sets the value of [page_token][crate::model::ListProductsRequest::page_token].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListProductsRequest;
    /// let x = ListProductsRequest::new().set_page_token("example");
    /// ```
    pub fn set_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.page_token = v.into();
        self
    }

    /// Sets the value of [filter][crate::model::ListProductsRequest::filter].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListProductsRequest;
    /// let x = ListProductsRequest::new().set_filter("example");
    /// ```
    pub fn set_filter<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.filter = v.into();
        self
    }

    /// Sets the value of [order_by][crate::model::ListProductsRequest::order_by].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListProductsRequest;
    /// let x = ListProductsRequest::new().set_order_by("example");
    /// ```
    pub fn set_order_by<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.order_by = v.into();
        self
    }
}

impl wkt::message::Message for ListProductsRequest {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.ListProductsRequest"
    }
}

/// Message for response to listing Products
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct ListProductsResponse {
    /// The list of Product
    pub products: std::vec::Vec<crate::model::Product>,

    /// A token identifying a page of results the server should return.
    pub next_page_token: std::string::String,

    /// Locations that could not be reached.
    pub unreachable: std::vec::Vec<std::string::String>,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl ListProductsResponse {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [products][crate::model::ListProductsResponse::products].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListProductsResponse;
    /// use google_cloud_licensemanager_v1::model::Product;
    /// let x = ListProductsResponse::new()
    ///     .set_products([
    ///         Product::default()/* use setters */,
    ///         Product::default()/* use (different) setters */,
    ///     ]);
    /// ```
    pub fn set_products<T, V>(mut self, v: T) -> Self
    where
        T: std::iter::IntoIterator<Item = V>,
        V: std::convert::Into<crate::model::Product>,
    {
        use std::iter::Iterator;
        self.products = v.into_iter().map(|i| i.into()).collect();
        self
    }

    /// Sets the value of [next_page_token][crate::model::ListProductsResponse::next_page_token].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListProductsResponse;
    /// let x = ListProductsResponse::new().set_next_page_token("example");
    /// ```
    pub fn set_next_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.next_page_token = v.into();
        self
    }

    /// Sets the value of [unreachable][crate::model::ListProductsResponse::unreachable].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::ListProductsResponse;
    /// let x = ListProductsResponse::new().set_unreachable(["a", "b", "c"]);
    /// ```
    pub fn set_unreachable<T, V>(mut self, v: T) -> Self
    where
        T: std::iter::IntoIterator<Item = V>,
        V: std::convert::Into<std::string::String>,
    {
        use std::iter::Iterator;
        self.unreachable = v.into_iter().map(|i| i.into()).collect();
        self
    }
}

impl wkt::message::Message for ListProductsResponse {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.ListProductsResponse"
    }
}

#[doc(hidden)]
impl google_cloud_gax::paginator::internal::PageableResponse for ListProductsResponse {
    type PageItem = crate::model::Product;

    fn items(self) -> std::vec::Vec<Self::PageItem> {
        self.products
    }

    fn next_page_token(&self) -> std::string::String {
        use std::clone::Clone;
        self.next_page_token.clone()
    }
}

/// Message for getting a Product
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct GetProductRequest {
    /// Required. Name of the resource
    pub name: std::string::String,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl GetProductRequest {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [name][crate::model::GetProductRequest::name].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::GetProductRequest;
    /// # let project_id = "project_id";
    /// # let location_id = "location_id";
    /// # let product_id = "product_id";
    /// let x = GetProductRequest::new().set_name(format!("projects/{project_id}/locations/{location_id}/products/{product_id}"));
    /// ```
    pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.name = v.into();
        self
    }
}

impl wkt::message::Message for GetProductRequest {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.GetProductRequest"
    }
}

/// Represents the metadata of the long-running operation.
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct OperationMetadata {
    /// Output only. The time the operation was created.
    pub create_time: std::option::Option<wkt::Timestamp>,

    /// Output only. The time the operation finished running.
    pub end_time: std::option::Option<wkt::Timestamp>,

    /// Output only. Server-defined resource path for the target of the operation.
    pub target: std::string::String,

    /// Output only. Name of the verb executed by the operation.
    pub verb: std::string::String,

    /// Output only. Human-readable status of the operation, if any.
    pub status_message: std::string::String,

    /// Output only. Identifies whether the user has requested cancellation
    /// of the operation. Operations that have been cancelled successfully
    /// have
    /// [google.longrunning.Operation.error][google.longrunning.Operation.error]
    /// value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
    /// corresponding to `Code.CANCELLED`.
    ///
    /// [google.longrunning.Operation.error]: google_cloud_longrunning::model::Operation::result
    /// [google.rpc.Status.code]: google_cloud_rpc::model::Status::code
    pub requested_cancellation: bool,

    /// Output only. API version used to start the operation.
    pub api_version: std::string::String,

    pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}

impl OperationMetadata {
    /// Creates a new default instance.
    pub fn new() -> Self {
        std::default::Default::default()
    }

    /// Sets the value of [create_time][crate::model::OperationMetadata::create_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::OperationMetadata;
    /// use wkt::Timestamp;
    /// let x = OperationMetadata::new().set_create_time(Timestamp::default()/* use setters */);
    /// ```
    pub fn set_create_time<T>(mut self, v: T) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.create_time = std::option::Option::Some(v.into());
        self
    }

    /// Sets or clears the value of [create_time][crate::model::OperationMetadata::create_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::OperationMetadata;
    /// use wkt::Timestamp;
    /// let x = OperationMetadata::new().set_or_clear_create_time(Some(Timestamp::default()/* use setters */));
    /// let x = OperationMetadata::new().set_or_clear_create_time(None::<Timestamp>);
    /// ```
    pub fn set_or_clear_create_time<T>(mut self, v: std::option::Option<T>) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.create_time = v.map(|x| x.into());
        self
    }

    /// Sets the value of [end_time][crate::model::OperationMetadata::end_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::OperationMetadata;
    /// use wkt::Timestamp;
    /// let x = OperationMetadata::new().set_end_time(Timestamp::default()/* use setters */);
    /// ```
    pub fn set_end_time<T>(mut self, v: T) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.end_time = std::option::Option::Some(v.into());
        self
    }

    /// Sets or clears the value of [end_time][crate::model::OperationMetadata::end_time].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::OperationMetadata;
    /// use wkt::Timestamp;
    /// let x = OperationMetadata::new().set_or_clear_end_time(Some(Timestamp::default()/* use setters */));
    /// let x = OperationMetadata::new().set_or_clear_end_time(None::<Timestamp>);
    /// ```
    pub fn set_or_clear_end_time<T>(mut self, v: std::option::Option<T>) -> Self
    where
        T: std::convert::Into<wkt::Timestamp>,
    {
        self.end_time = v.map(|x| x.into());
        self
    }

    /// Sets the value of [target][crate::model::OperationMetadata::target].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::OperationMetadata;
    /// let x = OperationMetadata::new().set_target("example");
    /// ```
    pub fn set_target<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.target = v.into();
        self
    }

    /// Sets the value of [verb][crate::model::OperationMetadata::verb].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::OperationMetadata;
    /// let x = OperationMetadata::new().set_verb("example");
    /// ```
    pub fn set_verb<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.verb = v.into();
        self
    }

    /// Sets the value of [status_message][crate::model::OperationMetadata::status_message].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::OperationMetadata;
    /// let x = OperationMetadata::new().set_status_message("example");
    /// ```
    pub fn set_status_message<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.status_message = v.into();
        self
    }

    /// Sets the value of [requested_cancellation][crate::model::OperationMetadata::requested_cancellation].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::OperationMetadata;
    /// let x = OperationMetadata::new().set_requested_cancellation(true);
    /// ```
    pub fn set_requested_cancellation<T: std::convert::Into<bool>>(mut self, v: T) -> Self {
        self.requested_cancellation = v.into();
        self
    }

    /// Sets the value of [api_version][crate::model::OperationMetadata::api_version].
    ///
    /// # Example
    /// ```ignore,no_run
    /// # use google_cloud_licensemanager_v1::model::OperationMetadata;
    /// let x = OperationMetadata::new().set_api_version("example");
    /// ```
    pub fn set_api_version<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
        self.api_version = v.into();
        self
    }
}

impl wkt::message::Message for OperationMetadata {
    fn typename() -> &'static str {
        "type.googleapis.com/google.cloud.licensemanager.v1.OperationMetadata"
    }
}

/// Different types of licenses that are supported.
///
/// # Working with unknown values
///
/// This enum is defined as `#[non_exhaustive]` because Google Cloud may add
/// additional enum variants at any time. Adding new variants is not considered
/// a breaking change. Applications should write their code in anticipation of:
///
/// - New values appearing in future releases of the client library, **and**
/// - New values received dynamically, without application changes.
///
/// Please consult the [Working with enums] section in the user guide for some
/// guidelines.
///
/// [Working with enums]: https://googleapis.github.io/google-cloud-rust/working_with_enums.html
#[derive(Clone, Debug, PartialEq)]
#[non_exhaustive]
pub enum LicenseType {
    /// unspecified.
    Unspecified,
    /// Billing will be based on number of users listed per month.
    PerMonthPerUser,
    /// Bring your own license.
    BringYourOwnLicense,
    /// If set, the enum was initialized with an unknown value.
    ///
    /// Applications can examine the value using [LicenseType::value] or
    /// [LicenseType::name].
    UnknownValue(license_type::UnknownValue),
}

#[doc(hidden)]
pub mod license_type {
    #[allow(unused_imports)]
    use super::*;
    #[derive(Clone, Debug, PartialEq)]
    pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
}

impl LicenseType {
    /// Gets the enum value.
    ///
    /// Returns `None` if the enum contains an unknown value deserialized from
    /// the string representation of enums.
    pub fn value(&self) -> std::option::Option<i32> {
        match self {
            Self::Unspecified => std::option::Option::Some(0),
            Self::PerMonthPerUser => std::option::Option::Some(1),
            Self::BringYourOwnLicense => std::option::Option::Some(2),
            Self::UnknownValue(u) => u.0.value(),
        }
    }

    /// Gets the enum value as a string.
    ///
    /// Returns `None` if the enum contains an unknown value deserialized from
    /// the integer representation of enums.
    pub fn name(&self) -> std::option::Option<&str> {
        match self {
            Self::Unspecified => std::option::Option::Some("LICENSE_TYPE_UNSPECIFIED"),
            Self::PerMonthPerUser => std::option::Option::Some("LICENSE_TYPE_PER_MONTH_PER_USER"),
            Self::BringYourOwnLicense => {
                std::option::Option::Some("LICENSE_TYPE_BRING_YOUR_OWN_LICENSE")
            }
            Self::UnknownValue(u) => u.0.name(),
        }
    }
}

impl std::default::Default for LicenseType {
    fn default() -> Self {
        use std::convert::From;
        Self::from(0)
    }
}

impl std::fmt::Display for LicenseType {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
        wkt::internal::display_enum(f, self.name(), self.value())
    }
}

impl std::convert::From<i32> for LicenseType {
    fn from(value: i32) -> Self {
        match value {
            0 => Self::Unspecified,
            1 => Self::PerMonthPerUser,
            2 => Self::BringYourOwnLicense,
            _ => Self::UnknownValue(license_type::UnknownValue(
                wkt::internal::UnknownEnumValue::Integer(value),
            )),
        }
    }
}

impl std::convert::From<&str> for LicenseType {
    fn from(value: &str) -> Self {
        use std::string::ToString;
        match value {
            "LICENSE_TYPE_UNSPECIFIED" => Self::Unspecified,
            "LICENSE_TYPE_PER_MONTH_PER_USER" => Self::PerMonthPerUser,
            "LICENSE_TYPE_BRING_YOUR_OWN_LICENSE" => Self::BringYourOwnLicense,
            _ => Self::UnknownValue(license_type::UnknownValue(
                wkt::internal::UnknownEnumValue::String(value.to_string()),
            )),
        }
    }
}

impl serde::ser::Serialize for LicenseType {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::Serializer,
    {
        match self {
            Self::Unspecified => serializer.serialize_i32(0),
            Self::PerMonthPerUser => serializer.serialize_i32(1),
            Self::BringYourOwnLicense => serializer.serialize_i32(2),
            Self::UnknownValue(u) => u.0.serialize(serializer),
        }
    }
}

impl<'de> serde::de::Deserialize<'de> for LicenseType {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        deserializer.deserialize_any(wkt::internal::EnumVisitor::<LicenseType>::new(
            ".google.cloud.licensemanager.v1.LicenseType",
        ))
    }
}

/// State of the License Key activation on the instance.
///
/// # Working with unknown values
///
/// This enum is defined as `#[non_exhaustive]` because Google Cloud may add
/// additional enum variants at any time. Adding new variants is not considered
/// a breaking change. Applications should write their code in anticipation of:
///
/// - New values appearing in future releases of the client library, **and**
/// - New values received dynamically, without application changes.
///
/// Please consult the [Working with enums] section in the user guide for some
/// guidelines.
///
/// [Working with enums]: https://googleapis.github.io/google-cloud-rust/working_with_enums.html
#[derive(Clone, Debug, PartialEq)]
#[non_exhaustive]
pub enum ActivationState {
    /// The Status of the activation is unspecified
    Unspecified,
    /// Activation key (MAK) requested for the instance.
    KeyRequested,
    /// License activation process is running on the instance.
    Activating,
    /// License activation is complete on the instance.
    Activated,
    /// License Key is deactivating on the instance.
    Deactivating,
    /// License Key is deactivated on the instance.
    Deactivated,
    /// License Key activation failed on the instance.
    Terminated,
    /// If set, the enum was initialized with an unknown value.
    ///
    /// Applications can examine the value using [ActivationState::value] or
    /// [ActivationState::name].
    UnknownValue(activation_state::UnknownValue),
}

#[doc(hidden)]
pub mod activation_state {
    #[allow(unused_imports)]
    use super::*;
    #[derive(Clone, Debug, PartialEq)]
    pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
}

impl ActivationState {
    /// Gets the enum value.
    ///
    /// Returns `None` if the enum contains an unknown value deserialized from
    /// the string representation of enums.
    pub fn value(&self) -> std::option::Option<i32> {
        match self {
            Self::Unspecified => std::option::Option::Some(0),
            Self::KeyRequested => std::option::Option::Some(1),
            Self::Activating => std::option::Option::Some(2),
            Self::Activated => std::option::Option::Some(3),
            Self::Deactivating => std::option::Option::Some(4),
            Self::Deactivated => std::option::Option::Some(5),
            Self::Terminated => std::option::Option::Some(6),
            Self::UnknownValue(u) => u.0.value(),
        }
    }

    /// Gets the enum value as a string.
    ///
    /// Returns `None` if the enum contains an unknown value deserialized from
    /// the integer representation of enums.
    pub fn name(&self) -> std::option::Option<&str> {
        match self {
            Self::Unspecified => std::option::Option::Some("ACTIVATION_STATE_UNSPECIFIED"),
            Self::KeyRequested => std::option::Option::Some("ACTIVATION_STATE_KEY_REQUESTED"),
            Self::Activating => std::option::Option::Some("ACTIVATION_STATE_ACTIVATING"),
            Self::Activated => std::option::Option::Some("ACTIVATION_STATE_ACTIVATED"),
            Self::Deactivating => std::option::Option::Some("ACTIVATION_STATE_DEACTIVATING"),
            Self::Deactivated => std::option::Option::Some("ACTIVATION_STATE_DEACTIVATED"),
            Self::Terminated => std::option::Option::Some("ACTIVATION_STATE_TERMINATED"),
            Self::UnknownValue(u) => u.0.name(),
        }
    }
}

impl std::default::Default for ActivationState {
    fn default() -> Self {
        use std::convert::From;
        Self::from(0)
    }
}

impl std::fmt::Display for ActivationState {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
        wkt::internal::display_enum(f, self.name(), self.value())
    }
}

impl std::convert::From<i32> for ActivationState {
    fn from(value: i32) -> Self {
        match value {
            0 => Self::Unspecified,
            1 => Self::KeyRequested,
            2 => Self::Activating,
            3 => Self::Activated,
            4 => Self::Deactivating,
            5 => Self::Deactivated,
            6 => Self::Terminated,
            _ => Self::UnknownValue(activation_state::UnknownValue(
                wkt::internal::UnknownEnumValue::Integer(value),
            )),
        }
    }
}

impl std::convert::From<&str> for ActivationState {
    fn from(value: &str) -> Self {
        use std::string::ToString;
        match value {
            "ACTIVATION_STATE_UNSPECIFIED" => Self::Unspecified,
            "ACTIVATION_STATE_KEY_REQUESTED" => Self::KeyRequested,
            "ACTIVATION_STATE_ACTIVATING" => Self::Activating,
            "ACTIVATION_STATE_ACTIVATED" => Self::Activated,
            "ACTIVATION_STATE_DEACTIVATING" => Self::Deactivating,
            "ACTIVATION_STATE_DEACTIVATED" => Self::Deactivated,
            "ACTIVATION_STATE_TERMINATED" => Self::Terminated,
            _ => Self::UnknownValue(activation_state::UnknownValue(
                wkt::internal::UnknownEnumValue::String(value.to_string()),
            )),
        }
    }
}

impl serde::ser::Serialize for ActivationState {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::Serializer,
    {
        match self {
            Self::Unspecified => serializer.serialize_i32(0),
            Self::KeyRequested => serializer.serialize_i32(1),
            Self::Activating => serializer.serialize_i32(2),
            Self::Activated => serializer.serialize_i32(3),
            Self::Deactivating => serializer.serialize_i32(4),
            Self::Deactivated => serializer.serialize_i32(5),
            Self::Terminated => serializer.serialize_i32(6),
            Self::UnknownValue(u) => u.0.serialize(serializer),
        }
    }
}

impl<'de> serde::de::Deserialize<'de> for ActivationState {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        deserializer.deserialize_any(wkt::internal::EnumVisitor::<ActivationState>::new(
            ".google.cloud.licensemanager.v1.ActivationState",
        ))
    }
}


==============================================================================
DOCUMENT 9d185ac6703c4b0453974c0d85e9eee43e6941009296bb1f5eb0b54e2329e9f3
==============================================================================
                                 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 2023 The Fuchsia Authors

   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.



==============================================================================
DOCUMENT 9daa4480b2108384a4f6c5b16adc6f31e4db2ff635b732ad069a9e567fb2333f
==============================================================================
// Copyright 2024 The Fuchsia Authors
//
// Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0
// <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT
// license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
// This file may not be copied, modified, or distributed except according to
// those terms.


==============================================================================
DOCUMENT 9db00e505786fe71f5aefbf78c4bae0ee1b5d903f9a0c1a892c06efccaf46de8
==============================================================================
// Copyright 2025 Google LLC
//
// 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
//
//     https://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.
//
// Code generated by sidekick. DO NOT EDIT.

//! Traits to mock the clients in this library.
//!
//! Application developers may need to mock the clients in this library to test
//! how their application works with different (and sometimes hard to trigger)
//! client and service behavior. Such test can define mocks implementing the
//! trait(s) defined in this module, initialize the client with an instance of
//! this mock in their tests, and verify their application responds as expected.

#![allow(rustdoc::broken_intra_doc_links)]

pub(crate) mod dynamic;

/// Defines the trait used to implement [super::client::LicenseManager].
///
/// Application developers may need to implement this trait to mock
/// `client::LicenseManager`.  In other use-cases, application developers only
/// use `client::LicenseManager` and need not be concerned with this trait or
/// its implementations.
///
/// Services gain new RPCs routinely. Consequently, this trait gains new methods
/// too. To avoid breaking applications the trait provides a default
/// implementation of each method. Most of these implementations just return an
/// error.
pub trait LicenseManager: std::fmt::Debug + Send + Sync {
    /// Implements [super::client::LicenseManager::list_configurations].
    fn list_configurations(
        &self,
        _req: crate::model::ListConfigurationsRequest,
        _options: crate::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<crate::Response<crate::model::ListConfigurationsResponse>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::LicenseManager::get_configuration].
    fn get_configuration(
        &self,
        _req: crate::model::GetConfigurationRequest,
        _options: crate::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<crate::Response<crate::model::Configuration>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::LicenseManager::create_configuration].
    fn create_configuration(
        &self,
        _req: crate::model::CreateConfigurationRequest,
        _options: crate::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::LicenseManager::update_configuration].
    fn update_configuration(
        &self,
        _req: crate::model::UpdateConfigurationRequest,
        _options: crate::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::LicenseManager::delete_configuration].
    fn delete_configuration(
        &self,
        _req: crate::model::DeleteConfigurationRequest,
        _options: crate::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::LicenseManager::list_instances].
    fn list_instances(
        &self,
        _req: crate::model::ListInstancesRequest,
        _options: crate::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<crate::Response<crate::model::ListInstancesResponse>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::LicenseManager::get_instance].
    fn get_instance(
        &self,
        _req: crate::model::GetInstanceRequest,
        _options: crate::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Instance>>> + Send
    {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::LicenseManager::deactivate_configuration].
    fn deactivate_configuration(
        &self,
        _req: crate::model::DeactivateConfigurationRequest,
        _options: crate::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::LicenseManager::reactivate_configuration].
    fn reactivate_configuration(
        &self,
        _req: crate::model::ReactivateConfigurationRequest,
        _options: crate::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::LicenseManager::query_configuration_license_usage].
    fn query_configuration_license_usage(
        &self,
        _req: crate::model::QueryConfigurationLicenseUsageRequest,
        _options: crate::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<
            crate::Response<crate::model::QueryConfigurationLicenseUsageResponse>,
        >,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::LicenseManager::aggregate_usage].
    fn aggregate_usage(
        &self,
        _req: crate::model::AggregateUsageRequest,
        _options: crate::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<crate::Response<crate::model::AggregateUsageResponse>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::LicenseManager::list_products].
    fn list_products(
        &self,
        _req: crate::model::ListProductsRequest,
        _options: crate::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<crate::Response<crate::model::ListProductsResponse>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::LicenseManager::get_product].
    fn get_product(
        &self,
        _req: crate::model::GetProductRequest,
        _options: crate::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Product>>> + Send
    {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::LicenseManager::list_locations].
    fn list_locations(
        &self,
        _req: google_cloud_location::model::ListLocationsRequest,
        _options: crate::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<
            crate::Response<google_cloud_location::model::ListLocationsResponse>,
        >,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::LicenseManager::get_location].
    fn get_location(
        &self,
        _req: google_cloud_location::model::GetLocationRequest,
        _options: crate::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<crate::Response<google_cloud_location::model::Location>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::LicenseManager::list_operations].
    fn list_operations(
        &self,
        _req: google_cloud_longrunning::model::ListOperationsRequest,
        _options: crate::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<
            crate::Response<google_cloud_longrunning::model::ListOperationsResponse>,
        >,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::LicenseManager::get_operation].
    fn get_operation(
        &self,
        _req: google_cloud_longrunning::model::GetOperationRequest,
        _options: crate::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::LicenseManager::delete_operation].
    fn delete_operation(
        &self,
        _req: google_cloud_longrunning::model::DeleteOperationRequest,
        _options: crate::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::LicenseManager::cancel_operation].
    fn cancel_operation(
        &self,
        _req: google_cloud_longrunning::model::CancelOperationRequest,
        _options: crate::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Returns the polling error policy.
    ///
    /// When mocking, this method is typically irrelevant. Do not try to verify
    /// it is called by your mocks.
    fn get_polling_error_policy(
        &self,
        _options: &crate::RequestOptions,
    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
    }

    /// Returns the polling backoff policy.
    ///
    /// When mocking, this method is typically irrelevant. Do not try to verify
    /// it is called by your mocks.
    fn get_polling_backoff_policy(
        &self,
        _options: &crate::RequestOptions,
    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
    }

    #[doc(hidden)]
    /// Returns the poller options.
    ///
    /// When mocking, this method is typically irrelevant. Do not try to verify
    /// it is called by your mocks.
    fn get_poller_options(
        &self,
        _options: &crate::RequestOptions,
    ) -> google_cloud_lro::PollerOptions {
        google_cloud_lro::PollerOptions::default()
    }
}


==============================================================================
DOCUMENT 9e0a97848ea543aef745c98e84fde696a9a3e0735538f6daefdd3cb1942effc1
==============================================================================
Copyright (c) 2023-2025 Sean McArthur

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.


==============================================================================
DOCUMENT 9e0dfd2dd4173a530e238cb6adb37aa78c34c6bc7444e0e10c1ab5d8881f63ba
==============================================================================
Copyright (c) 2017 Artyom Pavlov

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.


==============================================================================
DOCUMENT 9e752188d388918985f0d152d553c7d237d858a9dc2e51b97cb1b20e6c15ec7a
==============================================================================
/* Copyright (c) 2010-2011 Dmitry Vyukov. All rights reserved.
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 *    1. Redistributions of source code must retain the above copyright notice,
 *       this list of conditions and the following disclaimer.
 *
 *    2. Redistributions in binary form must reproduce the above copyright
 *       notice, this list of conditions and the following disclaimer in the
 *       documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY DMITRY VYUKOV "AS IS" AND ANY EXPRESS OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
 * SHALL DMITRY VYUKOV OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * The views and conclusions contained in the software and documentation are
 * those of the authors and should not be interpreted as representing official
 * policies, either expressed or implied, of Dmitry Vyukov.
 */


==============================================================================
DOCUMENT 9eacbcb81be660840c714a560a9d65ba07913db98dd4baf969f78dd499fdd60f
==============================================================================
The Apache License, Version 2.0 (Apache-2.0)

Copyright 2015-2020 the fiat-crypto authors (see the AUTHORS file)

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.


==============================================================================
DOCUMENT 9ee8e4a765798341aefd1a7a02cc26a63bc5d599fd32df6c86a41d84976d6149
==============================================================================
// Copyright 2015 Nicholas Allegra (comex).
// Licensed under the Apache License, Version 2.0 <https://www.apache.org/licenses/LICENSE-2.0> or
// the MIT license <https://opensource.org/licenses/MIT>, at your option. This file may not be
// copied, modified, or distributed except according to those terms.


==============================================================================
DOCUMENT 9ef9c18e5cee19599fa2cd605674497ec7c7a702ebbb8310903cb60c540d5c39
==============================================================================
// Copyright 2023 Daniel McCarney.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT 9f5d28cffc17ef4a474fcb72cdacb51a38c95a5581bffec5af6c3c0c1a3f97c7
==============================================================================
// Copyright 2019 The Servo Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT a01a418b6ffb1de8f4c3814e386b35e1a93a14529b68f17d286550f355b298e1
==============================================================================
MIT License

Copyright (c) 2020-2022 Oliver Margetts

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.


==============================================================================
DOCUMENT a0391b94bba1e28d1067237466a4d6e590f369ffb21755535a4aaf3b2f437825
==============================================================================
// SPDX-License-Identifier: BSD-2-Clause OR Apache-2.0 OR MIT
//
// Copyright 2023 The Fuchsia Authors
//
// Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0
// <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT
// license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
// This file may not be copied, modified, or distributed except according to
// those terms.


==============================================================================
DOCUMENT a17cb5362d8fb958f29dfa2d7e9764b75672523acca6421b57678400305d58d0
==============================================================================
/* Copyright (c) 2014, Intel Corporation.
 *
 * Permission to use, copy, modify, and/or distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */


==============================================================================
DOCUMENT a18873a1cb2db8f556a0d163de065d681538a93e313caf9c5cb012201cdc9d2e
==============================================================================
// Copyright 2023 The Fuchsia Authors
//
// Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0
// <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT
// license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
// This file may not be copied, modified, or distributed except according to
// those terms.


==============================================================================
DOCUMENT a1de28dd15d492d04a589bd24d738a78e6ff86b7100017c23961a2f3b2693132
==============================================================================
// Copyright 2016-2024 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT a1f9499b1e8806e42ddfe0f6d94cd584127169aef60c3c3d4788f17ff7451ba0
==============================================================================
// Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://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.


==============================================================================
DOCUMENT a2010f343487d3f7618affe54f789f5487602331c0a8d03f49e9a7c547cf0499
==============================================================================
Creative Commons Legal Code

CC0 1.0 Universal

    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
    INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
    HEREUNDER.

Statement of Purpose

The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").

Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without fear
of later claims of infringement build upon, modify, incorporate in other
works, reuse and redistribute as freely as possible in any form whatsoever
and for any purposes, including without limitation commercial purposes.
These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific
works, or to gain reputation or greater distribution for their Work in
part through the use and efforts of others.

For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under its
terms, with knowledge of his or her Copyright and Related Rights in the
Work and the meaning and intended legal effect of CC0 on those rights.

1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:

  i. the right to reproduce, adapt, distribute, perform, display,
     communicate, and translate a Work;
 ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or
     likeness depicted in a Work;
 iv. rights protecting against unfair competition in regards to a Work,
     subject to the limitations in paragraph 4(a), below;
  v. rights protecting the extraction, dissemination, use and reuse of data
     in a Work;
 vi. database rights (such as those arising under Directive 96/9/EC of the
     European Parliament and of the Council of 11 March 1996 on the legal
     protection of databases, and under any national implementation
     thereof, including any amended or successor version of such
     directive); and
vii. other similar, equivalent or corresponding rights throughout the
     world based on applicable law or treaty, and any national
     implementations thereof.

2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.

3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the
"License"). The License shall be deemed effective as of the date CC0 was
applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder
of the License, and in such case Affirmer hereby affirms that he or she
will not (i) exercise any of his or her remaining Copyright and Related
Rights in the Work or (ii) assert any associated claims and causes of
action with respect to the Work, in either case contrary to Affirmer's
express Statement of Purpose.

4. Limitations and Disclaimers.

 a. No trademark or patent rights held by Affirmer are waived, abandoned,
    surrendered, licensed or otherwise affected by this document.
 b. Affirmer offers the Work as-is and makes no representations or
    warranties of any kind concerning the Work, express, implied,
    statutory or otherwise, including without limitation warranties of
    title, merchantability, fitness for a particular purpose, non
    infringement, or the absence of latent or other defects, accuracy, or
    the present or absence of errors, whether or not discoverable, all to
    the greatest extent permissible under applicable law.
 c. Affirmer disclaims responsibility for clearing rights of other persons
    that may apply to the Work or any use thereof, including without
    limitation any person's Copyright and Related Rights in the Work.
    Further, Affirmer disclaims responsibility for obtaining any necessary
    consents, permissions or other rights required for any use of the
    Work.
 d. Affirmer understands and acknowledges that Creative Commons is not a
    party to this document and has no duty or obligation with respect to
    this CC0 or use of the Work.


==============================================================================
DOCUMENT a264e6ecbb96738bd7385067768eecae76843dad219a8f5549bf4327a085d9b7
==============================================================================
// Copyright 2018 Trent Clarke.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT a48ff77be5dd144f696440880d34a8b4d9ac89f6c2a31cf45fe9cfa137f14a7f
==============================================================================
windows_link::link!("licenseprotection.dll" "system" fn RegisterLicenseKeyWithExpiration(licensekey : windows_sys::core::PCWSTR, validityindays : u32, status : *mut LicenseProtectionStatus) -> windows_sys::core::HRESULT);
windows_link::link!("licenseprotection.dll" "system" fn ValidateLicenseKeyProtection(licensekey : windows_sys::core::PCWSTR, notvalidbefore : *mut super::super::Foundation:: FILETIME, notvalidafter : *mut super::super::Foundation:: FILETIME, status : *mut LicenseProtectionStatus) -> windows_sys::core::HRESULT);
pub const LicenseKeyAlreadyExists: LicenseProtectionStatus = 4i32;
pub const LicenseKeyCorrupted: LicenseProtectionStatus = 3i32;
pub const LicenseKeyNotFound: LicenseProtectionStatus = 1i32;
pub const LicenseKeyUnprotected: LicenseProtectionStatus = 2i32;
pub type LicenseProtectionStatus = i32;
pub const Success: LicenseProtectionStatus = 0i32;


==============================================================================
DOCUMENT a4b09b266054f22cbf979045fdcbc08bf9615a9484c79d62485c93b3c80609e7
==============================================================================
/*
 * Copyright 2018 Google Inc. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


==============================================================================
DOCUMENT a5efec22ee5be68230f1c46656f41db4709d34d8f2f8c3b2a40ee5daa29d15a1
==============================================================================
#! /usr/bin/env perl
# Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://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.


==============================================================================
DOCUMENT a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2
==============================================================================
                              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.


==============================================================================
DOCUMENT a65f5d0a945d267751344c95665945b90c030ea107faf5c85d518929886187da
==============================================================================
Copyright (c) 2018-2019 Sean McArthur

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.



==============================================================================
DOCUMENT a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9
==============================================================================
                                 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


==============================================================================
DOCUMENT a8040aa6ad623505276a81cf93128024eb4f8e5411b78b15c68a43ba3290295d
==============================================================================
// 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 AUTHOR 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.


==============================================================================
DOCUMENT a825bd853ab71619a4923d7b4311221427848070ff44d990da39b0b274c1683f
==============================================================================
The MIT License (MIT)

Copyright (c) 2014 Paho Lurie-Gregg

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.


==============================================================================
DOCUMENT a9040321c3712d8fd0b09cf52b17445de04a23a10165049ae187cd39e5c86be5
==============================================================================
                              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.


==============================================================================
DOCUMENT a98a833c8cffcc1173979ce879df0ae91cd59e60c5520fa6b4949da83674f221
==============================================================================
#! /usr/bin/env perl
# Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://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.


==============================================================================
DOCUMENT aa72991ac35b4de0034da0afe943e62b48c4092fc2ba13ae47806d8e9a4ad551
==============================================================================
Copyright (c) 2015 steffengy

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.


==============================================================================
DOCUMENT aaff376532ea30a0cd5330b9502ad4a4c8bf769c539c87ffe78819d188a18ebf
==============================================================================
                              Apache License
                        Version 2.0, January 2004
                     https://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

	https://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.


==============================================================================
DOCUMENT ab499c75a0f0da8e0fe83bf9ba3a27e5c39705310f07107c6c66b69958d2401c
==============================================================================
The MIT License (MIT)

Copyright (c) 2025 Alice Maz, Marshall Pierce

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.


==============================================================================
DOCUMENT ae36b8732e1a0fd7cf1b44f0840d2fca6e15432a92e6c1a1d7ef4bd5b5d83bc6
==============================================================================
// origin: FreeBSD /usr/src/lib/msun/src/k_tan.c */
//
// ====================================================
// Copyright 2004 Sun Microsystems, Inc.  All Rights Reserved.
//
// Permission to use, copy, modify, and distribute this
// software is freely granted, provided that this notice
// is preserved.
// ====================================================


==============================================================================
DOCUMENT af59cea35d7f5e2777a713b8d155d65efa2c339eb43f3c14e868c6ac8506edad
==============================================================================
Copyright (c) 2017-2025 RustCrypto Developers
Copyright (c) 2017 Artyom Pavlov

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.


==============================================================================
DOCUMENT b0ad1764c9a2cef0603f242290e12fde74d095066867f30c3fa70af90bda0169
==============================================================================
/*
 * Copyright 2021 Google Inc. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


==============================================================================
DOCUMENT b0c001ef4630f620cb39d1122a051616ca4e50355dd13b5be095f99287acba7d
==============================================================================
// Copyright 2018 Developers of the Rand project.
// Copyright 2013 The Rust Project Developers.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT b1f9a46d45c17233cc3d906e02190b567d28cc0dd410ce89ea762d9fb7cb22eb
==============================================================================
// Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
// Copyright (c) 2015, Intel Inc.
//
// 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
//
//     https://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.


==============================================================================
DOCUMENT b21623012e6c453d944b0342c515b631cfcbf30704c2621b291526b69c10724d
==============================================================================
Copyright (c) 2017 h2 authors

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.


==============================================================================
DOCUMENT b2d1f90374e48eec6c7f0b1ccfc7de66e06898bed6930de645ceaf6cd0ebd7cb
==============================================================================
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT b38de021a085da9f83d9e8203ccc9e8cd0eafa2177c2d3822ca75ccf98eafb15
==============================================================================
// Copyright 2019 The CryptoCorrosion Contributors
// Copyright 2020 Developers of the Rand project.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT b38f11f6096706e6de553dabe2a7ed142d59b6fa8c97e290c67496154745cdd5
==============================================================================
Copyright (c) 2013-2025 The rust-url developers

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.


==============================================================================
DOCUMENT b3cb162f8b1889e37cb10b9bdbe6e4bc935be4e179b21a32ec204daff74dd66e
==============================================================================
// Copyright 2015-2021 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT b3d734001a94efff3579978d953391aa7115f877657d25eb54037a43875d078a
==============================================================================
*ring* uses an "ISC" license, like BoringSSL used to use, for new code
files. See LICENSE-other-bits for the text of that license.

See LICENSE-BoringSSL for code that was sourced from BoringSSL under the
Apache 2.0 license. Some code that was sourced from BoringSSL under the ISC
license. In each case, the license info is at the top of the file.

See src/polyfill/once_cell/LICENSE-APACHE and src/polyfill/once_cell/LICENSE-MIT
for the license to code that was sourced from the once_cell project.


==============================================================================
DOCUMENT b4c8c14a93fa9a7408aca93815780d925ac1fca8d40972271aa1182d084cfefb
==============================================================================
// Copyright 2015 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT b513b7bc1a6844fa2a27e39d42c2bf2f49e142c9afe928ac458c2203528d0b6a
==============================================================================
// Copyright 2017 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT b54ab1543eb4985c47cc3a484ec988d4746c97c958065b7d3cdb5263d2734883
==============================================================================
// Copyright 2015 The Rust Project Developers.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT b7e650f3fce5c53249d1cdc608b54df156a97edd636cf9d23498d0cfe7aec63e
==============================================================================
The MIT License (MIT)
Copyright (c) 2017-2018 Sergio Benitez

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.


==============================================================================
DOCUMENT b80997a7d3a33238042d837d63ea58e4dd868893d1e05598f6b7222ac23aaf0d
==============================================================================
/* Copyright (c) 2014, Google Inc.
 *
 * Permission to use, copy, modify, and/or distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */


==============================================================================
DOCUMENT b8c6939380a400f53e11923d50fcc4dd2fa1ba8339fd9d04cda38a0251b6c9b0
==============================================================================
Copyright (c) 2019-2026 The RustCrypto Project Developers

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.


==============================================================================
DOCUMENT b939fda2ca991168686cee066b3b0c3b88a3fb3c0f6c87e445a44c88d6ca24a7
==============================================================================
#! /usr/bin/env perl
# Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://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.


==============================================================================
DOCUMENT b9eb266294324f672cbe945fe8f2e32f85024f0d61a1a7d14382cdde0ac44769
==============================================================================
Copyright (c) 2016 Anthony Ramine

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.


==============================================================================
DOCUMENT baa7e430ba6fb973c100eef93c8c539cf62ba033746c6bf418bb8b51a8930267
==============================================================================
/*
 * ====================================================
 * Copyright (C) 2004 by Sun Microsystems, Inc. All rights reserved.
 *
 * Permission to use, copy, modify, and distribute this
 * software is freely granted, provided that this notice
 * is preserved.
 * ====================================================
 */


==============================================================================
DOCUMENT baf9e2a528dd5202334bb6cd06c145b3c7c7c91f3fab874f39c9321d2e51ae07
==============================================================================
// Copyright 2015-2021 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT bd63cf39ad5653167c25c869a2d4ca71dd5ff4964bbf3cb276aa9f3b8790253f
==============================================================================
#! /usr/bin/env perl
# Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://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.


==============================================================================
DOCUMENT bda5032d1d74d42628dfa156e5ccb3da27a407393d06e881638d28afafde6bd2
==============================================================================
// Copyright © 2015-2017 winapi-rs developers
// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
// All files in the project carrying such notice may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT bddecf3d73f993501ad38d56b85ebcf967d389d2c35c6c15bf1557a499baa0cc
==============================================================================
// Copyright 2024 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT c09395beab9eb2491d0e36a969f9fe84c4ad47010acf3e8e089117fe3df9592c
==============================================================================
// Copyright 2016 rustc-version-rs developers
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT c0dd6d7b3309fa831a1aeabae2e45420d06750ed1d5f97e8d4f6021626060ed0
==============================================================================
// Copyright 2018 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT c16f8dcf1a368b83be78d826ea23de4079fe1b4469a0ab9ee20563f37ff3d44b
==============================================================================
                                 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 (c) Microsoft Corporation.

   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.


==============================================================================
DOCUMENT c2cfccb812fe482101a8f04597dfc5a9991a6b2748266c47ac91b6a5aae15383
==============================================================================
    MIT License

    Copyright (c) Microsoft Corporation.

    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


==============================================================================
DOCUMENT c30152c94a6d75e021adbc52b3a52470366a46edb917e17deae3259251af244c
==============================================================================
Copyright Mozilla Foundation

Licensed under the Apache License (Version 2.0), or the MIT license,
(the "Licenses") at your option. You may not use this file except in
compliance with one of the Licenses. You may obtain copies of the
Licenses at:

   https://www.apache.org/licenses/LICENSE-2.0
   https://opensource.org/licenses/MIT

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

--

Test code is dedicated to the Public Domain when so designated (see
the individual files for PD/CC0-dedicated sections).

--

The implementation for Utf8CharIndices was adapted from the
CharIndices implementation of the Rust standard library at revision
ab32548539ec38a939c1b58599249f3b54130026
(https://github.com/rust-lang/rust/blob/ab32548539ec38a939c1b58599249f3b54130026/library/core/src/str/iter.rs).

Excerpt from https://github.com/rust-lang/rust/blob/ab32548539ec38a939c1b58599249f3b54130026/COPYRIGHT ,
which refers to
https://github.com/rust-lang/rust/blob/ab32548539ec38a939c1b58599249f3b54130026/LICENSE-APACHE
and
https://github.com/rust-lang/rust/blob/ab32548539ec38a939c1b58599249f3b54130026/LICENSE-MIT
:

For full authorship information, see the version control history or
https://thanks.rust-lang.org

Except as otherwise noted (below and/or in individual files), Rust is
licensed under the Apache License, Version 2.0 <LICENSE-APACHE> or
<http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
<LICENSE-MIT> or <http://opensource.org/licenses/MIT>, at your option.


==============================================================================
DOCUMENT c3604b5d1d2605a024cecbc4be213264269ee6dddf851d13ba64d935a919794e
==============================================================================
#! /usr/bin/env perl
# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://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.


==============================================================================
DOCUMENT c449c76fdd06c7552daff1e3c845e0ecd01c0ec4251e361cb82970bc7f19b58e
==============================================================================
#! /usr/bin/env perl
# Copyright 2014-2020 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://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.


==============================================================================
DOCUMENT c6596eb7be8581c18be736c846fb9173b69eccf6ef94c5135893ec56bd92ba08
==============================================================================
                                 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.



==============================================================================
DOCUMENT c6bf837ad97b6f2de5479027f55a738dbbc97d77b6fb728f64e690b9c180750b
==============================================================================
// Copyright 2025 Google LLC
//
// 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
//
//     https://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.
//
// Code generated by sidekick. DO NOT EDIT.
#![allow(rustdoc::bare_urls)]
#![allow(rustdoc::broken_intra_doc_links)]
#![allow(rustdoc::invalid_html_tags)]
#![allow(rustdoc::redundant_explicit_links)]

/// Implements a client for the License Manager API.
///
/// # Example
/// ```
/// # use google_cloud_licensemanager_v1::client::LicenseManager;
/// use google_cloud_gax::paginator::ItemPaginator as _;
/// async fn sample(
///    project_id: &str,
///    location_id: &str,
/// ) -> anyhow::Result<()> {
///     let client = LicenseManager::builder().build().await?;
///     let mut list = client.list_configurations()
///         .set_parent(format!("projects/{project_id}/locations/{location_id}"))
///         .by_item();
///     while let Some(item) = list.next().await.transpose()? {
///         println!("{:?}", item);
///     }
///     Ok(())
/// }
/// ```
///
/// # Service Description
///
/// Service describing handlers for resources
///
/// # Configuration
///
/// To configure `LicenseManager` use the `with_*` methods in the type returned
/// by [builder()][LicenseManager::builder]. The default configuration should
/// work for most applications. Common configuration changes include
///
/// * [with_endpoint()]: by default this client uses the global default endpoint
///   (`https://licensemanager.googleapis.com`). Applications using regional
///   endpoints or running in restricted networks (e.g. a network configured
///   with [Private Google Access with VPC Service Controls]) may want to
///   override this default.
/// * [with_credentials()]: by default this client uses
///   [Application Default Credentials]. Applications using custom
///   authentication may need to override this default.
///
/// [with_endpoint()]: super::builder::license_manager::ClientBuilder::with_endpoint
/// [with_credentials()]: super::builder::license_manager::ClientBuilder::with_credentials
/// [Private Google Access with VPC Service Controls]: https://cloud.google.com/vpc-service-controls/docs/private-connectivity
/// [Application Default Credentials]: https://cloud.google.com/docs/authentication#adc
///
/// # Pooling and Cloning
///
/// `LicenseManager` holds a connection pool internally, it is advised to
/// create one and reuse it. You do not need to wrap `LicenseManager` in
/// an [Rc](std::rc::Rc) or [Arc](std::sync::Arc) to reuse it, because it
/// already uses an `Arc` internally.
#[derive(Clone, Debug)]
pub struct LicenseManager {
    inner: std::sync::Arc<dyn super::stub::dynamic::LicenseManager>,
}

impl LicenseManager {
    /// Returns a builder for [LicenseManager].
    ///
    /// ```
    /// # async fn sample() -> google_cloud_gax::client_builder::Result<()> {
    /// # use google_cloud_licensemanager_v1::client::LicenseManager;
    /// let client = LicenseManager::builder().build().await?;
    /// # Ok(()) }
    /// ```
    pub fn builder() -> super::builder::license_manager::ClientBuilder {
        crate::new_client_builder(super::builder::license_manager::client::Factory)
    }

    /// Creates a new client from the provided stub.
    ///
    /// The most common case for calling this function is in tests mocking the
    /// client's behavior.
    pub fn from_stub<T>(stub: impl Into<std::sync::Arc<T>>) -> Self
    where
        T: super::stub::LicenseManager + 'static,
    {
        Self { inner: stub.into() }
    }

    pub(crate) async fn new(
        config: gaxi::options::ClientConfig,
    ) -> crate::ClientBuilderResult<Self> {
        let inner = Self::build_inner(config).await?;
        Ok(Self { inner })
    }

    async fn build_inner(
        conf: gaxi::options::ClientConfig,
    ) -> crate::ClientBuilderResult<std::sync::Arc<dyn super::stub::dynamic::LicenseManager>> {
        if gaxi::options::tracing_enabled(&conf) {
            return Ok(std::sync::Arc::new(Self::build_with_tracing(conf).await?));
        }
        Ok(std::sync::Arc::new(Self::build_transport(conf).await?))
    }

    async fn build_transport(
        conf: gaxi::options::ClientConfig,
    ) -> crate::ClientBuilderResult<impl super::stub::LicenseManager> {
        super::transport::LicenseManager::new(conf).await
    }

    async fn build_with_tracing(
        conf: gaxi::options::ClientConfig,
    ) -> crate::ClientBuilderResult<impl super::stub::LicenseManager> {
        Self::build_transport(conf)
            .await
            .map(super::tracing::LicenseManager::new)
    }

    /// Lists Configurations in a given project and location.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::client::LicenseManager;
    /// use google_cloud_gax::paginator::ItemPaginator as _;
    /// use google_cloud_licensemanager_v1::Result;
    /// async fn sample(
    ///    client: &LicenseManager, project_id: &str, location_id: &str
    /// ) -> Result<()> {
    ///     let mut list = client.list_configurations()
    ///         .set_parent(format!("projects/{project_id}/locations/{location_id}"))
    ///         .by_item();
    ///     while let Some(item) = list.next().await.transpose()? {
    ///         println!("{:?}", item);
    ///     }
    ///     Ok(())
    /// }
    /// ```
    pub fn list_configurations(&self) -> super::builder::license_manager::ListConfigurations {
        super::builder::license_manager::ListConfigurations::new(self.inner.clone())
    }

    /// Gets details of a single Configuration.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::client::LicenseManager;
    /// use google_cloud_licensemanager_v1::Result;
    /// async fn sample(
    ///    client: &LicenseManager, project_id: &str, location_id: &str, configuration_id: &str
    /// ) -> Result<()> {
    ///     let response = client.get_configuration()
    ///         .set_name(format!("projects/{project_id}/locations/{location_id}/configurations/{configuration_id}"))
    ///         .send().await?;
    ///     println!("response {:?}", response);
    ///     Ok(())
    /// }
    /// ```
    pub fn get_configuration(&self) -> super::builder::license_manager::GetConfiguration {
        super::builder::license_manager::GetConfiguration::new(self.inner.clone())
    }

    /// Creates a new Configuration in a given project and location.
    ///
    /// # Long running operations
    ///
    /// This method is used to start, and/or poll a [long-running Operation].
    /// The [Working with long-running operations] chapter in the [user guide]
    /// covers these operations in detail.
    ///
    /// [long-running operation]: https://google.aip.dev/151
    /// [user guide]: https://googleapis.github.io/google-cloud-rust/
    /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::client::LicenseManager;
    /// use google_cloud_lro::Poller;
    /// use google_cloud_licensemanager_v1::model::Configuration;
    /// use google_cloud_licensemanager_v1::Result;
    /// async fn sample(
    ///    client: &LicenseManager, project_id: &str, location_id: &str
    /// ) -> Result<()> {
    ///     let response = client.create_configuration()
    ///         .set_parent(format!("projects/{project_id}/locations/{location_id}"))
    ///         .set_configuration_id("configuration_id_value")
    ///         .set_configuration(
    ///             Configuration::new()/* set fields */
    ///         )
    ///         .poller().until_done().await?;
    ///     println!("response {:?}", response);
    ///     Ok(())
    /// }
    /// ```
    pub fn create_configuration(&self) -> super::builder::license_manager::CreateConfiguration {
        super::builder::license_manager::CreateConfiguration::new(self.inner.clone())
    }

    /// Updates the parameters of a single Configuration.
    ///
    /// # Long running operations
    ///
    /// This method is used to start, and/or poll a [long-running Operation].
    /// The [Working with long-running operations] chapter in the [user guide]
    /// covers these operations in detail.
    ///
    /// [long-running operation]: https://google.aip.dev/151
    /// [user guide]: https://googleapis.github.io/google-cloud-rust/
    /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::client::LicenseManager;
    /// use google_cloud_lro::Poller;
    /// # extern crate wkt as google_cloud_wkt;
    /// use google_cloud_wkt::FieldMask;
    /// use google_cloud_licensemanager_v1::model::Configuration;
    /// use google_cloud_licensemanager_v1::Result;
    /// async fn sample(
    ///    client: &LicenseManager, project_id: &str, location_id: &str, configuration_id: &str
    /// ) -> Result<()> {
    ///     let response = client.update_configuration()
    ///         .set_configuration(
    ///             Configuration::new().set_name(format!("projects/{project_id}/locations/{location_id}/configurations/{configuration_id}"))/* set fields */
    ///         )
    ///         .set_update_mask(FieldMask::default().set_paths(["updated.field.path1", "updated.field.path2"]))
    ///         .poller().until_done().await?;
    ///     println!("response {:?}", response);
    ///     Ok(())
    /// }
    /// ```
    pub fn update_configuration(&self) -> super::builder::license_manager::UpdateConfiguration {
        super::builder::license_manager::UpdateConfiguration::new(self.inner.clone())
    }

    /// Deletes a single Configuration.
    ///
    /// # Long running operations
    ///
    /// This method is used to start, and/or poll a [long-running Operation].
    /// The [Working with long-running operations] chapter in the [user guide]
    /// covers these operations in detail.
    ///
    /// [long-running operation]: https://google.aip.dev/151
    /// [user guide]: https://googleapis.github.io/google-cloud-rust/
    /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::client::LicenseManager;
    /// use google_cloud_lro::Poller;
    /// use google_cloud_licensemanager_v1::Result;
    /// async fn sample(
    ///    client: &LicenseManager, project_id: &str, location_id: &str, configuration_id: &str
    /// ) -> Result<()> {
    ///     client.delete_configuration()
    ///         .set_name(format!("projects/{project_id}/locations/{location_id}/configurations/{configuration_id}"))
    ///         .poller().until_done().await?;
    ///     Ok(())
    /// }
    /// ```
    pub fn delete_configuration(&self) -> super::builder::license_manager::DeleteConfiguration {
        super::builder::license_manager::DeleteConfiguration::new(self.inner.clone())
    }

    /// Lists Instances in a given project and location.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::client::LicenseManager;
    /// use google_cloud_gax::paginator::ItemPaginator as _;
    /// use google_cloud_licensemanager_v1::Result;
    /// async fn sample(
    ///    client: &LicenseManager, project_id: &str, location_id: &str
    /// ) -> Result<()> {
    ///     let mut list = client.list_instances()
    ///         .set_parent(format!("projects/{project_id}/locations/{location_id}"))
    ///         .by_item();
    ///     while let Some(item) = list.next().await.transpose()? {
    ///         println!("{:?}", item);
    ///     }
    ///     Ok(())
    /// }
    /// ```
    pub fn list_instances(&self) -> super::builder::license_manager::ListInstances {
        super::builder::license_manager::ListInstances::new(self.inner.clone())
    }

    /// Gets details of a single Instance.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::client::LicenseManager;
    /// use google_cloud_licensemanager_v1::Result;
    /// async fn sample(
    ///    client: &LicenseManager, project_id: &str, location_id: &str, instance_id: &str
    /// ) -> Result<()> {
    ///     let response = client.get_instance()
    ///         .set_name(format!("projects/{project_id}/locations/{location_id}/instances/{instance_id}"))
    ///         .send().await?;
    ///     println!("response {:?}", response);
    ///     Ok(())
    /// }
    /// ```
    pub fn get_instance(&self) -> super::builder::license_manager::GetInstance {
        super::builder::license_manager::GetInstance::new(self.inner.clone())
    }

    /// Deactivates the given configuration.
    ///
    /// # Long running operations
    ///
    /// This method is used to start, and/or poll a [long-running Operation].
    /// The [Working with long-running operations] chapter in the [user guide]
    /// covers these operations in detail.
    ///
    /// [long-running operation]: https://google.aip.dev/151
    /// [user guide]: https://googleapis.github.io/google-cloud-rust/
    /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::client::LicenseManager;
    /// use google_cloud_lro::Poller;
    /// use google_cloud_licensemanager_v1::Result;
    /// async fn sample(
    ///    client: &LicenseManager
    /// ) -> Result<()> {
    ///     let response = client.deactivate_configuration()
    ///         /* set fields */
    ///         .poller().until_done().await?;
    ///     println!("response {:?}", response);
    ///     Ok(())
    /// }
    /// ```
    pub fn deactivate_configuration(
        &self,
    ) -> super::builder::license_manager::DeactivateConfiguration {
        super::builder::license_manager::DeactivateConfiguration::new(self.inner.clone())
    }

    /// Reactivates the given configuration.
    ///
    /// # Long running operations
    ///
    /// This method is used to start, and/or poll a [long-running Operation].
    /// The [Working with long-running operations] chapter in the [user guide]
    /// covers these operations in detail.
    ///
    /// [long-running operation]: https://google.aip.dev/151
    /// [user guide]: https://googleapis.github.io/google-cloud-rust/
    /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::client::LicenseManager;
    /// use google_cloud_lro::Poller;
    /// use google_cloud_licensemanager_v1::Result;
    /// async fn sample(
    ///    client: &LicenseManager
    /// ) -> Result<()> {
    ///     let response = client.reactivate_configuration()
    ///         /* set fields */
    ///         .poller().until_done().await?;
    ///     println!("response {:?}", response);
    ///     Ok(())
    /// }
    /// ```
    pub fn reactivate_configuration(
        &self,
    ) -> super::builder::license_manager::ReactivateConfiguration {
        super::builder::license_manager::ReactivateConfiguration::new(self.inner.clone())
    }

    /// License Usage information for a Configuration.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::client::LicenseManager;
    /// use google_cloud_licensemanager_v1::Result;
    /// async fn sample(
    ///    client: &LicenseManager
    /// ) -> Result<()> {
    ///     let response = client.query_configuration_license_usage()
    ///         /* set fields */
    ///         .send().await?;
    ///     println!("response {:?}", response);
    ///     Ok(())
    /// }
    /// ```
    pub fn query_configuration_license_usage(
        &self,
    ) -> super::builder::license_manager::QueryConfigurationLicenseUsage {
        super::builder::license_manager::QueryConfigurationLicenseUsage::new(self.inner.clone())
    }

    /// Aggregates Usage per Instance for a Configuration.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::client::LicenseManager;
    /// use google_cloud_gax::paginator::ItemPaginator as _;
    /// use google_cloud_licensemanager_v1::Result;
    /// async fn sample(
    ///    client: &LicenseManager
    /// ) -> Result<()> {
    ///     let mut list = client.aggregate_usage()
    ///         /* set fields */
    ///         .by_item();
    ///     while let Some(item) = list.next().await.transpose()? {
    ///         println!("{:?}", item);
    ///     }
    ///     Ok(())
    /// }
    /// ```
    pub fn aggregate_usage(&self) -> super::builder::license_manager::AggregateUsage {
        super::builder::license_manager::AggregateUsage::new(self.inner.clone())
    }

    /// Lists Products in a given project and location.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::client::LicenseManager;
    /// use google_cloud_gax::paginator::ItemPaginator as _;
    /// use google_cloud_licensemanager_v1::Result;
    /// async fn sample(
    ///    client: &LicenseManager, project_id: &str, location_id: &str
    /// ) -> Result<()> {
    ///     let mut list = client.list_products()
    ///         .set_parent(format!("projects/{project_id}/locations/{location_id}"))
    ///         .by_item();
    ///     while let Some(item) = list.next().await.transpose()? {
    ///         println!("{:?}", item);
    ///     }
    ///     Ok(())
    /// }
    /// ```
    pub fn list_products(&self) -> super::builder::license_manager::ListProducts {
        super::builder::license_manager::ListProducts::new(self.inner.clone())
    }

    /// Gets details of a single Product.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::client::LicenseManager;
    /// use google_cloud_licensemanager_v1::Result;
    /// async fn sample(
    ///    client: &LicenseManager, project_id: &str, location_id: &str, product_id: &str
    /// ) -> Result<()> {
    ///     let response = client.get_product()
    ///         .set_name(format!("projects/{project_id}/locations/{location_id}/products/{product_id}"))
    ///         .send().await?;
    ///     println!("response {:?}", response);
    ///     Ok(())
    /// }
    /// ```
    pub fn get_product(&self) -> super::builder::license_manager::GetProduct {
        super::builder::license_manager::GetProduct::new(self.inner.clone())
    }

    /// Lists information about the supported locations for this service.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::client::LicenseManager;
    /// use google_cloud_gax::paginator::ItemPaginator as _;
    /// use google_cloud_licensemanager_v1::Result;
    /// async fn sample(
    ///    client: &LicenseManager
    /// ) -> Result<()> {
    ///     let mut list = client.list_locations()
    ///         /* set fields */
    ///         .by_item();
    ///     while let Some(item) = list.next().await.transpose()? {
    ///         println!("{:?}", item);
    ///     }
    ///     Ok(())
    /// }
    /// ```
    pub fn list_locations(&self) -> super::builder::license_manager::ListLocations {
        super::builder::license_manager::ListLocations::new(self.inner.clone())
    }

    /// Gets information about a location.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::client::LicenseManager;
    /// use google_cloud_licensemanager_v1::Result;
    /// async fn sample(
    ///    client: &LicenseManager
    /// ) -> Result<()> {
    ///     let response = client.get_location()
    ///         /* set fields */
    ///         .send().await?;
    ///     println!("response {:?}", response);
    ///     Ok(())
    /// }
    /// ```
    pub fn get_location(&self) -> super::builder::license_manager::GetLocation {
        super::builder::license_manager::GetLocation::new(self.inner.clone())
    }

    /// Provides the [Operations][google.longrunning.Operations] service functionality in this service.
    ///
    /// [google.longrunning.Operations]: google-cloud-longrunning::client::Operations
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::client::LicenseManager;
    /// use google_cloud_gax::paginator::ItemPaginator as _;
    /// use google_cloud_licensemanager_v1::Result;
    /// async fn sample(
    ///    client: &LicenseManager
    /// ) -> Result<()> {
    ///     let mut list = client.list_operations()
    ///         /* set fields */
    ///         .by_item();
    ///     while let Some(item) = list.next().await.transpose()? {
    ///         println!("{:?}", item);
    ///     }
    ///     Ok(())
    /// }
    /// ```
    pub fn list_operations(&self) -> super::builder::license_manager::ListOperations {
        super::builder::license_manager::ListOperations::new(self.inner.clone())
    }

    /// Provides the [Operations][google.longrunning.Operations] service functionality in this service.
    ///
    /// [google.longrunning.Operations]: google-cloud-longrunning::client::Operations
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::client::LicenseManager;
    /// use google_cloud_licensemanager_v1::Result;
    /// async fn sample(
    ///    client: &LicenseManager
    /// ) -> Result<()> {
    ///     let response = client.get_operation()
    ///         /* set fields */
    ///         .send().await?;
    ///     println!("response {:?}", response);
    ///     Ok(())
    /// }
    /// ```
    pub fn get_operation(&self) -> super::builder::license_manager::GetOperation {
        super::builder::license_manager::GetOperation::new(self.inner.clone())
    }

    /// Provides the [Operations][google.longrunning.Operations] service functionality in this service.
    ///
    /// [google.longrunning.Operations]: google-cloud-longrunning::client::Operations
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::client::LicenseManager;
    /// use google_cloud_licensemanager_v1::Result;
    /// async fn sample(
    ///    client: &LicenseManager
    /// ) -> Result<()> {
    ///     client.delete_operation()
    ///         /* set fields */
    ///         .send().await?;
    ///     Ok(())
    /// }
    /// ```
    pub fn delete_operation(&self) -> super::builder::license_manager::DeleteOperation {
        super::builder::license_manager::DeleteOperation::new(self.inner.clone())
    }

    /// Provides the [Operations][google.longrunning.Operations] service functionality in this service.
    ///
    /// [google.longrunning.Operations]: google-cloud-longrunning::client::Operations
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::client::LicenseManager;
    /// use google_cloud_licensemanager_v1::Result;
    /// async fn sample(
    ///    client: &LicenseManager
    /// ) -> Result<()> {
    ///     client.cancel_operation()
    ///         /* set fields */
    ///         .send().await?;
    ///     Ok(())
    /// }
    /// ```
    pub fn cancel_operation(&self) -> super::builder::license_manager::CancelOperation {
        super::builder::license_manager::CancelOperation::new(self.inner.clone())
    }
}


==============================================================================
DOCUMENT c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4
==============================================================================
                                 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.


==============================================================================
DOCUMENT c816a0749cdc6bf062a5111c159723de51b2bfac66a1dac2655abd9e6b1583eb
==============================================================================
Copyright (c) 2018-2023 Sean McArthur
Copyright (c) 2016 Alex Crichton

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.



==============================================================================
DOCUMENT c9a75f18b9ab2927829a208fc6aa2cf4e63b8420887ba29cdb265d6619ae82d5
==============================================================================
Copyright (c) 2016 The Rust Project Developers

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.


==============================================================================
DOCUMENT c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566
==============================================================================
Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:

The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.

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, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.


==============================================================================
DOCUMENT ca254aa33491b3ee9a0a365629c5a0abda4aa71df314f122155335e394cb1173
==============================================================================
/* SPDX-License-Identifier: MIT
 * origin: musl src/math/floor.c */


==============================================================================
DOCUMENT cb5aedb296c5246d1f22e9099f925a65146f9f0d6b4eebba97fd27a6cdbbab2d
==============================================================================
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.


==============================================================================
DOCUMENT cc0332a88c2ea21d5f3c1298f966120f4c95196871c3f6bb4fcf615508b93fa1
==============================================================================
Copyright (c) 2016-2017 Isis Agora Lovecruft, Henry de Valence. All rights reserved.
Copyright (c) 2016-2024 Isis Agora Lovecruft. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


==============================================================================
DOCUMENT cc117d90b498b32b11a886f279b359da16a73c3b01efbb2f5cc004b20262334e
==============================================================================
                              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 2017 quininer kel

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.


==============================================================================
DOCUMENT cc87cc2020d8b17220b5a4e500d7952b0601c7903ee36cfd00eb8ed6ffdcd0f5
==============================================================================
The MIT License (MIT)

Copyright (c) 2016 The weldr Project Developers

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.



==============================================================================
DOCUMENT cd052f4fc22d6625c9f4439c66d4512a9011446d3f2dff15842925b024821cbb
==============================================================================
// origin: FreeBSD /usr/src/lib/msun/src/k_cos.c
//
// ====================================================
// Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
//
// Developed at SunSoft, a Sun Microsystems, Inc. business.
// Permission to use, copy, modify, and distribute this
// software is freely granted, provided that this notice
// is preserved.
// ====================================================


==============================================================================
DOCUMENT cf5e6bf5152921c93919cdaa7555a65b6f2ffda8018f44b5655c1d5fead36a51
==============================================================================
// Copyright 2023 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT cf7772201c265854fb20bece23ef2f504e28a7cb3a495c67776fe75c27b0ef95
==============================================================================
// Copyright 2025 Google LLC
//
// 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
//
//     https://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.
//
// Code generated by sidekick. DO NOT EDIT.

/// A dyn-compatible, crate-private version of [super::LicenseManager].
#[async_trait::async_trait]
pub trait LicenseManager: std::fmt::Debug + Send + Sync {
    async fn list_configurations(
        &self,
        req: crate::model::ListConfigurationsRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<crate::model::ListConfigurationsResponse>>;

    async fn get_configuration(
        &self,
        req: crate::model::GetConfigurationRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<crate::model::Configuration>>;

    async fn create_configuration(
        &self,
        req: crate::model::CreateConfigurationRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;

    async fn update_configuration(
        &self,
        req: crate::model::UpdateConfigurationRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;

    async fn delete_configuration(
        &self,
        req: crate::model::DeleteConfigurationRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;

    async fn list_instances(
        &self,
        req: crate::model::ListInstancesRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<crate::model::ListInstancesResponse>>;

    async fn get_instance(
        &self,
        req: crate::model::GetInstanceRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<crate::model::Instance>>;

    async fn deactivate_configuration(
        &self,
        req: crate::model::DeactivateConfigurationRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;

    async fn reactivate_configuration(
        &self,
        req: crate::model::ReactivateConfigurationRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;

    async fn query_configuration_license_usage(
        &self,
        req: crate::model::QueryConfigurationLicenseUsageRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<crate::model::QueryConfigurationLicenseUsageResponse>>;

    async fn aggregate_usage(
        &self,
        req: crate::model::AggregateUsageRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<crate::model::AggregateUsageResponse>>;

    async fn list_products(
        &self,
        req: crate::model::ListProductsRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<crate::model::ListProductsResponse>>;

    async fn get_product(
        &self,
        req: crate::model::GetProductRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<crate::model::Product>>;

    async fn list_locations(
        &self,
        req: google_cloud_location::model::ListLocationsRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<google_cloud_location::model::ListLocationsResponse>>;

    async fn get_location(
        &self,
        req: google_cloud_location::model::GetLocationRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<google_cloud_location::model::Location>>;

    async fn list_operations(
        &self,
        req: google_cloud_longrunning::model::ListOperationsRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<google_cloud_longrunning::model::ListOperationsResponse>>;

    async fn get_operation(
        &self,
        req: google_cloud_longrunning::model::GetOperationRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>>;

    async fn delete_operation(
        &self,
        req: google_cloud_longrunning::model::DeleteOperationRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<()>>;

    async fn cancel_operation(
        &self,
        req: google_cloud_longrunning::model::CancelOperationRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<()>>;

    fn get_polling_error_policy(
        &self,
        options: &crate::RequestOptions,
    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy>;

    fn get_polling_backoff_policy(
        &self,
        options: &crate::RequestOptions,
    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy>;

    fn get_poller_options(
        &self,
        options: &crate::RequestOptions,
    ) -> google_cloud_lro::PollerOptions;
}

/// All implementations of [super::LicenseManager] also implement [LicenseManager].
#[async_trait::async_trait]
impl<T: super::LicenseManager> LicenseManager for T {
    /// Forwards the call to the implementation provided by `T`.
    async fn list_configurations(
        &self,
        req: crate::model::ListConfigurationsRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<crate::model::ListConfigurationsResponse>> {
        T::list_configurations(self, req, options).await
    }

    /// Forwards the call to the implementation provided by `T`.
    async fn get_configuration(
        &self,
        req: crate::model::GetConfigurationRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<crate::model::Configuration>> {
        T::get_configuration(self, req, options).await
    }

    /// Forwards the call to the implementation provided by `T`.
    async fn create_configuration(
        &self,
        req: crate::model::CreateConfigurationRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
        T::create_configuration(self, req, options).await
    }

    /// Forwards the call to the implementation provided by `T`.
    async fn update_configuration(
        &self,
        req: crate::model::UpdateConfigurationRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
        T::update_configuration(self, req, options).await
    }

    /// Forwards the call to the implementation provided by `T`.
    async fn delete_configuration(
        &self,
        req: crate::model::DeleteConfigurationRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
        T::delete_configuration(self, req, options).await
    }

    /// Forwards the call to the implementation provided by `T`.
    async fn list_instances(
        &self,
        req: crate::model::ListInstancesRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<crate::model::ListInstancesResponse>> {
        T::list_instances(self, req, options).await
    }

    /// Forwards the call to the implementation provided by `T`.
    async fn get_instance(
        &self,
        req: crate::model::GetInstanceRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<crate::model::Instance>> {
        T::get_instance(self, req, options).await
    }

    /// Forwards the call to the implementation provided by `T`.
    async fn deactivate_configuration(
        &self,
        req: crate::model::DeactivateConfigurationRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
        T::deactivate_configuration(self, req, options).await
    }

    /// Forwards the call to the implementation provided by `T`.
    async fn reactivate_configuration(
        &self,
        req: crate::model::ReactivateConfigurationRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
        T::reactivate_configuration(self, req, options).await
    }

    /// Forwards the call to the implementation provided by `T`.
    async fn query_configuration_license_usage(
        &self,
        req: crate::model::QueryConfigurationLicenseUsageRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<crate::model::QueryConfigurationLicenseUsageResponse>> {
        T::query_configuration_license_usage(self, req, options).await
    }

    /// Forwards the call to the implementation provided by `T`.
    async fn aggregate_usage(
        &self,
        req: crate::model::AggregateUsageRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<crate::model::AggregateUsageResponse>> {
        T::aggregate_usage(self, req, options).await
    }

    /// Forwards the call to the implementation provided by `T`.
    async fn list_products(
        &self,
        req: crate::model::ListProductsRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<crate::model::ListProductsResponse>> {
        T::list_products(self, req, options).await
    }

    /// Forwards the call to the implementation provided by `T`.
    async fn get_product(
        &self,
        req: crate::model::GetProductRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<crate::model::Product>> {
        T::get_product(self, req, options).await
    }

    /// Forwards the call to the implementation provided by `T`.
    async fn list_locations(
        &self,
        req: google_cloud_location::model::ListLocationsRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<google_cloud_location::model::ListLocationsResponse>> {
        T::list_locations(self, req, options).await
    }

    /// Forwards the call to the implementation provided by `T`.
    async fn get_location(
        &self,
        req: google_cloud_location::model::GetLocationRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<google_cloud_location::model::Location>> {
        T::get_location(self, req, options).await
    }

    /// Forwards the call to the implementation provided by `T`.
    async fn list_operations(
        &self,
        req: google_cloud_longrunning::model::ListOperationsRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<google_cloud_longrunning::model::ListOperationsResponse>>
    {
        T::list_operations(self, req, options).await
    }

    /// Forwards the call to the implementation provided by `T`.
    async fn get_operation(
        &self,
        req: google_cloud_longrunning::model::GetOperationRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<google_cloud_longrunning::model::Operation>> {
        T::get_operation(self, req, options).await
    }

    /// Forwards the call to the implementation provided by `T`.
    async fn delete_operation(
        &self,
        req: google_cloud_longrunning::model::DeleteOperationRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<()>> {
        T::delete_operation(self, req, options).await
    }

    /// Forwards the call to the implementation provided by `T`.
    async fn cancel_operation(
        &self,
        req: google_cloud_longrunning::model::CancelOperationRequest,
        options: crate::RequestOptions,
    ) -> crate::Result<crate::Response<()>> {
        T::cancel_operation(self, req, options).await
    }

    fn get_polling_error_policy(
        &self,
        options: &crate::RequestOptions,
    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
        T::get_polling_error_policy(self, options)
    }

    fn get_polling_backoff_policy(
        &self,
        options: &crate::RequestOptions,
    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
        T::get_polling_backoff_policy(self, options)
    }

    fn get_poller_options(
        &self,
        options: &crate::RequestOptions,
    ) -> google_cloud_lro::PollerOptions {
        T::get_poller_options(self, options)
    }
}


==============================================================================
DOCUMENT cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30
==============================================================================

                                 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.


==============================================================================
DOCUMENT d1c3e8595b158c804dda9bac18d076f2e2dcccf5fbd8dde63e530a9d2642cc06
==============================================================================
// Copyright 2016-2025 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT d2e7ec5355c96eeade56b09187ceb48a6a30299da3ce7531a66d3d11405ab963
==============================================================================
Copyright (c) 2021-2026 RustCrypto Developers

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.


==============================================================================
DOCUMENT d3897c14d233e9bc61cd6157ce5a4775e2d9b31ffaff5f33efc54379bff76a4e
==============================================================================
// SPDX-License-Identifier: BSD-2-Clause OR Apache-2.0 OR MIT
//


==============================================================================
DOCUMENT d537bfdb5e150a25110d8265af23aeb96ab4483e825eea1360cb5eaf095d3e57
==============================================================================
// Copyright 2025 Google LLC
//
// 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
//
//     https://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.


==============================================================================
DOCUMENT d75967ce788187f83c3bd3328210974acfc443d4dc44909f1d7e34f21623a0c6
==============================================================================
Rustls is distributed under the following three licenses:

- Apache License version 2.0.
- MIT license.
- ISC license.

These are included as LICENSE-APACHE, LICENSE-MIT and LICENSE-ISC
respectively.  You may use this software under the terms of any
of these licenses, at your option.



==============================================================================
DOCUMENT d7a897946c233c44d9a976aa030d02eeff05b86df54157d9f5d478ef0cc214e7
==============================================================================
// Copyright 2012-2016 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
//
// Original authors: alexchrichton, bluss


==============================================================================
DOCUMENT d7d979176231a7d1162977bd8d9a9989792349f42358e76056c1aaa5b9e53df6
==============================================================================
// -*- mode: rust; -*-
//
// This file is part of subtle, part of the dalek cryptography project.
// Copyright (c) 2016-2018 isis lovecruft, Henry de Valence
// See LICENSE for licensing information.
//
// Authors:
// - isis agora lovecruft <isis@patternsinthevoid.net>
// - Henry de Valence <hdevalence@hdevalence.ca>


==============================================================================
DOCUMENT d8d793505354fc63c0756964eef5db9c83325be0c4f205f9d27064e1d477c1cf
==============================================================================
// Copyright 2013 The rust-url developers.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT d929e0be94b1f678f280e580b0c9abad1725c002cc9d7f991bafe64b5d80980f
==============================================================================
// Copyright 2017 Serde Developers
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT d9d31636bf6dc09dbbe83abe0514e8d867f635bf3ef99b5163b54c56e6524077
==============================================================================
// origin: FreeBSD /usr/src/lib/msun/src/s_exp2f.c
//-
// Copyright (c) 2005 David Schultz <das@FreeBSD.ORG>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
//    notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
//    notice, this list of conditions and the following disclaimer in the
//    documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.


==============================================================================
DOCUMENT da20112a3c19ec5106b2cb2cdbbb6f5d29422a4d6d6950bf9de7ddd1b4ecb167
==============================================================================
// Copyright 2013-2014 The Rust Project Developers.
// Copyright 2018 The Uuid Project Developers.
//
// See the COPYRIGHT file at the top-level directory of this distribution.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT da28bd93659d512cba362af000b10121e71e63ef135f3ba398a05f376e90bc7e
==============================================================================
// origin: FreeBSD /usr/src/lib/msun/src/e_rem_pio2.c
//
// ====================================================
// Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
//
// Developed at SunPro, a Sun Microsystems, Inc. business.
// Permission to use, copy, modify, and distribute this
// software is freely granted, provided that this notice
// is preserved.
// ====================================================
//
// Optimized by Bruce D. Evans. */


==============================================================================
DOCUMENT da28ccc6b158fc2d8cccc74e99794b1cff1d29bd7bbeb019442fcf0c04c6cad9
==============================================================================
Copyright (c) 2020 Andrew D. Straw

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.


==============================================================================
DOCUMENT da3826979b38e1936c454677d8c435e56f6ec301ce82741382a53e0c10de1ef7
==============================================================================
// Copyright (c) 2019, Google Inc.
// Portions Copyright 2020-2024 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT dadaa9a06c3e61c96d8334be78855ab4c034ef21e773b1d8e1e4a36a68ebf51c
==============================================================================
// Copyright 2019 Developers of the Rand project.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT dc5cebbee29b59a9ac7939feeb810ed88d5c299d964f4941497c1b56c24dac62
==============================================================================

                                 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.

--------------------------------------------------------------------------------

This project includes code from Apache Arrow Nanoarrow.

* c/vendor/nanoarrow is the source of nanoarrow

Copyright: 2022 The Apache Software Foundation.
Home page: https://arrow.apache.org/
License: http://www.apache.org/licenses/LICENSE-2.0

--------------------------------------------------------------------------------

The files in c/vendor/portable-snippets/ contain code from

https://github.com/nemequ/portable-snippets

and have the following copyright notice:

Each source file contains a preamble explaining the license situation
for that file, which takes priority over this file.  With the
exception of some code pulled in from other repositories (such as
µnit, an MIT-licensed project which is used for testing), the code is
public domain, released using the CC0 1.0 Universal dedication (*).

(*) https://creativecommons.org/publicdomain/zero/1.0/legalcode

--------------------------------------------------------------------------------

The files in c/vendor/toml++ contain code from

https://github.com/marzer/tomlplusplus

and have the following copyright notice:

MIT License

Copyright (c) Mark Gillard <mark.gillard@outlook.com.au>

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.

--------------------------------------------------------------------------------

The files python/*/*/_version.py and python/*/*/_static_version.py
contain code from

https://github.com/jbweston/miniver

which is made available under the Creative Commons CC0 license.

--------------------------------------------------------------------------------

The files under ci/conda/.ci-support have the following license

BSD 3-clause license
Copyright (c) 2015-2022, conda-forge
All rights reserved.

--------------------------------------------------------------------------------

The files under c/vendor/fmt contain code from {fmt}, version 12.2.0.
{fmt} is under the MIT license:

Copyright (c) 2012 - present, Victor Zverovich and {fmt} contributors

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.

--------------------------------------------------------------------------------

The files under c/vendor/backward contain code from backward-cpp, commit
0bfd0a07a61551413ccd2ab9a9099af3bad40681.
backward-cpp has the following license:

Copyright 2013 Google Inc. All Rights Reserved.

The MIT License (MIT)

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.

--------------------------------------------------------------------------------

The file c/vendor/boost/int128.hpp contains code from boost.int128, tag v4.1.0
(commit 7d9fbad5b18fa9e483fe2f3fdddd3d3828ac8aec)

Original source:
https://github.com/boostorg/int128/blob/v4.1.0/extra/single_include/boost/int128.hpp

boost.int128 has the following license:

Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:

The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.

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, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.


==============================================================================
DOCUMENT dc91f8200e4b2a1f9261035d4c18c33c246911a6c0f7b543d75347e61b249cff
==============================================================================
Copyright (c) 2017 http-rs authors

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.


==============================================================================
DOCUMENT dd87e27dfbaa888cb77ea34592648a7743636b8dce07e49543bddda0fcfc73bc
==============================================================================
Copyright (c) 2016-2026 Sean McArthur

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.



==============================================================================
DOCUMENT def0956b3c24824a62c8f8f6b31f0d5ecf13a82ddfb4a14fca4b9292c62c09cc
==============================================================================
// Copyright 2019-2025 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT df740d781d88d1d541b6f0cae23cb279840ee60f106ebffcd8be18b042ac39b5
==============================================================================
#! /usr/bin/env perl
# Copyright 2010-2018 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://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.


==============================================================================
DOCUMENT dfa265ace1a8eac40d3059e3bce1a736460a767bc58c74162c39a688a14988a8
==============================================================================
// Copyright 2019 The Fuchsia Authors
//
// Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0
// <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT
// license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
// This file may not be copied, modified, or distributed except according to
// those terms.


==============================================================================
DOCUMENT dfb17ab986e447f02bce4df5a83543ac374ee5306e170ea79d9b6abb47652720
==============================================================================
// Copyright 2015 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT e00a06f546cd736ac64d82d5c88c23810aec69eec0f61cc64705ea57693e6049
==============================================================================
// origin: FreeBSD /usr/src/lib/msun/src/k_sin.c
//
// ====================================================
// Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
//
// Developed at SunSoft, a Sun Microsystems, Inc. business.
// Permission to use, copy, modify, and distribute this
// software is freely granted, provided that this notice
// is preserved.
// ====================================================


==============================================================================
DOCUMENT e11508b3e7f6ff1d908d7b47b4a375d2a59b54ad71d067b092479d36e02c0587
==============================================================================
// Copyright 2018-2024 Developers of the Rand project.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT e1be4a329850c826811b4faff3476ed2755911b67a74ef3157fdb89c0b6efd91
==============================================================================
/*
 * ====================================================
 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
 *
 * Developed at SunSoft, a Sun Microsystems, Inc. business.
 * Permission to use, copy, modify, and distribute this
 * software is freely granted, provided that this notice
 * is preserved.
 * ====================================================
 *
 */


==============================================================================
DOCUMENT e20fa2b8e0a2565f24a792b94b4bf4b6c2b9d36f781d8a9516e218a036e6677a
==============================================================================
Copyright (c) 2017 quininer kel

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.


==============================================================================
DOCUMENT e2a980b9a2abb0ef38ddcca984f2fd0934bf109e1164a0277c27e85ee6d8427e
==============================================================================
// Copyright 2025 Google LLC
//
// 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
//
//     https://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.
//
// Code generated by sidekick. DO NOT EDIT.

#[allow(unused_imports)]
use super::*;

#[doc(hidden)]
impl serde::ser::Serialize for super::Configuration {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if !self.name.is_empty() {
            state.serialize_entry("name", &self.name)?;
        }
        if !self.display_name.is_empty() {
            state.serialize_entry("displayName", &self.display_name)?;
        }
        if !self.product.is_empty() {
            state.serialize_entry("product", &self.product)?;
        }
        if !wkt::internal::is_default(&self.license_type) {
            state.serialize_entry("licenseType", &self.license_type)?;
        }
        if self.current_billing_info.is_some() {
            state.serialize_entry("currentBillingInfo", &self.current_billing_info)?;
        }
        if self.next_billing_info.is_some() {
            state.serialize_entry("nextBillingInfo", &self.next_billing_info)?;
        }
        if self.create_time.is_some() {
            state.serialize_entry("createTime", &self.create_time)?;
        }
        if self.update_time.is_some() {
            state.serialize_entry("updateTime", &self.update_time)?;
        }
        if !self.labels.is_empty() {
            state.serialize_entry("labels", &self.labels)?;
        }
        if !wkt::internal::is_default(&self.state) {
            state.serialize_entry("state", &self.state)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::BillingInfo {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if let Some(value) = self.user_count_billing() {
            state.serialize_entry("userCountBilling", value)?;
        }
        if self.start_time.is_some() {
            state.serialize_entry("startTime", &self.start_time)?;
        }
        if self.end_time.is_some() {
            state.serialize_entry("endTime", &self.end_time)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::UserCountBillingInfo {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if !wkt::internal::is_default(&self.user_count) {
            struct __With<'a>(&'a i32);
            impl<'a> serde::ser::Serialize for __With<'a> {
                fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
                where
                    S: serde::ser::Serializer,
                {
                    serde_with::As::<wkt::internal::I32>::serialize(self.0, serializer)
                }
            }
            state.serialize_entry("userCount", &__With(&self.user_count))?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::UserCountUsage {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if !wkt::internal::is_default(&self.unique_user_count) {
            struct __With<'a>(&'a i32);
            impl<'a> serde::ser::Serialize for __With<'a> {
                fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
                where
                    S: serde::ser::Serializer,
                {
                    serde_with::As::<wkt::internal::I32>::serialize(self.0, serializer)
                }
            }
            state.serialize_entry("uniqueUserCount", &__With(&self.unique_user_count))?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::Product {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if !self.name.is_empty() {
            state.serialize_entry("name", &self.name)?;
        }
        if !self.version.is_empty() {
            state.serialize_entry("version", &self.version)?;
        }
        if !self.product_company.is_empty() {
            state.serialize_entry("productCompany", &self.product_company)?;
        }
        if !wkt::internal::is_default(&self.state) {
            state.serialize_entry("state", &self.state)?;
        }
        if !self.sku.is_empty() {
            state.serialize_entry("sku", &self.sku)?;
        }
        if !self.description.is_empty() {
            state.serialize_entry("description", &self.description)?;
        }
        if !self.display_name.is_empty() {
            state.serialize_entry("displayName", &self.display_name)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::Instance {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if !self.name.is_empty() {
            state.serialize_entry("name", &self.name)?;
        }
        if self.create_time.is_some() {
            state.serialize_entry("createTime", &self.create_time)?;
        }
        if self.update_time.is_some() {
            state.serialize_entry("updateTime", &self.update_time)?;
        }
        if !self.labels.is_empty() {
            state.serialize_entry("labels", &self.labels)?;
        }
        if !wkt::internal::is_default(&self.state) {
            state.serialize_entry("state", &self.state)?;
        }
        if !self.region.is_empty() {
            state.serialize_entry("region", &self.region)?;
        }
        if !self.product_activation.is_empty() {
            state.serialize_entry("productActivation", &self.product_activation)?;
        }
        if !self.license_version_id.is_empty() {
            state.serialize_entry("licenseVersionId", &self.license_version_id)?;
        }
        if !self.compute_instance.is_empty() {
            state.serialize_entry("computeInstance", &self.compute_instance)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::Usage {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if !self.lima_instance.is_empty() {
            state.serialize_entry("limaInstance", &self.lima_instance)?;
        }
        if !wkt::internal::is_default(&self.users) {
            struct __With<'a>(&'a i32);
            impl<'a> serde::ser::Serialize for __With<'a> {
                fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
                where
                    S: serde::ser::Serializer,
                {
                    serde_with::As::<wkt::internal::I32>::serialize(self.0, serializer)
                }
            }
            state.serialize_entry("users", &__With(&self.users))?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::ListConfigurationsRequest {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if !self.parent.is_empty() {
            state.serialize_entry("parent", &self.parent)?;
        }
        if !wkt::internal::is_default(&self.page_size) {
            struct __With<'a>(&'a i32);
            impl<'a> serde::ser::Serialize for __With<'a> {
                fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
                where
                    S: serde::ser::Serializer,
                {
                    serde_with::As::<wkt::internal::I32>::serialize(self.0, serializer)
                }
            }
            state.serialize_entry("pageSize", &__With(&self.page_size))?;
        }
        if !self.page_token.is_empty() {
            state.serialize_entry("pageToken", &self.page_token)?;
        }
        if !self.filter.is_empty() {
            state.serialize_entry("filter", &self.filter)?;
        }
        if !self.order_by.is_empty() {
            state.serialize_entry("orderBy", &self.order_by)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::ListConfigurationsResponse {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if !self.configurations.is_empty() {
            state.serialize_entry("configurations", &self.configurations)?;
        }
        if !self.next_page_token.is_empty() {
            state.serialize_entry("nextPageToken", &self.next_page_token)?;
        }
        if !self.unreachable.is_empty() {
            state.serialize_entry("unreachable", &self.unreachable)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::GetConfigurationRequest {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if !self.name.is_empty() {
            state.serialize_entry("name", &self.name)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::CreateConfigurationRequest {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if !self.parent.is_empty() {
            state.serialize_entry("parent", &self.parent)?;
        }
        if !self.configuration_id.is_empty() {
            state.serialize_entry("configurationId", &self.configuration_id)?;
        }
        if self.configuration.is_some() {
            state.serialize_entry("configuration", &self.configuration)?;
        }
        if !self.request_id.is_empty() {
            state.serialize_entry("requestId", &self.request_id)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::UpdateConfigurationRequest {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if self.update_mask.is_some() {
            state.serialize_entry("updateMask", &self.update_mask)?;
        }
        if self.configuration.is_some() {
            state.serialize_entry("configuration", &self.configuration)?;
        }
        if !self.request_id.is_empty() {
            state.serialize_entry("requestId", &self.request_id)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::DeleteConfigurationRequest {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if !self.name.is_empty() {
            state.serialize_entry("name", &self.name)?;
        }
        if !self.request_id.is_empty() {
            state.serialize_entry("requestId", &self.request_id)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::ListInstancesRequest {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if !self.parent.is_empty() {
            state.serialize_entry("parent", &self.parent)?;
        }
        if !wkt::internal::is_default(&self.page_size) {
            struct __With<'a>(&'a i32);
            impl<'a> serde::ser::Serialize for __With<'a> {
                fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
                where
                    S: serde::ser::Serializer,
                {
                    serde_with::As::<wkt::internal::I32>::serialize(self.0, serializer)
                }
            }
            state.serialize_entry("pageSize", &__With(&self.page_size))?;
        }
        if !self.page_token.is_empty() {
            state.serialize_entry("pageToken", &self.page_token)?;
        }
        if !self.filter.is_empty() {
            state.serialize_entry("filter", &self.filter)?;
        }
        if !self.order_by.is_empty() {
            state.serialize_entry("orderBy", &self.order_by)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::ListInstancesResponse {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if !self.instances.is_empty() {
            state.serialize_entry("instances", &self.instances)?;
        }
        if !self.next_page_token.is_empty() {
            state.serialize_entry("nextPageToken", &self.next_page_token)?;
        }
        if !self.unreachable.is_empty() {
            state.serialize_entry("unreachable", &self.unreachable)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::GetInstanceRequest {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if !self.name.is_empty() {
            state.serialize_entry("name", &self.name)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::QueryConfigurationLicenseUsageRequest {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if !self.name.is_empty() {
            state.serialize_entry("name", &self.name)?;
        }
        if self.start_time.is_some() {
            state.serialize_entry("startTime", &self.start_time)?;
        }
        if self.end_time.is_some() {
            state.serialize_entry("endTime", &self.end_time)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::QueryConfigurationLicenseUsageResponse {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if let Some(value) = self.user_count_usage() {
            state.serialize_entry("userCountUsage", value)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::DeactivateConfigurationRequest {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if !self.name.is_empty() {
            state.serialize_entry("name", &self.name)?;
        }
        if !self.request_id.is_empty() {
            state.serialize_entry("requestId", &self.request_id)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::ReactivateConfigurationRequest {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if !self.name.is_empty() {
            state.serialize_entry("name", &self.name)?;
        }
        if !self.request_id.is_empty() {
            state.serialize_entry("requestId", &self.request_id)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::AggregateUsageRequest {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if !self.name.is_empty() {
            state.serialize_entry("name", &self.name)?;
        }
        if !wkt::internal::is_default(&self.page_size) {
            struct __With<'a>(&'a i32);
            impl<'a> serde::ser::Serialize for __With<'a> {
                fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
                where
                    S: serde::ser::Serializer,
                {
                    serde_with::As::<wkt::internal::I32>::serialize(self.0, serializer)
                }
            }
            state.serialize_entry("pageSize", &__With(&self.page_size))?;
        }
        if !self.page_token.is_empty() {
            state.serialize_entry("pageToken", &self.page_token)?;
        }
        if !self.filter.is_empty() {
            state.serialize_entry("filter", &self.filter)?;
        }
        if !self.order_by.is_empty() {
            state.serialize_entry("orderBy", &self.order_by)?;
        }
        if self.start_time.is_some() {
            state.serialize_entry("startTime", &self.start_time)?;
        }
        if self.end_time.is_some() {
            state.serialize_entry("endTime", &self.end_time)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::AggregateUsageResponse {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if !self.usages.is_empty() {
            state.serialize_entry("usages", &self.usages)?;
        }
        if !self.next_page_token.is_empty() {
            state.serialize_entry("nextPageToken", &self.next_page_token)?;
        }
        if !self.unreachable.is_empty() {
            state.serialize_entry("unreachable", &self.unreachable)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::ListProductsRequest {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if !self.parent.is_empty() {
            state.serialize_entry("parent", &self.parent)?;
        }
        if !wkt::internal::is_default(&self.page_size) {
            struct __With<'a>(&'a i32);
            impl<'a> serde::ser::Serialize for __With<'a> {
                fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
                where
                    S: serde::ser::Serializer,
                {
                    serde_with::As::<wkt::internal::I32>::serialize(self.0, serializer)
                }
            }
            state.serialize_entry("pageSize", &__With(&self.page_size))?;
        }
        if !self.page_token.is_empty() {
            state.serialize_entry("pageToken", &self.page_token)?;
        }
        if !self.filter.is_empty() {
            state.serialize_entry("filter", &self.filter)?;
        }
        if !self.order_by.is_empty() {
            state.serialize_entry("orderBy", &self.order_by)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::ListProductsResponse {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if !self.products.is_empty() {
            state.serialize_entry("products", &self.products)?;
        }
        if !self.next_page_token.is_empty() {
            state.serialize_entry("nextPageToken", &self.next_page_token)?;
        }
        if !self.unreachable.is_empty() {
            state.serialize_entry("unreachable", &self.unreachable)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::GetProductRequest {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if !self.name.is_empty() {
            state.serialize_entry("name", &self.name)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}

#[doc(hidden)]
impl serde::ser::Serialize for super::OperationMetadata {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: serde::ser::Serializer,
    {
        use serde::ser::SerializeMap;
        #[allow(unused_imports)]
        use std::option::Option::Some;
        let mut state = serializer.serialize_map(std::option::Option::None)?;
        if self.create_time.is_some() {
            state.serialize_entry("createTime", &self.create_time)?;
        }
        if self.end_time.is_some() {
            state.serialize_entry("endTime", &self.end_time)?;
        }
        if !self.target.is_empty() {
            state.serialize_entry("target", &self.target)?;
        }
        if !self.verb.is_empty() {
            state.serialize_entry("verb", &self.verb)?;
        }
        if !self.status_message.is_empty() {
            state.serialize_entry("statusMessage", &self.status_message)?;
        }
        if !wkt::internal::is_default(&self.requested_cancellation) {
            state.serialize_entry("requestedCancellation", &self.requested_cancellation)?;
        }
        if !self.api_version.is_empty() {
            state.serialize_entry("apiVersion", &self.api_version)?;
        }
        if !self._unknown_fields.is_empty() {
            for (key, value) in self._unknown_fields.iter() {
                state.serialize_entry(key, &value)?;
            }
        }
        state.end()
    }
}


==============================================================================
DOCUMENT e2c5e3a74a29f6c88233646995cfe44b14516067992b9670439ffa0a595e56a5
==============================================================================
/* SPDX-License-Identifier: MIT OR Apache-2.0 */


==============================================================================
DOCUMENT e2e245f2b566d0bfafb0f6a04c16b82d710c4e6e7d799e39bb4ef6e541b85b98
==============================================================================
Copyright (c) Jacob Pratt

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.


==============================================================================
DOCUMENT e382906616915453c368b64c2eb946f37747f1848360203299d8d15587ed9fb0
==============================================================================
// SPDX-License-Identifier: BSD-2-Clause OR Apache-2.0 OR MIT
//
// Copyright 2022 The Fuchsia Authors
//
// Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0
// <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT
// license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
// This file may not be copied, modified, or distributed except according to
// those terms.


==============================================================================
DOCUMENT e4c82b854ec22d96d4c41fabde629bd2bb08624ce44531dd47eb5c9243514595
==============================================================================
// musl as a whole is licensed under the following standard MIT license:
//
// ----------------------------------------------------------------------
// Copyright © 2005-2020 Rich Felker, et al.
//
// 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.
// ----------------------------------------------------------------------
//
// Authors/contributors include:
//
// A. Wilcox
// Ada Worcester
// Alex Dowad
// Alex Suykov
// Alexander Monakov
// Andre McCurdy
// Andrew Kelley
// Anthony G. Basile
// Aric Belsito
// Arvid Picciani
// Bartosz Brachaczek
// Benjamin Peterson
// Bobby Bingham
// Boris Brezillon
// Brent Cook
// Chris Spiegel
// Clément Vasseur
// Daniel Micay
// Daniel Sabogal
// Daurnimator
// David Carlier
// David Edelsohn
// Denys Vlasenko
// Dmitry Ivanov
// Dmitry V. Levin
// Drew DeVault
// Emil Renner Berthing
// Fangrui Song
// Felix Fietkau
// Felix Janda
// Gianluca Anzolin
// Hauke Mehrtens
// He X
// Hiltjo Posthuma
// Isaac Dunham
// Jaydeep Patil
// Jens Gustedt
// Jeremy Huntwork
// Jo-Philipp Wich
// Joakim Sindholt
// John Spencer
// Julien Ramseier
// Justin Cormack
// Kaarle Ritvanen
// Khem Raj
// Kylie McClain
// Leah Neukirchen
// Luca Barbato
// Luka Perkov
// M Farkas-Dyck (Strake)
// Mahesh Bodapati
// Markus Wichmann
// Masanori Ogino
// Michael Clark
// Michael Forney
// Mikhail Kremnyov
// Natanael Copa
// Nicholas J. Kain
// orc
// Pascal Cuoq
// Patrick Oppenlander
// Petr Hosek
// Petr Skocik
// Pierre Carrier
// Reini Urban
// Rich Felker
// Richard Pennington
// Ryan Fairfax
// Samuel Holland
// Segev Finer
// Shiz
// sin
// Solar Designer
// Stefan Kristiansson
// Stefan O'Rear
// Szabolcs Nagy
// Timo Teräs
// Trutz Behn
// Valentin Ochs
// Will Dietz
// William Haddon
// William Pitcock
//
// Portions of this software are derived from third-party works licensed
// under terms compatible with the above MIT license:
//
// The TRE regular expression implementation (src/regex/reg* and
// src/regex/tre*) is Copyright © 2001-2008 Ville Laurikari and licensed
// under a 2-clause BSD license (license text in the source files). The
// included version has been heavily modified by Rich Felker in 2012, in
// the interests of size, simplicity, and namespace cleanliness.
//
// Much of the math library code (src/math/* and src/complex/*) is
// Copyright © 1993,2004 Sun Microsystems or
// Copyright © 2003-2011 David Schultz or
// Copyright © 2003-2009 Steven G. Kargl or
// Copyright © 2003-2009 Bruce D. Evans or
// Copyright © 2008 Stephen L. Moshier or
// Copyright © 2017-2018 Arm Limited
// and labelled as such in comments in the individual source files. All
// have been licensed under extremely permissive terms.
//
// The ARM memcpy code (src/string/arm/memcpy.S) is Copyright © 2008
// The Android Open Source Project and is licensed under a two-clause BSD
// license. It was taken from Bionic libc, used on Android.
//
// The AArch64 memcpy and memset code (src/string/aarch64/*) are
// Copyright © 1999-2019, Arm Limited.
//
// The implementation of DES for crypt (src/crypt/crypt_des.c) is
// Copyright © 1994 David Burren. It is licensed under a BSD license.
//
// The implementation of blowfish crypt (src/crypt/crypt_blowfish.c) was
// originally written by Solar Designer and placed into the public
// domain. The code also comes with a fallback permissive license for use
// in jurisdictions that may not recognize the public domain.
//
// The smoothsort implementation (src/stdlib/qsort.c) is Copyright © 2011
// Valentin Ochs and is licensed under an MIT-style license.
//
// The x86_64 port was written by Nicholas J. Kain and is licensed under
// the standard MIT terms.
//
// The mips and microblaze ports were originally written by Richard
// Pennington for use in the ellcc project. The original code was adapted
// by Rich Felker for build system and code conventions during upstream
// integration. It is licensed under the standard MIT terms.
//
// The mips64 port was contributed by Imagination Technologies and is
// licensed under the standard MIT terms.
//
// The powerpc port was also originally written by Richard Pennington,
// and later supplemented and integrated by John Spencer. It is licensed
// under the standard MIT terms.
//
// All other files which have no copyright comments are original works
// produced specifically for use as part of this library, written either
// by Rich Felker, the main author of the library, or by one or more
// contibutors listed above. Details on authorship of individual files
// can be found in the git version control history of the project. The
// omission of copyright and license comments in each file is in the
// interest of source tree size.
//
// In addition, permission is hereby granted for all public header files
// (include/* and arch/*/bits/*) and crt files intended to be linked into
// applications (crt/*, ldso/dlstart.c, and arch/*/crt_arch.h) to omit
// the copyright notice and permission notice otherwise required by the
// license, and to use these files without any requirement of
// attribution. These files include substantial contributions from:
//
// Bobby Bingham
// John Spencer
// Nicholas J. Kain
// Rich Felker
// Richard Pennington
// Stefan Kristiansson
// Szabolcs Nagy
//
// all of whom have explicitly granted such permission.
//
// This file previously contained text expressing a belief that most of
// the files covered by the above exception were sufficiently trivial not
// to be subject to copyright, resulting in confusion over whether it
// negated the permissions granted in the license. In the spirit of
// permissive licensing, and of not having licensing issues being an
// obstacle to adoption, that text has been removed.


==============================================================================
DOCUMENT e506ebbdf1bcb57746db792b868f8b523c464637059e80d402497f2643310b0f
==============================================================================
// Copyright 2018-2025 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT e59e14c703f33fd921c04e0b52b47504a37c7b7b13bdc26788b8a1c973037e6c
==============================================================================
// Copyright 2025 Google LLC
//
// 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
//
//     https://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.
//
// Code generated by sidekick. DO NOT EDIT.

/// Request and client builders for [LicenseManager][crate::client::LicenseManager].
pub mod license_manager {
    use crate::Result;

    /// A builder for [LicenseManager][crate::client::LicenseManager].
    ///
    /// ```
    /// # async fn sample() -> google_cloud_gax::client_builder::Result<()> {
    /// # use google_cloud_licensemanager_v1::*;
    /// # use builder::license_manager::ClientBuilder;
    /// # use client::LicenseManager;
    /// let builder : ClientBuilder = LicenseManager::builder();
    /// let client = builder
    ///     .with_endpoint("https://licensemanager.googleapis.com")
    ///     .build().await?;
    /// # Ok(()) }
    /// ```
    pub type ClientBuilder = crate::ClientBuilder<client::Factory, gaxi::options::Credentials>;

    pub(crate) mod client {
        use super::super::super::client::LicenseManager;
        pub struct Factory;
        impl crate::ClientFactory for Factory {
            type Client = LicenseManager;
            type Credentials = gaxi::options::Credentials;
            async fn build(
                self,
                config: gaxi::options::ClientConfig,
            ) -> crate::ClientBuilderResult<Self::Client> {
                Self::Client::new(config).await
            }
        }
    }

    /// Common implementation for [crate::client::LicenseManager] request builders.
    #[derive(Clone, Debug)]
    pub(crate) struct RequestBuilder<R: std::default::Default> {
        stub: std::sync::Arc<dyn super::super::stub::dynamic::LicenseManager>,
        request: R,
        options: crate::RequestOptions,
    }

    impl<R> RequestBuilder<R>
    where
        R: std::default::Default,
    {
        pub(crate) fn new(
            stub: std::sync::Arc<dyn super::super::stub::dynamic::LicenseManager>,
        ) -> Self {
            Self {
                stub,
                request: R::default(),
                options: crate::RequestOptions::default(),
            }
        }
    }

    /// The request builder for [LicenseManager::list_configurations][crate::client::LicenseManager::list_configurations] calls.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::builder::license_manager::ListConfigurations;
    /// # async fn sample() -> google_cloud_licensemanager_v1::Result<()> {
    /// use google_cloud_gax::paginator::ItemPaginator;
    ///
    /// let builder = prepare_request_builder();
    /// let mut items = builder.by_item();
    /// while let Some(result) = items.next().await {
    ///   let item = result?;
    /// }
    /// # Ok(()) }
    ///
    /// fn prepare_request_builder() -> ListConfigurations {
    ///   # panic!();
    ///   // ... details omitted ...
    /// }
    /// ```
    #[derive(Clone, Debug)]
    pub struct ListConfigurations(RequestBuilder<crate::model::ListConfigurationsRequest>);

    impl ListConfigurations {
        pub(crate) fn new(
            stub: std::sync::Arc<dyn super::super::stub::dynamic::LicenseManager>,
        ) -> Self {
            Self(RequestBuilder::new(stub))
        }

        /// Sets the full request, replacing any prior values.
        pub fn with_request<V: Into<crate::model::ListConfigurationsRequest>>(
            mut self,
            v: V,
        ) -> Self {
            self.0.request = v.into();
            self
        }

        /// Sets all the options, replacing any prior values.
        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
            self.0.options = v.into();
            self
        }

        /// Sends the request.
        pub async fn send(self) -> Result<crate::model::ListConfigurationsResponse> {
            (*self.0.stub)
                .list_configurations(self.0.request, self.0.options)
                .await
                .map(crate::Response::into_body)
        }

        /// Streams each page in the collection.
        pub fn by_page(
            self,
        ) -> impl google_cloud_gax::paginator::Paginator<
            crate::model::ListConfigurationsResponse,
            crate::Error,
        > {
            use std::clone::Clone;
            let token = self.0.request.page_token.clone();
            let execute = move |token: String| {
                let mut builder = self.clone();
                builder.0.request = builder.0.request.set_page_token(token);
                builder.send()
            };
            google_cloud_gax::paginator::internal::new_paginator(token, execute)
        }

        /// Streams each item in the collection.
        pub fn by_item(
            self,
        ) -> impl google_cloud_gax::paginator::ItemPaginator<
            crate::model::ListConfigurationsResponse,
            crate::Error,
        > {
            use google_cloud_gax::paginator::Paginator;
            self.by_page().items()
        }

        /// Sets the value of [parent][crate::model::ListConfigurationsRequest::parent].
        ///
        /// This is a **required** field for requests.
        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.parent = v.into();
            self
        }

        /// Sets the value of [page_size][crate::model::ListConfigurationsRequest::page_size].
        pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
            self.0.request.page_size = v.into();
            self
        }

        /// Sets the value of [page_token][crate::model::ListConfigurationsRequest::page_token].
        pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.page_token = v.into();
            self
        }

        /// Sets the value of [filter][crate::model::ListConfigurationsRequest::filter].
        pub fn set_filter<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.filter = v.into();
            self
        }

        /// Sets the value of [order_by][crate::model::ListConfigurationsRequest::order_by].
        pub fn set_order_by<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.order_by = v.into();
            self
        }
    }

    #[doc(hidden)]
    impl crate::RequestBuilder for ListConfigurations {
        fn request_options(&mut self) -> &mut crate::RequestOptions {
            &mut self.0.options
        }
    }

    /// The request builder for [LicenseManager::get_configuration][crate::client::LicenseManager::get_configuration] calls.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::builder::license_manager::GetConfiguration;
    /// # async fn sample() -> google_cloud_licensemanager_v1::Result<()> {
    ///
    /// let builder = prepare_request_builder();
    /// let response = builder.send().await?;
    /// # Ok(()) }
    ///
    /// fn prepare_request_builder() -> GetConfiguration {
    ///   # panic!();
    ///   // ... details omitted ...
    /// }
    /// ```
    #[derive(Clone, Debug)]
    pub struct GetConfiguration(RequestBuilder<crate::model::GetConfigurationRequest>);

    impl GetConfiguration {
        pub(crate) fn new(
            stub: std::sync::Arc<dyn super::super::stub::dynamic::LicenseManager>,
        ) -> Self {
            Self(RequestBuilder::new(stub))
        }

        /// Sets the full request, replacing any prior values.
        pub fn with_request<V: Into<crate::model::GetConfigurationRequest>>(
            mut self,
            v: V,
        ) -> Self {
            self.0.request = v.into();
            self
        }

        /// Sets all the options, replacing any prior values.
        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
            self.0.options = v.into();
            self
        }

        /// Sends the request.
        pub async fn send(self) -> Result<crate::model::Configuration> {
            (*self.0.stub)
                .get_configuration(self.0.request, self.0.options)
                .await
                .map(crate::Response::into_body)
        }

        /// Sets the value of [name][crate::model::GetConfigurationRequest::name].
        ///
        /// This is a **required** field for requests.
        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.name = v.into();
            self
        }
    }

    #[doc(hidden)]
    impl crate::RequestBuilder for GetConfiguration {
        fn request_options(&mut self) -> &mut crate::RequestOptions {
            &mut self.0.options
        }
    }

    /// The request builder for [LicenseManager::create_configuration][crate::client::LicenseManager::create_configuration] calls.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::builder::license_manager::CreateConfiguration;
    /// # async fn sample() -> google_cloud_licensemanager_v1::Result<()> {
    /// use google_cloud_lro::Poller;
    ///
    /// let builder = prepare_request_builder();
    /// let response = builder.poller().until_done().await?;
    /// # Ok(()) }
    ///
    /// fn prepare_request_builder() -> CreateConfiguration {
    ///   # panic!();
    ///   // ... details omitted ...
    /// }
    /// ```
    #[derive(Clone, Debug)]
    pub struct CreateConfiguration(RequestBuilder<crate::model::CreateConfigurationRequest>);

    impl CreateConfiguration {
        pub(crate) fn new(
            stub: std::sync::Arc<dyn super::super::stub::dynamic::LicenseManager>,
        ) -> Self {
            Self(RequestBuilder::new(stub))
        }

        /// Sets the full request, replacing any prior values.
        pub fn with_request<V: Into<crate::model::CreateConfigurationRequest>>(
            mut self,
            v: V,
        ) -> Self {
            self.0.request = v.into();
            self
        }

        /// Sets all the options, replacing any prior values.
        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
            self.0.options = v.into();
            self
        }

        /// Sends the request.
        ///
        /// # Long running operations
        ///
        /// This starts, but does not poll, a longrunning operation. More information
        /// on [create_configuration][crate::client::LicenseManager::create_configuration].
        pub async fn send(self) -> Result<google_cloud_longrunning::model::Operation> {
            (*self.0.stub)
                .create_configuration(self.0.request, self.0.options)
                .await
                .map(crate::Response::into_body)
        }

        /// Creates a [Poller][google_cloud_lro::Poller] to work with `create_configuration`.
        pub fn poller(
            self,
        ) -> impl google_cloud_lro::Poller<crate::model::Configuration, crate::model::OperationMetadata>
        {
            type Operation = google_cloud_lro::internal::Operation<
                crate::model::Configuration,
                crate::model::OperationMetadata,
            >;
            let polling_error_policy = self.0.stub.get_polling_error_policy(&self.0.options);
            let polling_backoff_policy = self.0.stub.get_polling_backoff_policy(&self.0.options);
            let mut poller_options = self.0.stub.get_poller_options(&self.0.options);
            if let Some(ref mut details) = poller_options.tracing {
                details.method_name = "google_cloud_licensemanager_v1::client::LicenseManager::create_configuration::until_done";
            }

            let stub = self.0.stub.clone();
            let mut options = self.0.options.clone();
            options.set_retry_policy(google_cloud_gax::retry_policy::NeverRetry);
            let query = move |name| {
                let stub = stub.clone();
                let options = options.clone();
                async {
                    let op = GetOperation::new(stub)
                        .set_name(name)
                        .with_options(options)
                        .send()
                        .await?;
                    Ok(Operation::new(op))
                }
            };

            let start = move || async {
                let op = self.send().await?;
                Ok(Operation::new(op))
            };

            use google_cloud_lro::internal::PollerExt;
            {
                google_cloud_lro::internal::new_poller(
                    polling_error_policy,
                    polling_backoff_policy,
                    start,
                    query,
                )
            }
            .with_options(poller_options)
        }

        /// Sets the value of [parent][crate::model::CreateConfigurationRequest::parent].
        ///
        /// This is a **required** field for requests.
        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.parent = v.into();
            self
        }

        /// Sets the value of [configuration_id][crate::model::CreateConfigurationRequest::configuration_id].
        ///
        /// This is a **required** field for requests.
        pub fn set_configuration_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.configuration_id = v.into();
            self
        }

        /// Sets the value of [configuration][crate::model::CreateConfigurationRequest::configuration].
        ///
        /// This is a **required** field for requests.
        pub fn set_configuration<T>(mut self, v: T) -> Self
        where
            T: std::convert::Into<crate::model::Configuration>,
        {
            self.0.request.configuration = std::option::Option::Some(v.into());
            self
        }

        /// Sets or clears the value of [configuration][crate::model::CreateConfigurationRequest::configuration].
        ///
        /// This is a **required** field for requests.
        pub fn set_or_clear_configuration<T>(mut self, v: std::option::Option<T>) -> Self
        where
            T: std::convert::Into<crate::model::Configuration>,
        {
            self.0.request.configuration = v.map(|x| x.into());
            self
        }

        /// Sets the value of [request_id][crate::model::CreateConfigurationRequest::request_id].
        pub fn set_request_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.request_id = v.into();
            self
        }
    }

    #[doc(hidden)]
    impl crate::RequestBuilder for CreateConfiguration {
        fn request_options(&mut self) -> &mut crate::RequestOptions {
            &mut self.0.options
        }
    }

    /// The request builder for [LicenseManager::update_configuration][crate::client::LicenseManager::update_configuration] calls.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::builder::license_manager::UpdateConfiguration;
    /// # async fn sample() -> google_cloud_licensemanager_v1::Result<()> {
    /// use google_cloud_lro::Poller;
    ///
    /// let builder = prepare_request_builder();
    /// let response = builder.poller().until_done().await?;
    /// # Ok(()) }
    ///
    /// fn prepare_request_builder() -> UpdateConfiguration {
    ///   # panic!();
    ///   // ... details omitted ...
    /// }
    /// ```
    #[derive(Clone, Debug)]
    pub struct UpdateConfiguration(RequestBuilder<crate::model::UpdateConfigurationRequest>);

    impl UpdateConfiguration {
        pub(crate) fn new(
            stub: std::sync::Arc<dyn super::super::stub::dynamic::LicenseManager>,
        ) -> Self {
            Self(RequestBuilder::new(stub))
        }

        /// Sets the full request, replacing any prior values.
        pub fn with_request<V: Into<crate::model::UpdateConfigurationRequest>>(
            mut self,
            v: V,
        ) -> Self {
            self.0.request = v.into();
            self
        }

        /// Sets all the options, replacing any prior values.
        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
            self.0.options = v.into();
            self
        }

        /// Sends the request.
        ///
        /// # Long running operations
        ///
        /// This starts, but does not poll, a longrunning operation. More information
        /// on [update_configuration][crate::client::LicenseManager::update_configuration].
        pub async fn send(self) -> Result<google_cloud_longrunning::model::Operation> {
            (*self.0.stub)
                .update_configuration(self.0.request, self.0.options)
                .await
                .map(crate::Response::into_body)
        }

        /// Creates a [Poller][google_cloud_lro::Poller] to work with `update_configuration`.
        pub fn poller(
            self,
        ) -> impl google_cloud_lro::Poller<crate::model::Configuration, crate::model::OperationMetadata>
        {
            type Operation = google_cloud_lro::internal::Operation<
                crate::model::Configuration,
                crate::model::OperationMetadata,
            >;
            let polling_error_policy = self.0.stub.get_polling_error_policy(&self.0.options);
            let polling_backoff_policy = self.0.stub.get_polling_backoff_policy(&self.0.options);
            let mut poller_options = self.0.stub.get_poller_options(&self.0.options);
            if let Some(ref mut details) = poller_options.tracing {
                details.method_name = "google_cloud_licensemanager_v1::client::LicenseManager::update_configuration::until_done";
            }

            let stub = self.0.stub.clone();
            let mut options = self.0.options.clone();
            options.set_retry_policy(google_cloud_gax::retry_policy::NeverRetry);
            let query = move |name| {
                let stub = stub.clone();
                let options = options.clone();
                async {
                    let op = GetOperation::new(stub)
                        .set_name(name)
                        .with_options(options)
                        .send()
                        .await?;
                    Ok(Operation::new(op))
                }
            };

            let start = move || async {
                let op = self.send().await?;
                Ok(Operation::new(op))
            };

            use google_cloud_lro::internal::PollerExt;
            {
                google_cloud_lro::internal::new_poller(
                    polling_error_policy,
                    polling_backoff_policy,
                    start,
                    query,
                )
            }
            .with_options(poller_options)
        }

        /// Sets the value of [update_mask][crate::model::UpdateConfigurationRequest::update_mask].
        pub fn set_update_mask<T>(mut self, v: T) -> Self
        where
            T: std::convert::Into<wkt::FieldMask>,
        {
            self.0.request.update_mask = std::option::Option::Some(v.into());
            self
        }

        /// Sets or clears the value of [update_mask][crate::model::UpdateConfigurationRequest::update_mask].
        pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
        where
            T: std::convert::Into<wkt::FieldMask>,
        {
            self.0.request.update_mask = v.map(|x| x.into());
            self
        }

        /// Sets the value of [configuration][crate::model::UpdateConfigurationRequest::configuration].
        ///
        /// This is a **required** field for requests.
        pub fn set_configuration<T>(mut self, v: T) -> Self
        where
            T: std::convert::Into<crate::model::Configuration>,
        {
            self.0.request.configuration = std::option::Option::Some(v.into());
            self
        }

        /// Sets or clears the value of [configuration][crate::model::UpdateConfigurationRequest::configuration].
        ///
        /// This is a **required** field for requests.
        pub fn set_or_clear_configuration<T>(mut self, v: std::option::Option<T>) -> Self
        where
            T: std::convert::Into<crate::model::Configuration>,
        {
            self.0.request.configuration = v.map(|x| x.into());
            self
        }

        /// Sets the value of [request_id][crate::model::UpdateConfigurationRequest::request_id].
        pub fn set_request_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.request_id = v.into();
            self
        }
    }

    #[doc(hidden)]
    impl crate::RequestBuilder for UpdateConfiguration {
        fn request_options(&mut self) -> &mut crate::RequestOptions {
            &mut self.0.options
        }
    }

    /// The request builder for [LicenseManager::delete_configuration][crate::client::LicenseManager::delete_configuration] calls.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::builder::license_manager::DeleteConfiguration;
    /// # async fn sample() -> google_cloud_licensemanager_v1::Result<()> {
    /// use google_cloud_lro::Poller;
    ///
    /// let builder = prepare_request_builder();
    /// let response = builder.poller().until_done().await?;
    /// # Ok(()) }
    ///
    /// fn prepare_request_builder() -> DeleteConfiguration {
    ///   # panic!();
    ///   // ... details omitted ...
    /// }
    /// ```
    #[derive(Clone, Debug)]
    pub struct DeleteConfiguration(RequestBuilder<crate::model::DeleteConfigurationRequest>);

    impl DeleteConfiguration {
        pub(crate) fn new(
            stub: std::sync::Arc<dyn super::super::stub::dynamic::LicenseManager>,
        ) -> Self {
            Self(RequestBuilder::new(stub))
        }

        /// Sets the full request, replacing any prior values.
        pub fn with_request<V: Into<crate::model::DeleteConfigurationRequest>>(
            mut self,
            v: V,
        ) -> Self {
            self.0.request = v.into();
            self
        }

        /// Sets all the options, replacing any prior values.
        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
            self.0.options = v.into();
            self
        }

        /// Sends the request.
        ///
        /// # Long running operations
        ///
        /// This starts, but does not poll, a longrunning operation. More information
        /// on [delete_configuration][crate::client::LicenseManager::delete_configuration].
        pub async fn send(self) -> Result<google_cloud_longrunning::model::Operation> {
            (*self.0.stub)
                .delete_configuration(self.0.request, self.0.options)
                .await
                .map(crate::Response::into_body)
        }

        /// Creates a [Poller][google_cloud_lro::Poller] to work with `delete_configuration`.
        pub fn poller(self) -> impl google_cloud_lro::Poller<(), crate::model::OperationMetadata> {
            type Operation =
                google_cloud_lro::internal::Operation<wkt::Empty, crate::model::OperationMetadata>;
            let polling_error_policy = self.0.stub.get_polling_error_policy(&self.0.options);
            let polling_backoff_policy = self.0.stub.get_polling_backoff_policy(&self.0.options);
            let mut poller_options = self.0.stub.get_poller_options(&self.0.options);
            if let Some(ref mut details) = poller_options.tracing {
                details.method_name = "google_cloud_licensemanager_v1::client::LicenseManager::delete_configuration::until_done";
            }

            let stub = self.0.stub.clone();
            let mut options = self.0.options.clone();
            options.set_retry_policy(google_cloud_gax::retry_policy::NeverRetry);
            let query = move |name| {
                let stub = stub.clone();
                let options = options.clone();
                async {
                    let op = GetOperation::new(stub)
                        .set_name(name)
                        .with_options(options)
                        .send()
                        .await?;
                    Ok(Operation::new(op))
                }
            };

            let start = move || async {
                let op = self.send().await?;
                Ok(Operation::new(op))
            };

            use google_cloud_lro::internal::PollerExt;
            {
                google_cloud_lro::internal::new_unit_response_poller(
                    polling_error_policy,
                    polling_backoff_policy,
                    start,
                    query,
                )
            }
            .with_options(poller_options)
        }

        /// Sets the value of [name][crate::model::DeleteConfigurationRequest::name].
        ///
        /// This is a **required** field for requests.
        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.name = v.into();
            self
        }

        /// Sets the value of [request_id][crate::model::DeleteConfigurationRequest::request_id].
        pub fn set_request_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.request_id = v.into();
            self
        }
    }

    #[doc(hidden)]
    impl crate::RequestBuilder for DeleteConfiguration {
        fn request_options(&mut self) -> &mut crate::RequestOptions {
            &mut self.0.options
        }
    }

    /// The request builder for [LicenseManager::list_instances][crate::client::LicenseManager::list_instances] calls.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::builder::license_manager::ListInstances;
    /// # async fn sample() -> google_cloud_licensemanager_v1::Result<()> {
    /// use google_cloud_gax::paginator::ItemPaginator;
    ///
    /// let builder = prepare_request_builder();
    /// let mut items = builder.by_item();
    /// while let Some(result) = items.next().await {
    ///   let item = result?;
    /// }
    /// # Ok(()) }
    ///
    /// fn prepare_request_builder() -> ListInstances {
    ///   # panic!();
    ///   // ... details omitted ...
    /// }
    /// ```
    #[derive(Clone, Debug)]
    pub struct ListInstances(RequestBuilder<crate::model::ListInstancesRequest>);

    impl ListInstances {
        pub(crate) fn new(
            stub: std::sync::Arc<dyn super::super::stub::dynamic::LicenseManager>,
        ) -> Self {
            Self(RequestBuilder::new(stub))
        }

        /// Sets the full request, replacing any prior values.
        pub fn with_request<V: Into<crate::model::ListInstancesRequest>>(mut self, v: V) -> Self {
            self.0.request = v.into();
            self
        }

        /// Sets all the options, replacing any prior values.
        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
            self.0.options = v.into();
            self
        }

        /// Sends the request.
        pub async fn send(self) -> Result<crate::model::ListInstancesResponse> {
            (*self.0.stub)
                .list_instances(self.0.request, self.0.options)
                .await
                .map(crate::Response::into_body)
        }

        /// Streams each page in the collection.
        pub fn by_page(
            self,
        ) -> impl google_cloud_gax::paginator::Paginator<crate::model::ListInstancesResponse, crate::Error>
        {
            use std::clone::Clone;
            let token = self.0.request.page_token.clone();
            let execute = move |token: String| {
                let mut builder = self.clone();
                builder.0.request = builder.0.request.set_page_token(token);
                builder.send()
            };
            google_cloud_gax::paginator::internal::new_paginator(token, execute)
        }

        /// Streams each item in the collection.
        pub fn by_item(
            self,
        ) -> impl google_cloud_gax::paginator::ItemPaginator<
            crate::model::ListInstancesResponse,
            crate::Error,
        > {
            use google_cloud_gax::paginator::Paginator;
            self.by_page().items()
        }

        /// Sets the value of [parent][crate::model::ListInstancesRequest::parent].
        ///
        /// This is a **required** field for requests.
        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.parent = v.into();
            self
        }

        /// Sets the value of [page_size][crate::model::ListInstancesRequest::page_size].
        pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
            self.0.request.page_size = v.into();
            self
        }

        /// Sets the value of [page_token][crate::model::ListInstancesRequest::page_token].
        pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.page_token = v.into();
            self
        }

        /// Sets the value of [filter][crate::model::ListInstancesRequest::filter].
        pub fn set_filter<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.filter = v.into();
            self
        }

        /// Sets the value of [order_by][crate::model::ListInstancesRequest::order_by].
        pub fn set_order_by<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.order_by = v.into();
            self
        }
    }

    #[doc(hidden)]
    impl crate::RequestBuilder for ListInstances {
        fn request_options(&mut self) -> &mut crate::RequestOptions {
            &mut self.0.options
        }
    }

    /// The request builder for [LicenseManager::get_instance][crate::client::LicenseManager::get_instance] calls.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::builder::license_manager::GetInstance;
    /// # async fn sample() -> google_cloud_licensemanager_v1::Result<()> {
    ///
    /// let builder = prepare_request_builder();
    /// let response = builder.send().await?;
    /// # Ok(()) }
    ///
    /// fn prepare_request_builder() -> GetInstance {
    ///   # panic!();
    ///   // ... details omitted ...
    /// }
    /// ```
    #[derive(Clone, Debug)]
    pub struct GetInstance(RequestBuilder<crate::model::GetInstanceRequest>);

    impl GetInstance {
        pub(crate) fn new(
            stub: std::sync::Arc<dyn super::super::stub::dynamic::LicenseManager>,
        ) -> Self {
            Self(RequestBuilder::new(stub))
        }

        /// Sets the full request, replacing any prior values.
        pub fn with_request<V: Into<crate::model::GetInstanceRequest>>(mut self, v: V) -> Self {
            self.0.request = v.into();
            self
        }

        /// Sets all the options, replacing any prior values.
        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
            self.0.options = v.into();
            self
        }

        /// Sends the request.
        pub async fn send(self) -> Result<crate::model::Instance> {
            (*self.0.stub)
                .get_instance(self.0.request, self.0.options)
                .await
                .map(crate::Response::into_body)
        }

        /// Sets the value of [name][crate::model::GetInstanceRequest::name].
        ///
        /// This is a **required** field for requests.
        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.name = v.into();
            self
        }
    }

    #[doc(hidden)]
    impl crate::RequestBuilder for GetInstance {
        fn request_options(&mut self) -> &mut crate::RequestOptions {
            &mut self.0.options
        }
    }

    /// The request builder for [LicenseManager::deactivate_configuration][crate::client::LicenseManager::deactivate_configuration] calls.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::builder::license_manager::DeactivateConfiguration;
    /// # async fn sample() -> google_cloud_licensemanager_v1::Result<()> {
    /// use google_cloud_lro::Poller;
    ///
    /// let builder = prepare_request_builder();
    /// let response = builder.poller().until_done().await?;
    /// # Ok(()) }
    ///
    /// fn prepare_request_builder() -> DeactivateConfiguration {
    ///   # panic!();
    ///   // ... details omitted ...
    /// }
    /// ```
    #[derive(Clone, Debug)]
    pub struct DeactivateConfiguration(
        RequestBuilder<crate::model::DeactivateConfigurationRequest>,
    );

    impl DeactivateConfiguration {
        pub(crate) fn new(
            stub: std::sync::Arc<dyn super::super::stub::dynamic::LicenseManager>,
        ) -> Self {
            Self(RequestBuilder::new(stub))
        }

        /// Sets the full request, replacing any prior values.
        pub fn with_request<V: Into<crate::model::DeactivateConfigurationRequest>>(
            mut self,
            v: V,
        ) -> Self {
            self.0.request = v.into();
            self
        }

        /// Sets all the options, replacing any prior values.
        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
            self.0.options = v.into();
            self
        }

        /// Sends the request.
        ///
        /// # Long running operations
        ///
        /// This starts, but does not poll, a longrunning operation. More information
        /// on [deactivate_configuration][crate::client::LicenseManager::deactivate_configuration].
        pub async fn send(self) -> Result<google_cloud_longrunning::model::Operation> {
            (*self.0.stub)
                .deactivate_configuration(self.0.request, self.0.options)
                .await
                .map(crate::Response::into_body)
        }

        /// Creates a [Poller][google_cloud_lro::Poller] to work with `deactivate_configuration`.
        pub fn poller(
            self,
        ) -> impl google_cloud_lro::Poller<crate::model::Configuration, crate::model::OperationMetadata>
        {
            type Operation = google_cloud_lro::internal::Operation<
                crate::model::Configuration,
                crate::model::OperationMetadata,
            >;
            let polling_error_policy = self.0.stub.get_polling_error_policy(&self.0.options);
            let polling_backoff_policy = self.0.stub.get_polling_backoff_policy(&self.0.options);
            let mut poller_options = self.0.stub.get_poller_options(&self.0.options);
            if let Some(ref mut details) = poller_options.tracing {
                details.method_name = "google_cloud_licensemanager_v1::client::LicenseManager::deactivate_configuration::until_done";
            }

            let stub = self.0.stub.clone();
            let mut options = self.0.options.clone();
            options.set_retry_policy(google_cloud_gax::retry_policy::NeverRetry);
            let query = move |name| {
                let stub = stub.clone();
                let options = options.clone();
                async {
                    let op = GetOperation::new(stub)
                        .set_name(name)
                        .with_options(options)
                        .send()
                        .await?;
                    Ok(Operation::new(op))
                }
            };

            let start = move || async {
                let op = self.send().await?;
                Ok(Operation::new(op))
            };

            use google_cloud_lro::internal::PollerExt;
            {
                google_cloud_lro::internal::new_poller(
                    polling_error_policy,
                    polling_backoff_policy,
                    start,
                    query,
                )
            }
            .with_options(poller_options)
        }

        /// Sets the value of [name][crate::model::DeactivateConfigurationRequest::name].
        ///
        /// This is a **required** field for requests.
        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.name = v.into();
            self
        }

        /// Sets the value of [request_id][crate::model::DeactivateConfigurationRequest::request_id].
        pub fn set_request_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.request_id = v.into();
            self
        }
    }

    #[doc(hidden)]
    impl crate::RequestBuilder for DeactivateConfiguration {
        fn request_options(&mut self) -> &mut crate::RequestOptions {
            &mut self.0.options
        }
    }

    /// The request builder for [LicenseManager::reactivate_configuration][crate::client::LicenseManager::reactivate_configuration] calls.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::builder::license_manager::ReactivateConfiguration;
    /// # async fn sample() -> google_cloud_licensemanager_v1::Result<()> {
    /// use google_cloud_lro::Poller;
    ///
    /// let builder = prepare_request_builder();
    /// let response = builder.poller().until_done().await?;
    /// # Ok(()) }
    ///
    /// fn prepare_request_builder() -> ReactivateConfiguration {
    ///   # panic!();
    ///   // ... details omitted ...
    /// }
    /// ```
    #[derive(Clone, Debug)]
    pub struct ReactivateConfiguration(
        RequestBuilder<crate::model::ReactivateConfigurationRequest>,
    );

    impl ReactivateConfiguration {
        pub(crate) fn new(
            stub: std::sync::Arc<dyn super::super::stub::dynamic::LicenseManager>,
        ) -> Self {
            Self(RequestBuilder::new(stub))
        }

        /// Sets the full request, replacing any prior values.
        pub fn with_request<V: Into<crate::model::ReactivateConfigurationRequest>>(
            mut self,
            v: V,
        ) -> Self {
            self.0.request = v.into();
            self
        }

        /// Sets all the options, replacing any prior values.
        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
            self.0.options = v.into();
            self
        }

        /// Sends the request.
        ///
        /// # Long running operations
        ///
        /// This starts, but does not poll, a longrunning operation. More information
        /// on [reactivate_configuration][crate::client::LicenseManager::reactivate_configuration].
        pub async fn send(self) -> Result<google_cloud_longrunning::model::Operation> {
            (*self.0.stub)
                .reactivate_configuration(self.0.request, self.0.options)
                .await
                .map(crate::Response::into_body)
        }

        /// Creates a [Poller][google_cloud_lro::Poller] to work with `reactivate_configuration`.
        pub fn poller(
            self,
        ) -> impl google_cloud_lro::Poller<crate::model::Configuration, crate::model::OperationMetadata>
        {
            type Operation = google_cloud_lro::internal::Operation<
                crate::model::Configuration,
                crate::model::OperationMetadata,
            >;
            let polling_error_policy = self.0.stub.get_polling_error_policy(&self.0.options);
            let polling_backoff_policy = self.0.stub.get_polling_backoff_policy(&self.0.options);
            let mut poller_options = self.0.stub.get_poller_options(&self.0.options);
            if let Some(ref mut details) = poller_options.tracing {
                details.method_name = "google_cloud_licensemanager_v1::client::LicenseManager::reactivate_configuration::until_done";
            }

            let stub = self.0.stub.clone();
            let mut options = self.0.options.clone();
            options.set_retry_policy(google_cloud_gax::retry_policy::NeverRetry);
            let query = move |name| {
                let stub = stub.clone();
                let options = options.clone();
                async {
                    let op = GetOperation::new(stub)
                        .set_name(name)
                        .with_options(options)
                        .send()
                        .await?;
                    Ok(Operation::new(op))
                }
            };

            let start = move || async {
                let op = self.send().await?;
                Ok(Operation::new(op))
            };

            use google_cloud_lro::internal::PollerExt;
            {
                google_cloud_lro::internal::new_poller(
                    polling_error_policy,
                    polling_backoff_policy,
                    start,
                    query,
                )
            }
            .with_options(poller_options)
        }

        /// Sets the value of [name][crate::model::ReactivateConfigurationRequest::name].
        ///
        /// This is a **required** field for requests.
        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.name = v.into();
            self
        }

        /// Sets the value of [request_id][crate::model::ReactivateConfigurationRequest::request_id].
        pub fn set_request_id<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.request_id = v.into();
            self
        }
    }

    #[doc(hidden)]
    impl crate::RequestBuilder for ReactivateConfiguration {
        fn request_options(&mut self) -> &mut crate::RequestOptions {
            &mut self.0.options
        }
    }

    /// The request builder for [LicenseManager::query_configuration_license_usage][crate::client::LicenseManager::query_configuration_license_usage] calls.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::builder::license_manager::QueryConfigurationLicenseUsage;
    /// # async fn sample() -> google_cloud_licensemanager_v1::Result<()> {
    ///
    /// let builder = prepare_request_builder();
    /// let response = builder.send().await?;
    /// # Ok(()) }
    ///
    /// fn prepare_request_builder() -> QueryConfigurationLicenseUsage {
    ///   # panic!();
    ///   // ... details omitted ...
    /// }
    /// ```
    #[derive(Clone, Debug)]
    pub struct QueryConfigurationLicenseUsage(
        RequestBuilder<crate::model::QueryConfigurationLicenseUsageRequest>,
    );

    impl QueryConfigurationLicenseUsage {
        pub(crate) fn new(
            stub: std::sync::Arc<dyn super::super::stub::dynamic::LicenseManager>,
        ) -> Self {
            Self(RequestBuilder::new(stub))
        }

        /// Sets the full request, replacing any prior values.
        pub fn with_request<V: Into<crate::model::QueryConfigurationLicenseUsageRequest>>(
            mut self,
            v: V,
        ) -> Self {
            self.0.request = v.into();
            self
        }

        /// Sets all the options, replacing any prior values.
        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
            self.0.options = v.into();
            self
        }

        /// Sends the request.
        pub async fn send(self) -> Result<crate::model::QueryConfigurationLicenseUsageResponse> {
            (*self.0.stub)
                .query_configuration_license_usage(self.0.request, self.0.options)
                .await
                .map(crate::Response::into_body)
        }

        /// Sets the value of [name][crate::model::QueryConfigurationLicenseUsageRequest::name].
        ///
        /// This is a **required** field for requests.
        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.name = v.into();
            self
        }

        /// Sets the value of [start_time][crate::model::QueryConfigurationLicenseUsageRequest::start_time].
        ///
        /// This is a **required** field for requests.
        pub fn set_start_time<T>(mut self, v: T) -> Self
        where
            T: std::convert::Into<wkt::Timestamp>,
        {
            self.0.request.start_time = std::option::Option::Some(v.into());
            self
        }

        /// Sets or clears the value of [start_time][crate::model::QueryConfigurationLicenseUsageRequest::start_time].
        ///
        /// This is a **required** field for requests.
        pub fn set_or_clear_start_time<T>(mut self, v: std::option::Option<T>) -> Self
        where
            T: std::convert::Into<wkt::Timestamp>,
        {
            self.0.request.start_time = v.map(|x| x.into());
            self
        }

        /// Sets the value of [end_time][crate::model::QueryConfigurationLicenseUsageRequest::end_time].
        ///
        /// This is a **required** field for requests.
        pub fn set_end_time<T>(mut self, v: T) -> Self
        where
            T: std::convert::Into<wkt::Timestamp>,
        {
            self.0.request.end_time = std::option::Option::Some(v.into());
            self
        }

        /// Sets or clears the value of [end_time][crate::model::QueryConfigurationLicenseUsageRequest::end_time].
        ///
        /// This is a **required** field for requests.
        pub fn set_or_clear_end_time<T>(mut self, v: std::option::Option<T>) -> Self
        where
            T: std::convert::Into<wkt::Timestamp>,
        {
            self.0.request.end_time = v.map(|x| x.into());
            self
        }
    }

    #[doc(hidden)]
    impl crate::RequestBuilder for QueryConfigurationLicenseUsage {
        fn request_options(&mut self) -> &mut crate::RequestOptions {
            &mut self.0.options
        }
    }

    /// The request builder for [LicenseManager::aggregate_usage][crate::client::LicenseManager::aggregate_usage] calls.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::builder::license_manager::AggregateUsage;
    /// # async fn sample() -> google_cloud_licensemanager_v1::Result<()> {
    /// use google_cloud_gax::paginator::ItemPaginator;
    ///
    /// let builder = prepare_request_builder();
    /// let mut items = builder.by_item();
    /// while let Some(result) = items.next().await {
    ///   let item = result?;
    /// }
    /// # Ok(()) }
    ///
    /// fn prepare_request_builder() -> AggregateUsage {
    ///   # panic!();
    ///   // ... details omitted ...
    /// }
    /// ```
    #[derive(Clone, Debug)]
    pub struct AggregateUsage(RequestBuilder<crate::model::AggregateUsageRequest>);

    impl AggregateUsage {
        pub(crate) fn new(
            stub: std::sync::Arc<dyn super::super::stub::dynamic::LicenseManager>,
        ) -> Self {
            Self(RequestBuilder::new(stub))
        }

        /// Sets the full request, replacing any prior values.
        pub fn with_request<V: Into<crate::model::AggregateUsageRequest>>(mut self, v: V) -> Self {
            self.0.request = v.into();
            self
        }

        /// Sets all the options, replacing any prior values.
        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
            self.0.options = v.into();
            self
        }

        /// Sends the request.
        pub async fn send(self) -> Result<crate::model::AggregateUsageResponse> {
            (*self.0.stub)
                .aggregate_usage(self.0.request, self.0.options)
                .await
                .map(crate::Response::into_body)
        }

        /// Streams each page in the collection.
        pub fn by_page(
            self,
        ) -> impl google_cloud_gax::paginator::Paginator<
            crate::model::AggregateUsageResponse,
            crate::Error,
        > {
            use std::clone::Clone;
            let token = self.0.request.page_token.clone();
            let execute = move |token: String| {
                let mut builder = self.clone();
                builder.0.request = builder.0.request.set_page_token(token);
                builder.send()
            };
            google_cloud_gax::paginator::internal::new_paginator(token, execute)
        }

        /// Streams each item in the collection.
        pub fn by_item(
            self,
        ) -> impl google_cloud_gax::paginator::ItemPaginator<
            crate::model::AggregateUsageResponse,
            crate::Error,
        > {
            use google_cloud_gax::paginator::Paginator;
            self.by_page().items()
        }

        /// Sets the value of [name][crate::model::AggregateUsageRequest::name].
        ///
        /// This is a **required** field for requests.
        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.name = v.into();
            self
        }

        /// Sets the value of [page_size][crate::model::AggregateUsageRequest::page_size].
        pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
            self.0.request.page_size = v.into();
            self
        }

        /// Sets the value of [page_token][crate::model::AggregateUsageRequest::page_token].
        pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.page_token = v.into();
            self
        }

        /// Sets the value of [filter][crate::model::AggregateUsageRequest::filter].
        pub fn set_filter<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.filter = v.into();
            self
        }

        /// Sets the value of [order_by][crate::model::AggregateUsageRequest::order_by].
        pub fn set_order_by<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.order_by = v.into();
            self
        }

        /// Sets the value of [start_time][crate::model::AggregateUsageRequest::start_time].
        ///
        /// This is a **required** field for requests.
        pub fn set_start_time<T>(mut self, v: T) -> Self
        where
            T: std::convert::Into<wkt::Timestamp>,
        {
            self.0.request.start_time = std::option::Option::Some(v.into());
            self
        }

        /// Sets or clears the value of [start_time][crate::model::AggregateUsageRequest::start_time].
        ///
        /// This is a **required** field for requests.
        pub fn set_or_clear_start_time<T>(mut self, v: std::option::Option<T>) -> Self
        where
            T: std::convert::Into<wkt::Timestamp>,
        {
            self.0.request.start_time = v.map(|x| x.into());
            self
        }

        /// Sets the value of [end_time][crate::model::AggregateUsageRequest::end_time].
        ///
        /// This is a **required** field for requests.
        pub fn set_end_time<T>(mut self, v: T) -> Self
        where
            T: std::convert::Into<wkt::Timestamp>,
        {
            self.0.request.end_time = std::option::Option::Some(v.into());
            self
        }

        /// Sets or clears the value of [end_time][crate::model::AggregateUsageRequest::end_time].
        ///
        /// This is a **required** field for requests.
        pub fn set_or_clear_end_time<T>(mut self, v: std::option::Option<T>) -> Self
        where
            T: std::convert::Into<wkt::Timestamp>,
        {
            self.0.request.end_time = v.map(|x| x.into());
            self
        }
    }

    #[doc(hidden)]
    impl crate::RequestBuilder for AggregateUsage {
        fn request_options(&mut self) -> &mut crate::RequestOptions {
            &mut self.0.options
        }
    }

    /// The request builder for [LicenseManager::list_products][crate::client::LicenseManager::list_products] calls.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::builder::license_manager::ListProducts;
    /// # async fn sample() -> google_cloud_licensemanager_v1::Result<()> {
    /// use google_cloud_gax::paginator::ItemPaginator;
    ///
    /// let builder = prepare_request_builder();
    /// let mut items = builder.by_item();
    /// while let Some(result) = items.next().await {
    ///   let item = result?;
    /// }
    /// # Ok(()) }
    ///
    /// fn prepare_request_builder() -> ListProducts {
    ///   # panic!();
    ///   // ... details omitted ...
    /// }
    /// ```
    #[derive(Clone, Debug)]
    pub struct ListProducts(RequestBuilder<crate::model::ListProductsRequest>);

    impl ListProducts {
        pub(crate) fn new(
            stub: std::sync::Arc<dyn super::super::stub::dynamic::LicenseManager>,
        ) -> Self {
            Self(RequestBuilder::new(stub))
        }

        /// Sets the full request, replacing any prior values.
        pub fn with_request<V: Into<crate::model::ListProductsRequest>>(mut self, v: V) -> Self {
            self.0.request = v.into();
            self
        }

        /// Sets all the options, replacing any prior values.
        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
            self.0.options = v.into();
            self
        }

        /// Sends the request.
        pub async fn send(self) -> Result<crate::model::ListProductsResponse> {
            (*self.0.stub)
                .list_products(self.0.request, self.0.options)
                .await
                .map(crate::Response::into_body)
        }

        /// Streams each page in the collection.
        pub fn by_page(
            self,
        ) -> impl google_cloud_gax::paginator::Paginator<crate::model::ListProductsResponse, crate::Error>
        {
            use std::clone::Clone;
            let token = self.0.request.page_token.clone();
            let execute = move |token: String| {
                let mut builder = self.clone();
                builder.0.request = builder.0.request.set_page_token(token);
                builder.send()
            };
            google_cloud_gax::paginator::internal::new_paginator(token, execute)
        }

        /// Streams each item in the collection.
        pub fn by_item(
            self,
        ) -> impl google_cloud_gax::paginator::ItemPaginator<
            crate::model::ListProductsResponse,
            crate::Error,
        > {
            use google_cloud_gax::paginator::Paginator;
            self.by_page().items()
        }

        /// Sets the value of [parent][crate::model::ListProductsRequest::parent].
        ///
        /// This is a **required** field for requests.
        pub fn set_parent<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.parent = v.into();
            self
        }

        /// Sets the value of [page_size][crate::model::ListProductsRequest::page_size].
        pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
            self.0.request.page_size = v.into();
            self
        }

        /// Sets the value of [page_token][crate::model::ListProductsRequest::page_token].
        pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.page_token = v.into();
            self
        }

        /// Sets the value of [filter][crate::model::ListProductsRequest::filter].
        pub fn set_filter<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.filter = v.into();
            self
        }

        /// Sets the value of [order_by][crate::model::ListProductsRequest::order_by].
        pub fn set_order_by<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.order_by = v.into();
            self
        }
    }

    #[doc(hidden)]
    impl crate::RequestBuilder for ListProducts {
        fn request_options(&mut self) -> &mut crate::RequestOptions {
            &mut self.0.options
        }
    }

    /// The request builder for [LicenseManager::get_product][crate::client::LicenseManager::get_product] calls.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::builder::license_manager::GetProduct;
    /// # async fn sample() -> google_cloud_licensemanager_v1::Result<()> {
    ///
    /// let builder = prepare_request_builder();
    /// let response = builder.send().await?;
    /// # Ok(()) }
    ///
    /// fn prepare_request_builder() -> GetProduct {
    ///   # panic!();
    ///   // ... details omitted ...
    /// }
    /// ```
    #[derive(Clone, Debug)]
    pub struct GetProduct(RequestBuilder<crate::model::GetProductRequest>);

    impl GetProduct {
        pub(crate) fn new(
            stub: std::sync::Arc<dyn super::super::stub::dynamic::LicenseManager>,
        ) -> Self {
            Self(RequestBuilder::new(stub))
        }

        /// Sets the full request, replacing any prior values.
        pub fn with_request<V: Into<crate::model::GetProductRequest>>(mut self, v: V) -> Self {
            self.0.request = v.into();
            self
        }

        /// Sets all the options, replacing any prior values.
        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
            self.0.options = v.into();
            self
        }

        /// Sends the request.
        pub async fn send(self) -> Result<crate::model::Product> {
            (*self.0.stub)
                .get_product(self.0.request, self.0.options)
                .await
                .map(crate::Response::into_body)
        }

        /// Sets the value of [name][crate::model::GetProductRequest::name].
        ///
        /// This is a **required** field for requests.
        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.name = v.into();
            self
        }
    }

    #[doc(hidden)]
    impl crate::RequestBuilder for GetProduct {
        fn request_options(&mut self) -> &mut crate::RequestOptions {
            &mut self.0.options
        }
    }

    /// The request builder for [LicenseManager::list_locations][crate::client::LicenseManager::list_locations] calls.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::builder::license_manager::ListLocations;
    /// # async fn sample() -> google_cloud_licensemanager_v1::Result<()> {
    /// use google_cloud_gax::paginator::ItemPaginator;
    ///
    /// let builder = prepare_request_builder();
    /// let mut items = builder.by_item();
    /// while let Some(result) = items.next().await {
    ///   let item = result?;
    /// }
    /// # Ok(()) }
    ///
    /// fn prepare_request_builder() -> ListLocations {
    ///   # panic!();
    ///   // ... details omitted ...
    /// }
    /// ```
    #[derive(Clone, Debug)]
    pub struct ListLocations(RequestBuilder<google_cloud_location::model::ListLocationsRequest>);

    impl ListLocations {
        pub(crate) fn new(
            stub: std::sync::Arc<dyn super::super::stub::dynamic::LicenseManager>,
        ) -> Self {
            Self(RequestBuilder::new(stub))
        }

        /// Sets the full request, replacing any prior values.
        pub fn with_request<V: Into<google_cloud_location::model::ListLocationsRequest>>(
            mut self,
            v: V,
        ) -> Self {
            self.0.request = v.into();
            self
        }

        /// Sets all the options, replacing any prior values.
        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
            self.0.options = v.into();
            self
        }

        /// Sends the request.
        pub async fn send(self) -> Result<google_cloud_location::model::ListLocationsResponse> {
            (*self.0.stub)
                .list_locations(self.0.request, self.0.options)
                .await
                .map(crate::Response::into_body)
        }

        /// Streams each page in the collection.
        pub fn by_page(
            self,
        ) -> impl google_cloud_gax::paginator::Paginator<
            google_cloud_location::model::ListLocationsResponse,
            crate::Error,
        > {
            use std::clone::Clone;
            let token = self.0.request.page_token.clone();
            let execute = move |token: String| {
                let mut builder = self.clone();
                builder.0.request = builder.0.request.set_page_token(token);
                builder.send()
            };
            google_cloud_gax::paginator::internal::new_paginator(token, execute)
        }

        /// Streams each item in the collection.
        pub fn by_item(
            self,
        ) -> impl google_cloud_gax::paginator::ItemPaginator<
            google_cloud_location::model::ListLocationsResponse,
            crate::Error,
        > {
            use google_cloud_gax::paginator::Paginator;
            self.by_page().items()
        }

        /// Sets the value of [name][google_cloud_location::model::ListLocationsRequest::name].
        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.name = v.into();
            self
        }

        /// Sets the value of [filter][google_cloud_location::model::ListLocationsRequest::filter].
        pub fn set_filter<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.filter = v.into();
            self
        }

        /// Sets the value of [page_size][google_cloud_location::model::ListLocationsRequest::page_size].
        pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
            self.0.request.page_size = v.into();
            self
        }

        /// Sets the value of [page_token][google_cloud_location::model::ListLocationsRequest::page_token].
        pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.page_token = v.into();
            self
        }
    }

    #[doc(hidden)]
    impl crate::RequestBuilder for ListLocations {
        fn request_options(&mut self) -> &mut crate::RequestOptions {
            &mut self.0.options
        }
    }

    /// The request builder for [LicenseManager::get_location][crate::client::LicenseManager::get_location] calls.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::builder::license_manager::GetLocation;
    /// # async fn sample() -> google_cloud_licensemanager_v1::Result<()> {
    ///
    /// let builder = prepare_request_builder();
    /// let response = builder.send().await?;
    /// # Ok(()) }
    ///
    /// fn prepare_request_builder() -> GetLocation {
    ///   # panic!();
    ///   // ... details omitted ...
    /// }
    /// ```
    #[derive(Clone, Debug)]
    pub struct GetLocation(RequestBuilder<google_cloud_location::model::GetLocationRequest>);

    impl GetLocation {
        pub(crate) fn new(
            stub: std::sync::Arc<dyn super::super::stub::dynamic::LicenseManager>,
        ) -> Self {
            Self(RequestBuilder::new(stub))
        }

        /// Sets the full request, replacing any prior values.
        pub fn with_request<V: Into<google_cloud_location::model::GetLocationRequest>>(
            mut self,
            v: V,
        ) -> Self {
            self.0.request = v.into();
            self
        }

        /// Sets all the options, replacing any prior values.
        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
            self.0.options = v.into();
            self
        }

        /// Sends the request.
        pub async fn send(self) -> Result<google_cloud_location::model::Location> {
            (*self.0.stub)
                .get_location(self.0.request, self.0.options)
                .await
                .map(crate::Response::into_body)
        }

        /// Sets the value of [name][google_cloud_location::model::GetLocationRequest::name].
        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.name = v.into();
            self
        }
    }

    #[doc(hidden)]
    impl crate::RequestBuilder for GetLocation {
        fn request_options(&mut self) -> &mut crate::RequestOptions {
            &mut self.0.options
        }
    }

    /// The request builder for [LicenseManager::list_operations][crate::client::LicenseManager::list_operations] calls.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::builder::license_manager::ListOperations;
    /// # async fn sample() -> google_cloud_licensemanager_v1::Result<()> {
    /// use google_cloud_gax::paginator::ItemPaginator;
    ///
    /// let builder = prepare_request_builder();
    /// let mut items = builder.by_item();
    /// while let Some(result) = items.next().await {
    ///   let item = result?;
    /// }
    /// # Ok(()) }
    ///
    /// fn prepare_request_builder() -> ListOperations {
    ///   # panic!();
    ///   // ... details omitted ...
    /// }
    /// ```
    #[derive(Clone, Debug)]
    pub struct ListOperations(
        RequestBuilder<google_cloud_longrunning::model::ListOperationsRequest>,
    );

    impl ListOperations {
        pub(crate) fn new(
            stub: std::sync::Arc<dyn super::super::stub::dynamic::LicenseManager>,
        ) -> Self {
            Self(RequestBuilder::new(stub))
        }

        /// Sets the full request, replacing any prior values.
        pub fn with_request<V: Into<google_cloud_longrunning::model::ListOperationsRequest>>(
            mut self,
            v: V,
        ) -> Self {
            self.0.request = v.into();
            self
        }

        /// Sets all the options, replacing any prior values.
        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
            self.0.options = v.into();
            self
        }

        /// Sends the request.
        pub async fn send(self) -> Result<google_cloud_longrunning::model::ListOperationsResponse> {
            (*self.0.stub)
                .list_operations(self.0.request, self.0.options)
                .await
                .map(crate::Response::into_body)
        }

        /// Streams each page in the collection.
        pub fn by_page(
            self,
        ) -> impl google_cloud_gax::paginator::Paginator<
            google_cloud_longrunning::model::ListOperationsResponse,
            crate::Error,
        > {
            use std::clone::Clone;
            let token = self.0.request.page_token.clone();
            let execute = move |token: String| {
                let mut builder = self.clone();
                builder.0.request = builder.0.request.set_page_token(token);
                builder.send()
            };
            google_cloud_gax::paginator::internal::new_paginator(token, execute)
        }

        /// Streams each item in the collection.
        pub fn by_item(
            self,
        ) -> impl google_cloud_gax::paginator::ItemPaginator<
            google_cloud_longrunning::model::ListOperationsResponse,
            crate::Error,
        > {
            use google_cloud_gax::paginator::Paginator;
            self.by_page().items()
        }

        /// Sets the value of [name][google_cloud_longrunning::model::ListOperationsRequest::name].
        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.name = v.into();
            self
        }

        /// Sets the value of [filter][google_cloud_longrunning::model::ListOperationsRequest::filter].
        pub fn set_filter<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.filter = v.into();
            self
        }

        /// Sets the value of [page_size][google_cloud_longrunning::model::ListOperationsRequest::page_size].
        pub fn set_page_size<T: Into<i32>>(mut self, v: T) -> Self {
            self.0.request.page_size = v.into();
            self
        }

        /// Sets the value of [page_token][google_cloud_longrunning::model::ListOperationsRequest::page_token].
        pub fn set_page_token<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.page_token = v.into();
            self
        }

        /// Sets the value of [return_partial_success][google_cloud_longrunning::model::ListOperationsRequest::return_partial_success].
        pub fn set_return_partial_success<T: Into<bool>>(mut self, v: T) -> Self {
            self.0.request.return_partial_success = v.into();
            self
        }
    }

    #[doc(hidden)]
    impl crate::RequestBuilder for ListOperations {
        fn request_options(&mut self) -> &mut crate::RequestOptions {
            &mut self.0.options
        }
    }

    /// The request builder for [LicenseManager::get_operation][crate::client::LicenseManager::get_operation] calls.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::builder::license_manager::GetOperation;
    /// # async fn sample() -> google_cloud_licensemanager_v1::Result<()> {
    ///
    /// let builder = prepare_request_builder();
    /// let response = builder.send().await?;
    /// # Ok(()) }
    ///
    /// fn prepare_request_builder() -> GetOperation {
    ///   # panic!();
    ///   // ... details omitted ...
    /// }
    /// ```
    #[derive(Clone, Debug)]
    pub struct GetOperation(RequestBuilder<google_cloud_longrunning::model::GetOperationRequest>);

    impl GetOperation {
        pub(crate) fn new(
            stub: std::sync::Arc<dyn super::super::stub::dynamic::LicenseManager>,
        ) -> Self {
            Self(RequestBuilder::new(stub))
        }

        /// Sets the full request, replacing any prior values.
        pub fn with_request<V: Into<google_cloud_longrunning::model::GetOperationRequest>>(
            mut self,
            v: V,
        ) -> Self {
            self.0.request = v.into();
            self
        }

        /// Sets all the options, replacing any prior values.
        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
            self.0.options = v.into();
            self
        }

        /// Sends the request.
        pub async fn send(self) -> Result<google_cloud_longrunning::model::Operation> {
            (*self.0.stub)
                .get_operation(self.0.request, self.0.options)
                .await
                .map(crate::Response::into_body)
        }

        /// Sets the value of [name][google_cloud_longrunning::model::GetOperationRequest::name].
        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.name = v.into();
            self
        }
    }

    #[doc(hidden)]
    impl crate::RequestBuilder for GetOperation {
        fn request_options(&mut self) -> &mut crate::RequestOptions {
            &mut self.0.options
        }
    }

    /// The request builder for [LicenseManager::delete_operation][crate::client::LicenseManager::delete_operation] calls.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::builder::license_manager::DeleteOperation;
    /// # async fn sample() -> google_cloud_licensemanager_v1::Result<()> {
    ///
    /// let builder = prepare_request_builder();
    /// let response = builder.send().await?;
    /// # Ok(()) }
    ///
    /// fn prepare_request_builder() -> DeleteOperation {
    ///   # panic!();
    ///   // ... details omitted ...
    /// }
    /// ```
    #[derive(Clone, Debug)]
    pub struct DeleteOperation(
        RequestBuilder<google_cloud_longrunning::model::DeleteOperationRequest>,
    );

    impl DeleteOperation {
        pub(crate) fn new(
            stub: std::sync::Arc<dyn super::super::stub::dynamic::LicenseManager>,
        ) -> Self {
            Self(RequestBuilder::new(stub))
        }

        /// Sets the full request, replacing any prior values.
        pub fn with_request<V: Into<google_cloud_longrunning::model::DeleteOperationRequest>>(
            mut self,
            v: V,
        ) -> Self {
            self.0.request = v.into();
            self
        }

        /// Sets all the options, replacing any prior values.
        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
            self.0.options = v.into();
            self
        }

        /// Sends the request.
        pub async fn send(self) -> Result<()> {
            (*self.0.stub)
                .delete_operation(self.0.request, self.0.options)
                .await
                .map(crate::Response::into_body)
        }

        /// Sets the value of [name][google_cloud_longrunning::model::DeleteOperationRequest::name].
        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.name = v.into();
            self
        }
    }

    #[doc(hidden)]
    impl crate::RequestBuilder for DeleteOperation {
        fn request_options(&mut self) -> &mut crate::RequestOptions {
            &mut self.0.options
        }
    }

    /// The request builder for [LicenseManager::cancel_operation][crate::client::LicenseManager::cancel_operation] calls.
    ///
    /// # Example
    /// ```
    /// # use google_cloud_licensemanager_v1::builder::license_manager::CancelOperation;
    /// # async fn sample() -> google_cloud_licensemanager_v1::Result<()> {
    ///
    /// let builder = prepare_request_builder();
    /// let response = builder.send().await?;
    /// # Ok(()) }
    ///
    /// fn prepare_request_builder() -> CancelOperation {
    ///   # panic!();
    ///   // ... details omitted ...
    /// }
    /// ```
    #[derive(Clone, Debug)]
    pub struct CancelOperation(
        RequestBuilder<google_cloud_longrunning::model::CancelOperationRequest>,
    );

    impl CancelOperation {
        pub(crate) fn new(
            stub: std::sync::Arc<dyn super::super::stub::dynamic::LicenseManager>,
        ) -> Self {
            Self(RequestBuilder::new(stub))
        }

        /// Sets the full request, replacing any prior values.
        pub fn with_request<V: Into<google_cloud_longrunning::model::CancelOperationRequest>>(
            mut self,
            v: V,
        ) -> Self {
            self.0.request = v.into();
            self
        }

        /// Sets all the options, replacing any prior values.
        pub fn with_options<V: Into<crate::RequestOptions>>(mut self, v: V) -> Self {
            self.0.options = v.into();
            self
        }

        /// Sends the request.
        pub async fn send(self) -> Result<()> {
            (*self.0.stub)
                .cancel_operation(self.0.request, self.0.options)
                .await
                .map(crate::Response::into_body)
        }

        /// Sets the value of [name][google_cloud_longrunning::model::CancelOperationRequest::name].
        pub fn set_name<T: Into<std::string::String>>(mut self, v: T) -> Self {
            self.0.request.name = v.into();
            self
        }
    }

    #[doc(hidden)]
    impl crate::RequestBuilder for CancelOperation {
        fn request_options(&mut self) -> &mut crate::RequestOptions {
            &mut self.0.options
        }
    }
}


==============================================================================
DOCUMENT e5b198d7f809311723889814d99a92f808c69e89a847efa7a7b65270f5fdeae6
==============================================================================
Apache Arrow
Copyright 2016-2026 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

This product includes software from the chronoutil crate (MIT)
 * Copyright (c) 2020-2022 Oliver Margetts
 * https://github.com/olliemath/chronoutil

This product includes software from the compact-thrift project (Apache 2.0)
 * Copyright Jörn Horstmann
 * https://github.com/jhorstmann/compact-thrift


==============================================================================
DOCUMENT e5df1a1e4be22b4b24531ad846438cb23883f0c98bb97d35158a113a411c503e
==============================================================================
// Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://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.


==============================================================================
DOCUMENT e635f612e61a783747a06d298c7d409573fa9abb79a204b648cdcd7f534c50aa
==============================================================================
/*
 * Copyright 2020 Actyx AG
 *
 * 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.
 */


==============================================================================
DOCUMENT e6be49f5608cf90f6b17ca48506967b7cd2ac6a1afafd16891395ea7eb35025a
==============================================================================
// Copyright 2015-2019 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT e82b60e540ed77cbb45789b5e80e5f1d5af296cf33b7a1dc398baf5cf2eba4df
==============================================================================
// Copyright 2016 The Servo Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT e8f9f0245cb25739da34251afe4411e3345cef45b31170975566f7d1a0313f9a
==============================================================================
#! /usr/bin/env perl
# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://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.


==============================================================================
DOCUMENT eafbfa606bc005ed7fd2f623d65af17ffe4ef7c017221ac14405bf4140771ea9
==============================================================================
Copyright (c) 2019 Eliza Weisman

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.


==============================================================================
DOCUMENT ebf31b3d15a1750ee6e7b880a14de13bcb6736b19d61c4fcef0ac3c816c34729
==============================================================================
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you 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.


==============================================================================
DOCUMENT ecc269ef87fd38a1d98e30bfac9ba964a9dbd9315c3770fed98d4d7cb5882055
==============================================================================
Copyright (c) 2016--2017

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.


==============================================================================
DOCUMENT edd65bdd88957a205c47d53fa499eed8865a70320f0f03f6391668cb304ea376
==============================================================================

                                 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 2024 Jacob Pratt et al.

   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.


==============================================================================
DOCUMENT ee0af6ac0629846be4aeaccce432c35b254cde9eb1819467e9bb3023ff5e8d21
==============================================================================
// Copyright 2016 David Judd.
// Copyright 2016 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT f025ccfb7dfb6bdfedc75ca0f67acc69e6fb4998143d834f7c2f38a29989680f
==============================================================================
Copyright 2015-2025 Brian Smith.

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT f0ce91d6d6f66e7be0ee4596d1b3292aa04eaa9fd459fb71047fc93e113435b5
==============================================================================
// SPDX-License-Identifier: BSD-2-Clause OR Apache-2.0 OR MIT
//
// Copyright 2025 The Fuchsia Authors
//
// Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0
// <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT
// license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
// This file may not be copied, modified, or distributed except according to
// those terms.


==============================================================================
DOCUMENT f126e3944c1566ef9983c6813f8fad671750e36edc82d409eb517832541a3b5a
==============================================================================
// Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
// Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://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.


==============================================================================
DOCUMENT f19171d4bdf293aeab9691045ffaf33e2b0be70c57d5d7f05092461aa4f04c7d
==============================================================================
/* origin: core-math/src/binary64/cbrt/cbrt.c
 * Copyright (c) 2021-2022 Alexei Sibidanov.
 * Ported to Rust in 2025 by Trevor Gross.
 */


==============================================================================
DOCUMENT f367c1b8e1aa262435251e442901da4607b4650e0e63a026f5044473ecfb90f2
==============================================================================
UNICODE LICENSE V3

COPYRIGHT AND PERMISSION NOTICE

Copyright © 2020-2024 Unicode, Inc.

NOTICE TO USER: Carefully read the following legal agreement. BY
DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT
DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.

Permission is hereby granted, free of charge, to any person obtaining a
copy of data files and any associated documentation (the "Data Files") or
software and any associated documentation (the "Software") to deal in the
Data Files or Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, and/or sell
copies of the Data Files or Software, and to permit persons to whom the
Data Files or Software are furnished to do so, provided that either (a)
this copyright and permission notice appear with all copies of the Data
Files or Software, or (b) this copyright and permission notice appear in
associated Documentation.

THE DATA FILES AND SOFTWARE ARE 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 OF
THIRD PARTY RIGHTS.

IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA
FILES OR SOFTWARE.

Except as contained in this notice, the name of a copyright holder shall
not be used in advertising or otherwise to promote the sale, use or other
dealings in these Data Files or Software without prior written
authorization of the copyright holder.

SPDX-License-Identifier: Unicode-3.0

—

Portions of ICU4X may have been adapted from ICU4C and/or ICU4J.
ICU 1.8.1 to ICU 57.1 © 1995-2016 International Business Machines Corporation and others.


==============================================================================
DOCUMENT f3e4452a50490fd9b5f1c5fea4cd3ed45a7ada46f81ddf2dd66bfab28a742b51
==============================================================================
// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT f59bcb1c02654665f78a5f290bae76b6358137675f6459f51e6d474a4623d8ea
==============================================================================
The MIT License (MIT)

Copyright (c) 2015 Jake Goulding

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.


==============================================================================
DOCUMENT f5cbe693d113f7e741c7fcff6320e653cf93d6268c9cafa89c52d2ceb98c3c2f
==============================================================================
// Copyright 2013-2015 The rust-url developers.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.


==============================================================================
DOCUMENT f7bdb3426d045cd50efd4953026e3eb5a83d0199f458a075602611b9344da5b9
==============================================================================
Copyright (c) 2013-2014 The Rust Project Developers.
Copyright (c) 2015-2020 The rust-hex Developers

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.


==============================================================================
DOCUMENT f7db81051789b729fea528a63ec4c938fdcb93d9d61d97dc8cc2e9df6d47f2a1
==============================================================================
UNICODE LICENSE V3

COPYRIGHT AND PERMISSION NOTICE

Copyright © 1991-2023 Unicode, Inc.

NOTICE TO USER: Carefully read the following legal agreement. BY
DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT
DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.

Permission is hereby granted, free of charge, to any person obtaining a
copy of data files and any associated documentation (the "Data Files") or
software and any associated documentation (the "Software") to deal in the
Data Files or Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, and/or sell
copies of the Data Files or Software, and to permit persons to whom the
Data Files or Software are furnished to do so, provided that either (a)
this copyright and permission notice appear with all copies of the Data
Files or Software, or (b) this copyright and permission notice appear in
associated Documentation.

THE DATA FILES AND SOFTWARE ARE 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 OF
THIRD PARTY RIGHTS.

IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA
FILES OR SOFTWARE.

Except as contained in this notice, the name of a copyright holder shall
not be used in advertising or otherwise to promote the sale, use or other
dealings in these Data Files or Software without prior written
authorization of the copyright holder.


==============================================================================
DOCUMENT f7e8b07af5dbeb50435a8283b617a329028a042217132bde21658d8896bac6fd
==============================================================================
/* Copyright (c) 2019, Google Inc.
 *
 * Permission to use, copy, modify, and/or distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */


==============================================================================
DOCUMENT f812a5adbf82bb30c24f3b732e62468b1f0166ab6808654a241de100c81986f6
==============================================================================
// SPDX-License-Identifier: BSD-2-Clause OR Apache-2.0 OR MIT
//
// Copyright 2025 The Fuchsia Authors
//
// Licensed under the 2-Clause BSD License <LICENSE-BSD or
// https://opensource.org/license/bsd-2-clause>, Apache License, Version 2.0
// <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT
// license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
// This file may not be copied, modified, or distributed except according to
// those terms.


==============================================================================
DOCUMENT f8218253704e32441cafea1b9b3bcb2c6a3c51c5553cd8513d179290202bccb2
==============================================================================
MIT License

Copyright (c) 2016 Paul Mason

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.


==============================================================================
DOCUMENT f888610a86bbfdcdc165d48b72792d373404a3094b39d258e628e26941ca110e
==============================================================================
// SPDX-License-Identifier: BSD-2-Clause OR Apache-2.0 OR MIT
//
// Copyright 2018 The Fuchsia Authors
//
// Licensed under the 2-Clause BSD License <LICENSE-BSD or
// https://opensource.org/license/bsd-2-clause>, Apache License, Version 2.0
// <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT
// license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
// This file may not be copied, modified, or distributed except according to
// those terms.


==============================================================================
DOCUMENT f9a3aa03962c942bfadecc02060c64911b44fa130ccf880612d2971d76615890
==============================================================================
/// # Potential improvements
///
/// * When generic specialization stabilizes prevent copying from `CString` arguments.
/// * `AuthorizationCopyRightsAsync`
/// * Provide constants for well known item names


==============================================================================
DOCUMENT fc8ac302a9b0a06beb0faf43dac7941ea58e51fbe5b1b2037f866430c948cee1
==============================================================================
// Copyright 2025 Google LLC
//
// 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
//
//     https://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.
//
// Code generated by sidekick. DO NOT EDIT.

#[allow(unused_imports)]
use super::*;

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::Configuration {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __name,
            __display_name,
            __product,
            __license_type,
            __current_billing_info,
            __next_billing_info,
            __create_time,
            __update_time,
            __labels,
            __state,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for Configuration")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "name" => Ok(__FieldTag::__name),
                            "displayName" => Ok(__FieldTag::__display_name),
                            "display_name" => Ok(__FieldTag::__display_name),
                            "product" => Ok(__FieldTag::__product),
                            "licenseType" => Ok(__FieldTag::__license_type),
                            "license_type" => Ok(__FieldTag::__license_type),
                            "currentBillingInfo" => Ok(__FieldTag::__current_billing_info),
                            "current_billing_info" => Ok(__FieldTag::__current_billing_info),
                            "nextBillingInfo" => Ok(__FieldTag::__next_billing_info),
                            "next_billing_info" => Ok(__FieldTag::__next_billing_info),
                            "createTime" => Ok(__FieldTag::__create_time),
                            "create_time" => Ok(__FieldTag::__create_time),
                            "updateTime" => Ok(__FieldTag::__update_time),
                            "update_time" => Ok(__FieldTag::__update_time),
                            "labels" => Ok(__FieldTag::__labels),
                            "state" => Ok(__FieldTag::__state),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::Configuration;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct Configuration")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__name => {
                            if !fields.insert(__FieldTag::__name) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for name",
                                ));
                            }
                            result.name = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__display_name => {
                            if !fields.insert(__FieldTag::__display_name) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for display_name",
                                ));
                            }
                            result.display_name = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__product => {
                            if !fields.insert(__FieldTag::__product) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for product",
                                ));
                            }
                            result.product = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__license_type => {
                            if !fields.insert(__FieldTag::__license_type) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for license_type",
                                ));
                            }
                            result.license_type = map
                                .next_value::<std::option::Option<crate::model::LicenseType>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__current_billing_info => {
                            if !fields.insert(__FieldTag::__current_billing_info) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for current_billing_info",
                                ));
                            }
                            result.current_billing_info =
                                map.next_value::<std::option::Option<crate::model::BillingInfo>>()?;
                        }
                        __FieldTag::__next_billing_info => {
                            if !fields.insert(__FieldTag::__next_billing_info) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for next_billing_info",
                                ));
                            }
                            result.next_billing_info =
                                map.next_value::<std::option::Option<crate::model::BillingInfo>>()?;
                        }
                        __FieldTag::__create_time => {
                            if !fields.insert(__FieldTag::__create_time) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for create_time",
                                ));
                            }
                            result.create_time =
                                map.next_value::<std::option::Option<wkt::Timestamp>>()?;
                        }
                        __FieldTag::__update_time => {
                            if !fields.insert(__FieldTag::__update_time) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for update_time",
                                ));
                            }
                            result.update_time =
                                map.next_value::<std::option::Option<wkt::Timestamp>>()?;
                        }
                        __FieldTag::__labels => {
                            if !fields.insert(__FieldTag::__labels) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for labels",
                                ));
                            }
                            result.labels = map
                                .next_value::<std::option::Option<
                                    std::collections::HashMap<
                                        std::string::String,
                                        std::string::String,
                                    >,
                                >>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__state => {
                            if !fields.insert(__FieldTag::__state) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for state",
                                ));
                            }
                            result.state = map.next_value::<std::option::Option<crate::model::configuration::State>>()?.unwrap_or_default();
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::BillingInfo {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __user_count_billing,
            __start_time,
            __end_time,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for BillingInfo")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "userCountBilling" => Ok(__FieldTag::__user_count_billing),
                            "user_count_billing" => Ok(__FieldTag::__user_count_billing),
                            "startTime" => Ok(__FieldTag::__start_time),
                            "start_time" => Ok(__FieldTag::__start_time),
                            "endTime" => Ok(__FieldTag::__end_time),
                            "end_time" => Ok(__FieldTag::__end_time),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::BillingInfo;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct BillingInfo")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__user_count_billing => {
                            if !fields.insert(__FieldTag::__user_count_billing) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for user_count_billing",
                                ));
                            }
                            if result.current_billing_info.is_some() {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for `current_billing_info`, a oneof with full ID .google.cloud.licensemanager.v1.BillingInfo.user_count_billing, latest field was userCountBilling",
                                ));
                            }
                            result.current_billing_info = std::option::Option::Some(
                                crate::model::billing_info::CurrentBillingInfo::UserCountBilling(
                                    map.next_value::<std::option::Option<
                                        std::boxed::Box<crate::model::UserCountBillingInfo>,
                                    >>()?
                                    .unwrap_or_default(),
                                ),
                            );
                        }
                        __FieldTag::__start_time => {
                            if !fields.insert(__FieldTag::__start_time) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for start_time",
                                ));
                            }
                            result.start_time =
                                map.next_value::<std::option::Option<wkt::Timestamp>>()?;
                        }
                        __FieldTag::__end_time => {
                            if !fields.insert(__FieldTag::__end_time) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for end_time",
                                ));
                            }
                            result.end_time =
                                map.next_value::<std::option::Option<wkt::Timestamp>>()?;
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::UserCountBillingInfo {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __user_count,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for UserCountBillingInfo")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "userCount" => Ok(__FieldTag::__user_count),
                            "user_count" => Ok(__FieldTag::__user_count),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::UserCountBillingInfo;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct UserCountBillingInfo")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__user_count => {
                            if !fields.insert(__FieldTag::__user_count) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for user_count",
                                ));
                            }
                            struct __With(std::option::Option<i32>);
                            impl<'de> serde::de::Deserialize<'de> for __With {
                                fn deserialize<D>(
                                    deserializer: D,
                                ) -> std::result::Result<Self, D::Error>
                                where
                                    D: serde::de::Deserializer<'de>,
                                {
                                    serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
                                }
                            }
                            result.user_count = map.next_value::<__With>()?.0.unwrap_or_default();
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::UserCountUsage {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __unique_user_count,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for UserCountUsage")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "uniqueUserCount" => Ok(__FieldTag::__unique_user_count),
                            "unique_user_count" => Ok(__FieldTag::__unique_user_count),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::UserCountUsage;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct UserCountUsage")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__unique_user_count => {
                            if !fields.insert(__FieldTag::__unique_user_count) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for unique_user_count",
                                ));
                            }
                            struct __With(std::option::Option<i32>);
                            impl<'de> serde::de::Deserialize<'de> for __With {
                                fn deserialize<D>(
                                    deserializer: D,
                                ) -> std::result::Result<Self, D::Error>
                                where
                                    D: serde::de::Deserializer<'de>,
                                {
                                    serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
                                }
                            }
                            result.unique_user_count =
                                map.next_value::<__With>()?.0.unwrap_or_default();
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::Product {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __name,
            __version,
            __product_company,
            __state,
            __sku,
            __description,
            __display_name,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for Product")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "name" => Ok(__FieldTag::__name),
                            "version" => Ok(__FieldTag::__version),
                            "productCompany" => Ok(__FieldTag::__product_company),
                            "product_company" => Ok(__FieldTag::__product_company),
                            "state" => Ok(__FieldTag::__state),
                            "sku" => Ok(__FieldTag::__sku),
                            "description" => Ok(__FieldTag::__description),
                            "displayName" => Ok(__FieldTag::__display_name),
                            "display_name" => Ok(__FieldTag::__display_name),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::Product;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct Product")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__name => {
                            if !fields.insert(__FieldTag::__name) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for name",
                                ));
                            }
                            result.name = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__version => {
                            if !fields.insert(__FieldTag::__version) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for version",
                                ));
                            }
                            result.version = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__product_company => {
                            if !fields.insert(__FieldTag::__product_company) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for product_company",
                                ));
                            }
                            result.product_company = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__state => {
                            if !fields.insert(__FieldTag::__state) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for state",
                                ));
                            }
                            result.state = map
                                .next_value::<std::option::Option<crate::model::product::State>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__sku => {
                            if !fields.insert(__FieldTag::__sku) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for sku",
                                ));
                            }
                            result.sku = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__description => {
                            if !fields.insert(__FieldTag::__description) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for description",
                                ));
                            }
                            result.description = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__display_name => {
                            if !fields.insert(__FieldTag::__display_name) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for display_name",
                                ));
                            }
                            result.display_name = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::Instance {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __name,
            __create_time,
            __update_time,
            __labels,
            __state,
            __region,
            __product_activation,
            __license_version_id,
            __compute_instance,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for Instance")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "name" => Ok(__FieldTag::__name),
                            "createTime" => Ok(__FieldTag::__create_time),
                            "create_time" => Ok(__FieldTag::__create_time),
                            "updateTime" => Ok(__FieldTag::__update_time),
                            "update_time" => Ok(__FieldTag::__update_time),
                            "labels" => Ok(__FieldTag::__labels),
                            "state" => Ok(__FieldTag::__state),
                            "region" => Ok(__FieldTag::__region),
                            "productActivation" => Ok(__FieldTag::__product_activation),
                            "product_activation" => Ok(__FieldTag::__product_activation),
                            "licenseVersionId" => Ok(__FieldTag::__license_version_id),
                            "license_version_id" => Ok(__FieldTag::__license_version_id),
                            "computeInstance" => Ok(__FieldTag::__compute_instance),
                            "compute_instance" => Ok(__FieldTag::__compute_instance),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::Instance;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct Instance")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__name => {
                            if !fields.insert(__FieldTag::__name) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for name",
                                ));
                            }
                            result.name = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__create_time => {
                            if !fields.insert(__FieldTag::__create_time) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for create_time",
                                ));
                            }
                            result.create_time =
                                map.next_value::<std::option::Option<wkt::Timestamp>>()?;
                        }
                        __FieldTag::__update_time => {
                            if !fields.insert(__FieldTag::__update_time) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for update_time",
                                ));
                            }
                            result.update_time =
                                map.next_value::<std::option::Option<wkt::Timestamp>>()?;
                        }
                        __FieldTag::__labels => {
                            if !fields.insert(__FieldTag::__labels) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for labels",
                                ));
                            }
                            result.labels = map
                                .next_value::<std::option::Option<
                                    std::collections::HashMap<
                                        std::string::String,
                                        std::string::String,
                                    >,
                                >>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__state => {
                            if !fields.insert(__FieldTag::__state) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for state",
                                ));
                            }
                            result.state = map
                                .next_value::<std::option::Option<crate::model::instance::State>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__region => {
                            if !fields.insert(__FieldTag::__region) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for region",
                                ));
                            }
                            result.region = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__product_activation => {
                            if !fields.insert(__FieldTag::__product_activation) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for product_activation",
                                ));
                            }
                            result.product_activation = map
                                .next_value::<std::option::Option<
                                    std::collections::HashMap<
                                        std::string::String,
                                        crate::model::ActivationState,
                                    >,
                                >>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__license_version_id => {
                            if !fields.insert(__FieldTag::__license_version_id) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for license_version_id",
                                ));
                            }
                            result.license_version_id = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__compute_instance => {
                            if !fields.insert(__FieldTag::__compute_instance) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for compute_instance",
                                ));
                            }
                            result.compute_instance = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::Usage {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __lima_instance,
            __users,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for Usage")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "limaInstance" => Ok(__FieldTag::__lima_instance),
                            "lima_instance" => Ok(__FieldTag::__lima_instance),
                            "users" => Ok(__FieldTag::__users),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::Usage;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct Usage")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__lima_instance => {
                            if !fields.insert(__FieldTag::__lima_instance) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for lima_instance",
                                ));
                            }
                            result.lima_instance = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__users => {
                            if !fields.insert(__FieldTag::__users) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for users",
                                ));
                            }
                            struct __With(std::option::Option<i32>);
                            impl<'de> serde::de::Deserialize<'de> for __With {
                                fn deserialize<D>(
                                    deserializer: D,
                                ) -> std::result::Result<Self, D::Error>
                                where
                                    D: serde::de::Deserializer<'de>,
                                {
                                    serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
                                }
                            }
                            result.users = map.next_value::<__With>()?.0.unwrap_or_default();
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::ListConfigurationsRequest {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __parent,
            __page_size,
            __page_token,
            __filter,
            __order_by,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for ListConfigurationsRequest")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "parent" => Ok(__FieldTag::__parent),
                            "pageSize" => Ok(__FieldTag::__page_size),
                            "page_size" => Ok(__FieldTag::__page_size),
                            "pageToken" => Ok(__FieldTag::__page_token),
                            "page_token" => Ok(__FieldTag::__page_token),
                            "filter" => Ok(__FieldTag::__filter),
                            "orderBy" => Ok(__FieldTag::__order_by),
                            "order_by" => Ok(__FieldTag::__order_by),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::ListConfigurationsRequest;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct ListConfigurationsRequest")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__parent => {
                            if !fields.insert(__FieldTag::__parent) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for parent",
                                ));
                            }
                            result.parent = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__page_size => {
                            if !fields.insert(__FieldTag::__page_size) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for page_size",
                                ));
                            }
                            struct __With(std::option::Option<i32>);
                            impl<'de> serde::de::Deserialize<'de> for __With {
                                fn deserialize<D>(
                                    deserializer: D,
                                ) -> std::result::Result<Self, D::Error>
                                where
                                    D: serde::de::Deserializer<'de>,
                                {
                                    serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
                                }
                            }
                            result.page_size = map.next_value::<__With>()?.0.unwrap_or_default();
                        }
                        __FieldTag::__page_token => {
                            if !fields.insert(__FieldTag::__page_token) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for page_token",
                                ));
                            }
                            result.page_token = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__filter => {
                            if !fields.insert(__FieldTag::__filter) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for filter",
                                ));
                            }
                            result.filter = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__order_by => {
                            if !fields.insert(__FieldTag::__order_by) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for order_by",
                                ));
                            }
                            result.order_by = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::ListConfigurationsResponse {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __configurations,
            __next_page_token,
            __unreachable,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for ListConfigurationsResponse")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "configurations" => Ok(__FieldTag::__configurations),
                            "nextPageToken" => Ok(__FieldTag::__next_page_token),
                            "next_page_token" => Ok(__FieldTag::__next_page_token),
                            "unreachable" => Ok(__FieldTag::__unreachable),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::ListConfigurationsResponse;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct ListConfigurationsResponse")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__configurations => {
                            if !fields.insert(__FieldTag::__configurations) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for configurations",
                                ));
                            }
                            result.configurations = map.next_value::<std::option::Option<std::vec::Vec<crate::model::Configuration>>>()?.unwrap_or_default();
                        }
                        __FieldTag::__next_page_token => {
                            if !fields.insert(__FieldTag::__next_page_token) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for next_page_token",
                                ));
                            }
                            result.next_page_token = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__unreachable => {
                            if !fields.insert(__FieldTag::__unreachable) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for unreachable",
                                ));
                            }
                            result.unreachable = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::GetConfigurationRequest {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __name,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for GetConfigurationRequest")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "name" => Ok(__FieldTag::__name),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::GetConfigurationRequest;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct GetConfigurationRequest")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__name => {
                            if !fields.insert(__FieldTag::__name) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for name",
                                ));
                            }
                            result.name = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::CreateConfigurationRequest {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __parent,
            __configuration_id,
            __configuration,
            __request_id,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for CreateConfigurationRequest")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "parent" => Ok(__FieldTag::__parent),
                            "configurationId" => Ok(__FieldTag::__configuration_id),
                            "configuration_id" => Ok(__FieldTag::__configuration_id),
                            "configuration" => Ok(__FieldTag::__configuration),
                            "requestId" => Ok(__FieldTag::__request_id),
                            "request_id" => Ok(__FieldTag::__request_id),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::CreateConfigurationRequest;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct CreateConfigurationRequest")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__parent => {
                            if !fields.insert(__FieldTag::__parent) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for parent",
                                ));
                            }
                            result.parent = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__configuration_id => {
                            if !fields.insert(__FieldTag::__configuration_id) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for configuration_id",
                                ));
                            }
                            result.configuration_id = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__configuration => {
                            if !fields.insert(__FieldTag::__configuration) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for configuration",
                                ));
                            }
                            result.configuration = map
                                .next_value::<std::option::Option<crate::model::Configuration>>()?;
                        }
                        __FieldTag::__request_id => {
                            if !fields.insert(__FieldTag::__request_id) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for request_id",
                                ));
                            }
                            result.request_id = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::UpdateConfigurationRequest {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __update_mask,
            __configuration,
            __request_id,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for UpdateConfigurationRequest")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "updateMask" => Ok(__FieldTag::__update_mask),
                            "update_mask" => Ok(__FieldTag::__update_mask),
                            "configuration" => Ok(__FieldTag::__configuration),
                            "requestId" => Ok(__FieldTag::__request_id),
                            "request_id" => Ok(__FieldTag::__request_id),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::UpdateConfigurationRequest;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct UpdateConfigurationRequest")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__update_mask => {
                            if !fields.insert(__FieldTag::__update_mask) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for update_mask",
                                ));
                            }
                            result.update_mask =
                                map.next_value::<std::option::Option<wkt::FieldMask>>()?;
                        }
                        __FieldTag::__configuration => {
                            if !fields.insert(__FieldTag::__configuration) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for configuration",
                                ));
                            }
                            result.configuration = map
                                .next_value::<std::option::Option<crate::model::Configuration>>()?;
                        }
                        __FieldTag::__request_id => {
                            if !fields.insert(__FieldTag::__request_id) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for request_id",
                                ));
                            }
                            result.request_id = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::DeleteConfigurationRequest {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __name,
            __request_id,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for DeleteConfigurationRequest")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "name" => Ok(__FieldTag::__name),
                            "requestId" => Ok(__FieldTag::__request_id),
                            "request_id" => Ok(__FieldTag::__request_id),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::DeleteConfigurationRequest;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct DeleteConfigurationRequest")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__name => {
                            if !fields.insert(__FieldTag::__name) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for name",
                                ));
                            }
                            result.name = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__request_id => {
                            if !fields.insert(__FieldTag::__request_id) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for request_id",
                                ));
                            }
                            result.request_id = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::ListInstancesRequest {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __parent,
            __page_size,
            __page_token,
            __filter,
            __order_by,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for ListInstancesRequest")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "parent" => Ok(__FieldTag::__parent),
                            "pageSize" => Ok(__FieldTag::__page_size),
                            "page_size" => Ok(__FieldTag::__page_size),
                            "pageToken" => Ok(__FieldTag::__page_token),
                            "page_token" => Ok(__FieldTag::__page_token),
                            "filter" => Ok(__FieldTag::__filter),
                            "orderBy" => Ok(__FieldTag::__order_by),
                            "order_by" => Ok(__FieldTag::__order_by),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::ListInstancesRequest;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct ListInstancesRequest")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__parent => {
                            if !fields.insert(__FieldTag::__parent) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for parent",
                                ));
                            }
                            result.parent = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__page_size => {
                            if !fields.insert(__FieldTag::__page_size) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for page_size",
                                ));
                            }
                            struct __With(std::option::Option<i32>);
                            impl<'de> serde::de::Deserialize<'de> for __With {
                                fn deserialize<D>(
                                    deserializer: D,
                                ) -> std::result::Result<Self, D::Error>
                                where
                                    D: serde::de::Deserializer<'de>,
                                {
                                    serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
                                }
                            }
                            result.page_size = map.next_value::<__With>()?.0.unwrap_or_default();
                        }
                        __FieldTag::__page_token => {
                            if !fields.insert(__FieldTag::__page_token) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for page_token",
                                ));
                            }
                            result.page_token = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__filter => {
                            if !fields.insert(__FieldTag::__filter) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for filter",
                                ));
                            }
                            result.filter = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__order_by => {
                            if !fields.insert(__FieldTag::__order_by) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for order_by",
                                ));
                            }
                            result.order_by = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::ListInstancesResponse {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __instances,
            __next_page_token,
            __unreachable,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for ListInstancesResponse")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "instances" => Ok(__FieldTag::__instances),
                            "nextPageToken" => Ok(__FieldTag::__next_page_token),
                            "next_page_token" => Ok(__FieldTag::__next_page_token),
                            "unreachable" => Ok(__FieldTag::__unreachable),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::ListInstancesResponse;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct ListInstancesResponse")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__instances => {
                            if !fields.insert(__FieldTag::__instances) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for instances",
                                ));
                            }
                            result.instances = map.next_value::<std::option::Option<std::vec::Vec<crate::model::Instance>>>()?.unwrap_or_default();
                        }
                        __FieldTag::__next_page_token => {
                            if !fields.insert(__FieldTag::__next_page_token) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for next_page_token",
                                ));
                            }
                            result.next_page_token = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__unreachable => {
                            if !fields.insert(__FieldTag::__unreachable) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for unreachable",
                                ));
                            }
                            result.unreachable = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::GetInstanceRequest {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __name,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for GetInstanceRequest")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "name" => Ok(__FieldTag::__name),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::GetInstanceRequest;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct GetInstanceRequest")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__name => {
                            if !fields.insert(__FieldTag::__name) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for name",
                                ));
                            }
                            result.name = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::QueryConfigurationLicenseUsageRequest {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __name,
            __start_time,
            __end_time,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter
                            .write_str("a field name for QueryConfigurationLicenseUsageRequest")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "name" => Ok(__FieldTag::__name),
                            "startTime" => Ok(__FieldTag::__start_time),
                            "start_time" => Ok(__FieldTag::__start_time),
                            "endTime" => Ok(__FieldTag::__end_time),
                            "end_time" => Ok(__FieldTag::__end_time),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::QueryConfigurationLicenseUsageRequest;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct QueryConfigurationLicenseUsageRequest")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__name => {
                            if !fields.insert(__FieldTag::__name) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for name",
                                ));
                            }
                            result.name = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__start_time => {
                            if !fields.insert(__FieldTag::__start_time) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for start_time",
                                ));
                            }
                            result.start_time =
                                map.next_value::<std::option::Option<wkt::Timestamp>>()?;
                        }
                        __FieldTag::__end_time => {
                            if !fields.insert(__FieldTag::__end_time) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for end_time",
                                ));
                            }
                            result.end_time =
                                map.next_value::<std::option::Option<wkt::Timestamp>>()?;
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::QueryConfigurationLicenseUsageResponse {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __user_count_usage,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter
                            .write_str("a field name for QueryConfigurationLicenseUsageResponse")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "userCountUsage" => Ok(__FieldTag::__user_count_usage),
                            "user_count_usage" => Ok(__FieldTag::__user_count_usage),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::QueryConfigurationLicenseUsageResponse;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct QueryConfigurationLicenseUsageResponse")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__user_count_usage => {
                            if !fields.insert(__FieldTag::__user_count_usage) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for user_count_usage",
                                ));
                            }
                            if result.details.is_some() {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for `details`, a oneof with full ID .google.cloud.licensemanager.v1.QueryConfigurationLicenseUsageResponse.user_count_usage, latest field was userCountUsage",
                                ));
                            }
                            result.details = std::option::Option::Some(
                                crate::model::query_configuration_license_usage_response::Details::UserCountUsage(
                                    map.next_value::<std::option::Option<std::boxed::Box<crate::model::UserCountUsage>>>()?.unwrap_or_default()
                                ),
                            );
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::DeactivateConfigurationRequest {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __name,
            __request_id,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for DeactivateConfigurationRequest")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "name" => Ok(__FieldTag::__name),
                            "requestId" => Ok(__FieldTag::__request_id),
                            "request_id" => Ok(__FieldTag::__request_id),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::DeactivateConfigurationRequest;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct DeactivateConfigurationRequest")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__name => {
                            if !fields.insert(__FieldTag::__name) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for name",
                                ));
                            }
                            result.name = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__request_id => {
                            if !fields.insert(__FieldTag::__request_id) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for request_id",
                                ));
                            }
                            result.request_id = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::ReactivateConfigurationRequest {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __name,
            __request_id,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for ReactivateConfigurationRequest")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "name" => Ok(__FieldTag::__name),
                            "requestId" => Ok(__FieldTag::__request_id),
                            "request_id" => Ok(__FieldTag::__request_id),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::ReactivateConfigurationRequest;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct ReactivateConfigurationRequest")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__name => {
                            if !fields.insert(__FieldTag::__name) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for name",
                                ));
                            }
                            result.name = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__request_id => {
                            if !fields.insert(__FieldTag::__request_id) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for request_id",
                                ));
                            }
                            result.request_id = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::AggregateUsageRequest {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __name,
            __page_size,
            __page_token,
            __filter,
            __order_by,
            __start_time,
            __end_time,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for AggregateUsageRequest")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "name" => Ok(__FieldTag::__name),
                            "pageSize" => Ok(__FieldTag::__page_size),
                            "page_size" => Ok(__FieldTag::__page_size),
                            "pageToken" => Ok(__FieldTag::__page_token),
                            "page_token" => Ok(__FieldTag::__page_token),
                            "filter" => Ok(__FieldTag::__filter),
                            "orderBy" => Ok(__FieldTag::__order_by),
                            "order_by" => Ok(__FieldTag::__order_by),
                            "startTime" => Ok(__FieldTag::__start_time),
                            "start_time" => Ok(__FieldTag::__start_time),
                            "endTime" => Ok(__FieldTag::__end_time),
                            "end_time" => Ok(__FieldTag::__end_time),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::AggregateUsageRequest;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct AggregateUsageRequest")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__name => {
                            if !fields.insert(__FieldTag::__name) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for name",
                                ));
                            }
                            result.name = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__page_size => {
                            if !fields.insert(__FieldTag::__page_size) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for page_size",
                                ));
                            }
                            struct __With(std::option::Option<i32>);
                            impl<'de> serde::de::Deserialize<'de> for __With {
                                fn deserialize<D>(
                                    deserializer: D,
                                ) -> std::result::Result<Self, D::Error>
                                where
                                    D: serde::de::Deserializer<'de>,
                                {
                                    serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
                                }
                            }
                            result.page_size = map.next_value::<__With>()?.0.unwrap_or_default();
                        }
                        __FieldTag::__page_token => {
                            if !fields.insert(__FieldTag::__page_token) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for page_token",
                                ));
                            }
                            result.page_token = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__filter => {
                            if !fields.insert(__FieldTag::__filter) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for filter",
                                ));
                            }
                            result.filter = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__order_by => {
                            if !fields.insert(__FieldTag::__order_by) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for order_by",
                                ));
                            }
                            result.order_by = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__start_time => {
                            if !fields.insert(__FieldTag::__start_time) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for start_time",
                                ));
                            }
                            result.start_time =
                                map.next_value::<std::option::Option<wkt::Timestamp>>()?;
                        }
                        __FieldTag::__end_time => {
                            if !fields.insert(__FieldTag::__end_time) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for end_time",
                                ));
                            }
                            result.end_time =
                                map.next_value::<std::option::Option<wkt::Timestamp>>()?;
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::AggregateUsageResponse {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __usages,
            __next_page_token,
            __unreachable,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for AggregateUsageResponse")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "usages" => Ok(__FieldTag::__usages),
                            "nextPageToken" => Ok(__FieldTag::__next_page_token),
                            "next_page_token" => Ok(__FieldTag::__next_page_token),
                            "unreachable" => Ok(__FieldTag::__unreachable),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::AggregateUsageResponse;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct AggregateUsageResponse")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__usages => {
                            if !fields.insert(__FieldTag::__usages) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for usages",
                                ));
                            }
                            result.usages = map.next_value::<std::option::Option<std::vec::Vec<crate::model::Usage>>>()?.unwrap_or_default();
                        }
                        __FieldTag::__next_page_token => {
                            if !fields.insert(__FieldTag::__next_page_token) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for next_page_token",
                                ));
                            }
                            result.next_page_token = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__unreachable => {
                            if !fields.insert(__FieldTag::__unreachable) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for unreachable",
                                ));
                            }
                            result.unreachable = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::ListProductsRequest {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __parent,
            __page_size,
            __page_token,
            __filter,
            __order_by,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for ListProductsRequest")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "parent" => Ok(__FieldTag::__parent),
                            "pageSize" => Ok(__FieldTag::__page_size),
                            "page_size" => Ok(__FieldTag::__page_size),
                            "pageToken" => Ok(__FieldTag::__page_token),
                            "page_token" => Ok(__FieldTag::__page_token),
                            "filter" => Ok(__FieldTag::__filter),
                            "orderBy" => Ok(__FieldTag::__order_by),
                            "order_by" => Ok(__FieldTag::__order_by),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::ListProductsRequest;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct ListProductsRequest")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__parent => {
                            if !fields.insert(__FieldTag::__parent) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for parent",
                                ));
                            }
                            result.parent = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__page_size => {
                            if !fields.insert(__FieldTag::__page_size) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for page_size",
                                ));
                            }
                            struct __With(std::option::Option<i32>);
                            impl<'de> serde::de::Deserialize<'de> for __With {
                                fn deserialize<D>(
                                    deserializer: D,
                                ) -> std::result::Result<Self, D::Error>
                                where
                                    D: serde::de::Deserializer<'de>,
                                {
                                    serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
                                }
                            }
                            result.page_size = map.next_value::<__With>()?.0.unwrap_or_default();
                        }
                        __FieldTag::__page_token => {
                            if !fields.insert(__FieldTag::__page_token) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for page_token",
                                ));
                            }
                            result.page_token = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__filter => {
                            if !fields.insert(__FieldTag::__filter) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for filter",
                                ));
                            }
                            result.filter = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__order_by => {
                            if !fields.insert(__FieldTag::__order_by) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for order_by",
                                ));
                            }
                            result.order_by = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::ListProductsResponse {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __products,
            __next_page_token,
            __unreachable,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for ListProductsResponse")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "products" => Ok(__FieldTag::__products),
                            "nextPageToken" => Ok(__FieldTag::__next_page_token),
                            "next_page_token" => Ok(__FieldTag::__next_page_token),
                            "unreachable" => Ok(__FieldTag::__unreachable),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::ListProductsResponse;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct ListProductsResponse")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__products => {
                            if !fields.insert(__FieldTag::__products) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for products",
                                ));
                            }
                            result.products = map.next_value::<std::option::Option<std::vec::Vec<crate::model::Product>>>()?.unwrap_or_default();
                        }
                        __FieldTag::__next_page_token => {
                            if !fields.insert(__FieldTag::__next_page_token) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for next_page_token",
                                ));
                            }
                            result.next_page_token = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__unreachable => {
                            if !fields.insert(__FieldTag::__unreachable) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for unreachable",
                                ));
                            }
                            result.unreachable = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::GetProductRequest {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __name,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for GetProductRequest")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "name" => Ok(__FieldTag::__name),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::GetProductRequest;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct GetProductRequest")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__name => {
                            if !fields.insert(__FieldTag::__name) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for name",
                                ));
                            }
                            result.name = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}

#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::OperationMetadata {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[allow(non_camel_case_types)]
        #[doc(hidden)]
        #[derive(PartialEq, Eq, Hash)]
        enum __FieldTag {
            __create_time,
            __end_time,
            __target,
            __verb,
            __status_message,
            __requested_cancellation,
            __api_version,
            Unknown(std::string::String),
        }
        impl<'de> serde::de::Deserialize<'de> for __FieldTag {
            fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
            where
                D: serde::Deserializer<'de>,
            {
                struct Visitor;
                impl<'de> serde::de::Visitor<'de> for Visitor {
                    type Value = __FieldTag;
                    fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                        formatter.write_str("a field name for OperationMetadata")
                    }
                    fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
                    where
                        E: serde::de::Error,
                    {
                        use std::result::Result::Ok;
                        use std::string::ToString;
                        match value {
                            "createTime" => Ok(__FieldTag::__create_time),
                            "create_time" => Ok(__FieldTag::__create_time),
                            "endTime" => Ok(__FieldTag::__end_time),
                            "end_time" => Ok(__FieldTag::__end_time),
                            "target" => Ok(__FieldTag::__target),
                            "verb" => Ok(__FieldTag::__verb),
                            "statusMessage" => Ok(__FieldTag::__status_message),
                            "status_message" => Ok(__FieldTag::__status_message),
                            "requestedCancellation" => Ok(__FieldTag::__requested_cancellation),
                            "requested_cancellation" => Ok(__FieldTag::__requested_cancellation),
                            "apiVersion" => Ok(__FieldTag::__api_version),
                            "api_version" => Ok(__FieldTag::__api_version),
                            _ => Ok(__FieldTag::Unknown(value.to_string())),
                        }
                    }
                }
                deserializer.deserialize_identifier(Visitor)
            }
        }
        struct Visitor;
        impl<'de> serde::de::Visitor<'de> for Visitor {
            type Value = super::OperationMetadata;
            fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
                formatter.write_str("struct OperationMetadata")
            }
            fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
            where
                A: serde::de::MapAccess<'de>,
            {
                #[allow(unused_imports)]
                use serde::de::Error;
                use std::option::Option::Some;
                let mut fields = std::collections::HashSet::new();
                let mut result = Self::Value::new();
                while let Some(tag) = map.next_key::<__FieldTag>()? {
                    #[allow(clippy::match_single_binding)]
                    match tag {
                        __FieldTag::__create_time => {
                            if !fields.insert(__FieldTag::__create_time) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for create_time",
                                ));
                            }
                            result.create_time =
                                map.next_value::<std::option::Option<wkt::Timestamp>>()?;
                        }
                        __FieldTag::__end_time => {
                            if !fields.insert(__FieldTag::__end_time) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for end_time",
                                ));
                            }
                            result.end_time =
                                map.next_value::<std::option::Option<wkt::Timestamp>>()?;
                        }
                        __FieldTag::__target => {
                            if !fields.insert(__FieldTag::__target) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for target",
                                ));
                            }
                            result.target = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__verb => {
                            if !fields.insert(__FieldTag::__verb) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for verb",
                                ));
                            }
                            result.verb = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__status_message => {
                            if !fields.insert(__FieldTag::__status_message) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for status_message",
                                ));
                            }
                            result.status_message = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__requested_cancellation => {
                            if !fields.insert(__FieldTag::__requested_cancellation) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for requested_cancellation",
                                ));
                            }
                            result.requested_cancellation = map
                                .next_value::<std::option::Option<bool>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::__api_version => {
                            if !fields.insert(__FieldTag::__api_version) {
                                return std::result::Result::Err(A::Error::duplicate_field(
                                    "multiple values for api_version",
                                ));
                            }
                            result.api_version = map
                                .next_value::<std::option::Option<std::string::String>>()?
                                .unwrap_or_default();
                        }
                        __FieldTag::Unknown(key) => {
                            let value = map.next_value::<serde_json::Value>()?;
                            result._unknown_fields.insert(key, value);
                        }
                    }
                }
                std::result::Result::Ok(result)
            }
        }
        deserializer.deserialize_any(Visitor)
    }
}


==============================================================================
DOCUMENT fd80a26fbb3f644af1fa994134446702932968519797227e07a1368dea80f0bc
==============================================================================
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.


==============================================================================
DOCUMENT fea1e7957d9e391d2f48d8a875807b136d7fc00144249e7e3ba41e73c8218f72
==============================================================================
// Copyright 2015-2023 Brian Smith.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


==============================================================================
DOCUMENT febed558a6be507d6a0a1644a4aeb21d6adbe39f5384a3f51d6e4087c64a933f
==============================================================================
// Copyright 2021 Brian Smith.
// Portions Copyright (c) 2014, Google Inc.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
// Adapted from the public domain, estream code by D. Bernstein.
// Adapted from the BoringSSL crypto/chacha/chacha.c.


==============================================================================
DOCUMENT ff3f1cd12af8866d9bde961d6cc40df774cd131d484de31d3170c4b02b21a7b5
==============================================================================
Copyright (c) 2017 arc-swap developers

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.


==============================================================================
DOCUMENT ff8f68cb076caf8cefe7a6430d4ac086ce6af2ca8ce2c4e5a2004d4552ef52a2
==============================================================================
Copyright (c) 2016 Amanieu d'Antras

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.
