From 30135431890ccb31284fe323a74eeeeaed3b75a5 Mon Sep 17 00:00:00 2001 From: Hannes Mehnert Date: Wed, 28 Feb 2024 14:59:04 +0100 Subject: [PATCH] mirage-crypto-ec: remove NIST P224 support --- bench/speed.ml | 16 - ec/dune | 4 +- ec/gen_tables/gen_tables.ml | 3 +- ec/mirage_crypto_ec.ml | 50 - ec/mirage_crypto_ec.mli | 4 - ec/native/GNUmakefile | 42 +- ec/native/np224_32.h | 3635 ------ ec/native/np224_64.h | 1751 --- ec/native/np224_stubs.c | 79 - ec/native/p224_32.h | 3975 ------- ec/native/p224_64.h | 2073 ---- ec/native/p224_stubs.c | 159 - ec/native/p224_tables_32.h | 11885 -------------------- ec/native/p224_tables_64.h | 13581 ----------------------- mirage-crypto-ec.opam | 2 +- tests/dune | 4 +- tests/ecdsa_secp224r1_sha224_test.json | 4218 ------- tests/ecdsa_secp224r1_sha256_test.json | 4447 -------- tests/ecdsa_secp224r1_sha512_test.json | 5002 --------- tests/test_ec.ml | 97 - tests/test_ec_wycheproof.ml | 19 - 21 files changed, 7 insertions(+), 51039 deletions(-) delete mode 100644 ec/native/np224_32.h delete mode 100644 ec/native/np224_64.h delete mode 100644 ec/native/np224_stubs.c delete mode 100644 ec/native/p224_32.h delete mode 100644 ec/native/p224_64.h delete mode 100644 ec/native/p224_stubs.c delete mode 100644 ec/native/p224_tables_32.h delete mode 100644 ec/native/p224_tables_64.h delete mode 100644 tests/ecdsa_secp224r1_sha224_test.json delete mode 100644 tests/ecdsa_secp224r1_sha256_test.json delete mode 100644 tests/ecdsa_secp224r1_sha512_test.json diff --git a/bench/speed.ml b/bench/speed.ml index 21d24348..684faacb 100644 --- a/bench/speed.ml +++ b/bench/speed.ml @@ -179,14 +179,6 @@ let dh_secrets = "60057457975706301816395663645420233759377744187465730049174048360108513636349450241008234412972340882517684187851" ; ]) -let ecdsa_p224 = - Result.get_ok - (Mirage_crypto_ec.P224.Dsa.priv_of_cstruct - (Cstruct.of_hex "f254645834cfff245599be937a00535f6a2c8b00dc34bdf50df68903")) - -let ecdsa_p224_sig () = - Mirage_crypto_ec.P224.Dsa.sign ~key:ecdsa_p224 (Cstruct.sub msg 0 28) - let ecdsa_p256 = Result.get_ok (Mirage_crypto_ec.P256.Dsa.priv_of_cstruct @@ -219,7 +211,6 @@ let ed25519_sig () = Mirage_crypto_ec.Ed25519.sign ~key:ed25519 msg let ecdsas = [ - ("P224", `P224 (ecdsa_p224, ecdsa_p224_sig ())); ("P256", `P256 (ecdsa_p256, ecdsa_p256_sig ())); ("P384", `P384 (ecdsa_p384, ecdsa_p384_sig ())); ("P521", `P521 (ecdsa_p521, ecdsa_p521_sig ())); @@ -228,8 +219,6 @@ let ecdsas = [ let ecdh_shares = [ - ("P224", `P224 (Mirage_crypto_ec.P224.Dh.secret_of_cs (Cstruct.of_hex "60a814ec54d0c2d28c03ff01df32267d40432311df41aacb2fa5fdf7") |> Result.get_ok |> fst, - Cstruct.of_hex "042d8d91c909fdab2f7f0c33466dd74697e5166d378982e9ecf5492cb32d69d7eb96dc57d775b70d56237f8ec49e5752c87542dc41dc5049d2")); ("P256", `P256 (Mirage_crypto_ec.P256.Dh.secret_of_cs (Cstruct.of_hex "470d57706c7706b68a3f423aeaf4ff7fdd02494a10d3e381c3c11f7276802cdc") |> Result.get_ok |> fst, Cstruct.of_hex "0411b3fc82721c269a19909a3b2fc26d9895826d0cfcbc1f7626e488f01f4ca6b5c5ed76adee7af81bb20b17cf231cbf0c67db0295d68d1d92c2d2a5a80638d78d")); ("P384", `P384 (Mirage_crypto_ec.P384.Dh.secret_of_cs (Cstruct.of_hex "ee55e29b61752d5a3e525656db8bd8fe6f94fab8aacc9e92acff4c4812bf7a6187aba46cc60ab8f08efcf2d574584b74") |> Result.get_ok |> fst, @@ -310,7 +299,6 @@ let benchmarks = [ let open Mirage_crypto_ec in count name (fun (_, x) -> match x with - | `P224 _ -> P224.Dsa.generate () |> ignore | `P256 _ -> P256.Dsa.generate () |> ignore | `P384 _ -> P384.Dsa.generate () |> ignore | `P521 _ -> P521.Dsa.generate () |> ignore @@ -321,7 +309,6 @@ let benchmarks = [ bm "ecdsa-sign" (fun name -> let open Mirage_crypto_ec in count name (fun (_, x) -> match x with - | `P224 (key, _) -> P224.Dsa.sign ~key (Cstruct.sub msg 0 28) | `P256 (key, _) -> P256.Dsa.sign ~key (Cstruct.sub msg 0 32) | `P384 (key, _) -> P384.Dsa.sign ~key (Cstruct.sub msg 0 48) | `P521 (key, _) -> P521.Dsa.sign ~key (Cstruct.sub msg 0 65) @@ -332,7 +319,6 @@ let benchmarks = [ bm "ecdsa-verify" (fun name -> let open Mirage_crypto_ec in count name (fun (_, x) -> match x with - | `P224 (key, signature) -> P224.Dsa.(verify ~key:(pub_of_priv key) signature (Cstruct.sub msg 0 28)) | `P256 (key, signature) -> P256.Dsa.(verify ~key:(pub_of_priv key) signature (Cstruct.sub msg 0 32)) | `P384 (key, signature) -> P384.Dsa.(verify ~key:(pub_of_priv key) signature (Cstruct.sub msg 0 48)) | `P521 (key, signature) -> P521.Dsa.(verify ~key:(pub_of_priv key) signature (Cstruct.sub msg 0 65)) @@ -351,7 +337,6 @@ let benchmarks = [ bm "ecdh-secret" (fun name -> let open Mirage_crypto_ec in count name (fun (_, x) -> match x with - | `P224 _ -> P224.Dh.gen_key () |> ignore | `P256 _ -> P256.Dh.gen_key () |> ignore | `P384 _ -> P384.Dh.gen_key () |> ignore | `P521 _ -> P521.Dh.gen_key () |> ignore @@ -361,7 +346,6 @@ let benchmarks = [ bm "ecdh-share" (fun name -> let open Mirage_crypto_ec in count name (fun (_, x) -> match x with - | `P224 (sec, share) -> P224.Dh.key_exchange sec share |> Result.get_ok |> ignore | `P256 (sec, share) -> P256.Dh.key_exchange sec share |> Result.get_ok |> ignore | `P384 (sec, share) -> P384.Dh.key_exchange sec share |> Result.get_ok |> ignore | `P521 (sec, share) -> P521.Dh.key_exchange sec share |> Result.get_ok |> ignore diff --git a/ec/dune b/ec/dune index b5685818..6962b523 100644 --- a/ec/dune +++ b/ec/dune @@ -4,8 +4,8 @@ (libraries cstruct eqaf mirage-crypto mirage-crypto-rng) (foreign_stubs (language c) - (names p224_stubs np224_stubs p256_stubs np256_stubs p384_stubs np384_stubs - p521_stubs np521_stubs curve25519_stubs) + (names p256_stubs np256_stubs p384_stubs np384_stubs p521_stubs np521_stubs + curve25519_stubs) (include_dirs ../src/native) (flags (:standard -DNDEBUG) diff --git a/ec/gen_tables/gen_tables.ml b/ec/gen_tables/gen_tables.ml index d0d8c8cf..3285e364 100644 --- a/ec/gen_tables/gen_tables.ml +++ b/ec/gen_tables/gen_tables.ml @@ -86,8 +86,7 @@ let print_toplevel name wordsize (module P : Mirage_crypto_ec.Dh_dsa) = let curves = Mirage_crypto_ec. [ - ("p224", (module P224 : Dh_dsa)); - ("p256", (module P256)); + ("p256", (module P256 : Dh_dsa)); ("p384", (module P384)); ("p521", (module P521)); ] diff --git a/ec/mirage_crypto_ec.ml b/ec/mirage_crypto_ec.ml index 97138165..1f600e00 100644 --- a/ec/mirage_crypto_ec.ml +++ b/ec/mirage_crypto_ec.ml @@ -801,56 +801,6 @@ module Make_dsa (Param : Parameters) (F : Fn) (P : Point) (S : Scalar) (H : Mira end end -module P224 : Dh_dsa = struct - module Params = struct - let a = "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFE\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFE" - let b = "\xB4\x05\x0A\x85\x0C\x04\xB3\xAB\xF5\x41\x32\x56\x50\x44\xB0\xB7\xD7\xBF\xD8\xBA\x27\x0B\x39\x43\x23\x55\xFF\xB4" - let g_x = "\xB7\x0E\x0C\xBD\x6B\xB4\xBF\x7F\x32\x13\x90\xB9\x4A\x03\xC1\xD3\x56\xC2\x11\x22\x34\x32\x80\xD6\x11\x5C\x1D\x21" - let g_y = "\xBD\x37\x63\x88\xB5\xF7\x23\xFB\x4C\x22\xDF\xE6\xCD\x43\x75\xA0\x5A\x07\x47\x64\x44\xD5\x81\x99\x85\x00\x7E\x34" - let p = "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" - let n = "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\xA2\xE0\xB8\xF0\x3E\x13\xDD\x29\x45\x5C\x5C\x2A\x3D" - let pident = "" - let byte_length = 28 - let fe_length = if Sys.word_size == 64 then 32 else 28 (* TODO: is this congruent with C code? *) - let first_byte_bits = None - end - - module Foreign = struct - external mul : out_field_element -> field_element -> field_element -> unit = "mc_p224_mul" [@@noalloc] - external sub : out_field_element -> field_element -> field_element -> unit = "mc_p224_sub" [@@noalloc] - external add : out_field_element -> field_element -> field_element -> unit = "mc_p224_add" [@@noalloc] - external to_montgomery : out_field_element -> field_element -> unit = "mc_p224_to_montgomery" [@@noalloc] - external from_octets : out_field_element -> string -> unit = "mc_p224_from_bytes" [@@noalloc] - external set_one : out_field_element -> unit = "mc_p224_set_one" [@@noalloc] - external nz : field_element -> bool = "mc_p224_nz" [@@noalloc] - external sqr : out_field_element -> field_element -> unit = "mc_p224_sqr" [@@noalloc] - external from_montgomery : out_field_element -> field_element -> unit = "mc_p224_from_montgomery" [@@noalloc] - external to_octets : bytes -> field_element -> unit = "mc_p224_to_bytes" [@@noalloc] - external inv : out_field_element -> field_element -> unit = "mc_p224_inv" [@@noalloc] - external select_c : out_field_element -> bool -> field_element -> field_element -> unit = "mc_p224_select" [@@noalloc] - external double_c : out_point -> point -> unit = "mc_p224_point_double" [@@noalloc] - external add_c : out_point -> point -> point -> unit = "mc_p224_point_add" [@@noalloc] - external scalar_mult_base_c : out_point -> string -> unit = "mc_p224_scalar_mult_base" [@@noalloc] - end - - module Foreign_n = struct - external mul : out_field_element -> field_element -> field_element -> unit = "mc_np224_mul" [@@noalloc] - external add : out_field_element -> field_element -> field_element -> unit = "mc_np224_add" [@@noalloc] - external inv : out_field_element -> field_element -> unit = "mc_np224_inv" [@@noalloc] - external one : out_field_element -> unit = "mc_np224_one" [@@noalloc] - external from_bytes : out_field_element -> string -> unit = "mc_np224_from_bytes" [@@noalloc] - external to_bytes : bytes -> field_element -> unit = "mc_np224_to_bytes" [@@noalloc] - external from_montgomery : out_field_element -> field_element -> unit = "mc_np224_from_montgomery" [@@noalloc] - external to_montgomery : out_field_element -> field_element -> unit = "mc_np224_to_montgomery" [@@noalloc] - end - - module P = Make_point(Params)(Foreign) - module S = Make_scalar(Params)(P) - module Dh = Make_dh(Params)(P)(S) - module Fn = Make_Fn(Params)(Foreign_n) - module Dsa = Make_dsa(Params)(Fn)(P)(S)(Mirage_crypto.Hash.SHA256) -end - module P256 : Dh_dsa = struct module Params = struct let a = "\xFF\xFF\xFF\xFF\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC" diff --git a/ec/mirage_crypto_ec.mli b/ec/mirage_crypto_ec.mli index bce54b20..63d59c9c 100644 --- a/ec/mirage_crypto_ec.mli +++ b/ec/mirage_crypto_ec.mli @@ -158,10 +158,6 @@ module type Dh_dsa = sig module Dsa : Dsa end -(** The NIST P-224 curve, also known as SECP224R1. Please note that - decompression is not supported for P-224 public keys. *) -module P224 : Dh_dsa - (** The NIST P-256 curve, also known as SECP256R1. *) module P256 : Dh_dsa diff --git a/ec/native/GNUmakefile b/ec/native/GNUmakefile index df0ec80b..7a0b6a16 100644 --- a/ec/native/GNUmakefile +++ b/ec/native/GNUmakefile @@ -12,42 +12,6 @@ N_FUNCS=mul add opp from_montgomery to_montgomery one msat divstep_precomp divst GEN_TABLE=../../_build/default/ec/gen_tables/gen_tables.exe -# The NIST curve P-224 (AKA SECP224R1) -P224="2^224 - 2^96 + 1" - -.PHONY: p224_64.h -p224_64.h: - $(WBW_MONT) p224 64 $(P224) > $@ - -.PHONY: p224_32.h -p224_32.h: - $(WBW_MONT) p224 32 $(P224) > $@ - -# The group order N of P-224 -P224N="0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D" - -.PHONY: np224_64.h -np224_64.h: - $(WBW_MONT) np224 64 $(P224N) $(N_FUNCS) > $@ - -.PHONY: np224_32.h -np224_32.h: - $(WBW_MONT) np224 32 $(P224N) $(N_FUNCS) > $@ - -.PHONY: p224_tables_64.h -p224_tables_64.h: - $(GEN_TABLE) p224 64 > $@ - -.PHONY: p224_tables_32.h -p224_tables_32.h: - $(GEN_TABLE) p224 32 > $@ - -.PHONY: p224 -p224: p224_64.h p224_32.h np224_64.h np224_32.h - -p224_tables: p224_tables_64.h p224_tables_32.h - - # The NIST curve P-256 (AKA SECP256R1) P256="2^256 - 2^224 + 2^192 + 2^96 - 1" @@ -169,11 +133,10 @@ curve25519_32.h: curve25519: curve25519_64.h curve25519_32.h .PHONY: tables -tables: p224_tables p256_tables p384_tables p521_tables +tables: p256_tables p384_tables p521_tables .PHONY: clean clean: - $(RM) p224_32.h p224_64.h np224_32.h np224_64.h $(RM) p256_32.h p256_64.h np256_32.h np256_64.h $(RM) p384_32.h p384_64.h np384_32.h np384_64.h $(RM) p521_32.h p521_64.h np521_32.h np521_64.h @@ -181,10 +144,9 @@ clean: .PHONY: clean_tables clean_tables: - $(RM) p224_tables_32.h p224_tables_64.h $(RM) p256_tables_32.h p256_tables_64.h $(RM) p384_tables_32.h p384_tables_64.h $(RM) p521_tables_32.h p521_tables_64.h .PHONY: all -all: p224 p256 p384 p521 curve25519 +all: p256 p384 p521 curve25519 diff --git a/ec/native/np224_32.h b/ec/native/np224_32.h deleted file mode 100644 index 7bede2b5..00000000 --- a/ec/native/np224_32.h +++ /dev/null @@ -1,3635 +0,0 @@ -/* Autogenerated: '../fiat-crypto/src/ExtractionOCaml/word_by_word_montgomery' --static --use-value-barrier --inline-internal np224 32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D mul add opp from_montgomery to_montgomery one msat divstep_precomp divstep to_bytes from_bytes selectznz */ -/* curve description: np224 */ -/* machine_wordsize = 32 (from "32") */ -/* requested operations: mul, add, opp, from_montgomery, to_montgomery, one, msat, divstep_precomp, divstep, to_bytes, from_bytes, selectznz */ -/* m = 0xffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d (from "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D") */ -/* */ -/* NOTE: In addition to the bounds specified above each function, all */ -/* functions synthesized for this Montgomery arithmetic require the */ -/* input to be strictly less than the prime modulus (m), and also */ -/* require the input to be in the unique saturated representation. */ -/* All functions also ensure that these two properties are true of */ -/* return values. */ -/* */ -/* Computed values: */ -/* eval z = z[0] + (z[1] << 32) + (z[2] << 64) + (z[3] << 96) + (z[4] << 128) + (z[5] << 160) + (z[6] << 192) */ -/* bytes_eval z = z[0] + (z[1] << 8) + (z[2] << 16) + (z[3] << 24) + (z[4] << 32) + (z[5] << 40) + (z[6] << 48) + (z[7] << 56) + (z[8] << 64) + (z[9] << 72) + (z[10] << 80) + (z[11] << 88) + (z[12] << 96) + (z[13] << 104) + (z[14] << 112) + (z[15] << 120) + (z[16] << 128) + (z[17] << 136) + (z[18] << 144) + (z[19] << 152) + (z[20] << 160) + (z[21] << 168) + (z[22] << 176) + (z[23] << 184) + (z[24] << 192) + (z[25] << 200) + (z[26] << 208) + (z[27] << 216) */ -/* twos_complement_eval z = let x1 := z[0] + (z[1] << 32) + (z[2] << 64) + (z[3] << 96) + (z[4] << 128) + (z[5] << 160) + (z[6] << 192) in */ -/* if x1 & (2^224-1) < 2^223 then x1 & (2^224-1) else (x1 & (2^224-1)) - 2^224 */ - -#include -typedef unsigned char fiat_np224_uint1; -typedef signed char fiat_np224_int1; -#if defined(__GNUC__) || defined(__clang__) -# define FIAT_NP224_FIAT_INLINE __inline__ -#else -# define FIAT_NP224_FIAT_INLINE -#endif - -/* The type fiat_np224_montgomery_domain_field_element is a field element in the Montgomery domain. */ -/* Bounds: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] */ -typedef uint32_t fiat_np224_montgomery_domain_field_element[7]; - -/* The type fiat_np224_non_montgomery_domain_field_element is a field element NOT in the Montgomery domain. */ -/* Bounds: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] */ -typedef uint32_t fiat_np224_non_montgomery_domain_field_element[7]; - -#if (-1 & 3) != 3 -#error "This code only works on a two's complement system" -#endif - -#if !defined(FIAT_NP224_NO_ASM) && (defined(__GNUC__) || defined(__clang__)) -static __inline__ uint32_t fiat_np224_value_barrier_u32(uint32_t a) { - __asm__("" : "+r"(a) : /* no inputs */); - return a; -} -#else -# define fiat_np224_value_barrier_u32(x) (x) -#endif - - -/* - * The function fiat_np224_addcarryx_u32 is an addition with carry. - * - * Postconditions: - * out1 = (arg1 + arg2 + arg3) mod 2^32 - * out2 = ⌊(arg1 + arg2 + arg3) / 2^32⌋ - * - * Input Bounds: - * arg1: [0x0 ~> 0x1] - * arg2: [0x0 ~> 0xffffffff] - * arg3: [0x0 ~> 0xffffffff] - * Output Bounds: - * out1: [0x0 ~> 0xffffffff] - * out2: [0x0 ~> 0x1] - */ -static FIAT_NP224_FIAT_INLINE void fiat_np224_addcarryx_u32(uint32_t* out1, fiat_np224_uint1* out2, fiat_np224_uint1 arg1, uint32_t arg2, uint32_t arg3) { - uint64_t x1; - uint32_t x2; - fiat_np224_uint1 x3; - x1 = ((arg1 + (uint64_t)arg2) + arg3); - x2 = (uint32_t)(x1 & UINT32_C(0xffffffff)); - x3 = (fiat_np224_uint1)(x1 >> 32); - *out1 = x2; - *out2 = x3; -} - -/* - * The function fiat_np224_subborrowx_u32 is a subtraction with borrow. - * - * Postconditions: - * out1 = (-arg1 + arg2 + -arg3) mod 2^32 - * out2 = -⌊(-arg1 + arg2 + -arg3) / 2^32⌋ - * - * Input Bounds: - * arg1: [0x0 ~> 0x1] - * arg2: [0x0 ~> 0xffffffff] - * arg3: [0x0 ~> 0xffffffff] - * Output Bounds: - * out1: [0x0 ~> 0xffffffff] - * out2: [0x0 ~> 0x1] - */ -static FIAT_NP224_FIAT_INLINE void fiat_np224_subborrowx_u32(uint32_t* out1, fiat_np224_uint1* out2, fiat_np224_uint1 arg1, uint32_t arg2, uint32_t arg3) { - int64_t x1; - fiat_np224_int1 x2; - uint32_t x3; - x1 = ((arg2 - (int64_t)arg1) - arg3); - x2 = (fiat_np224_int1)(x1 >> 32); - x3 = (uint32_t)(x1 & UINT32_C(0xffffffff)); - *out1 = x3; - *out2 = (fiat_np224_uint1)(0x0 - x2); -} - -/* - * The function fiat_np224_mulx_u32 is a multiplication, returning the full double-width result. - * - * Postconditions: - * out1 = (arg1 * arg2) mod 2^32 - * out2 = ⌊arg1 * arg2 / 2^32⌋ - * - * Input Bounds: - * arg1: [0x0 ~> 0xffffffff] - * arg2: [0x0 ~> 0xffffffff] - * Output Bounds: - * out1: [0x0 ~> 0xffffffff] - * out2: [0x0 ~> 0xffffffff] - */ -static FIAT_NP224_FIAT_INLINE void fiat_np224_mulx_u32(uint32_t* out1, uint32_t* out2, uint32_t arg1, uint32_t arg2) { - uint64_t x1; - uint32_t x2; - uint32_t x3; - x1 = ((uint64_t)arg1 * arg2); - x2 = (uint32_t)(x1 & UINT32_C(0xffffffff)); - x3 = (uint32_t)(x1 >> 32); - *out1 = x2; - *out2 = x3; -} - -/* - * The function fiat_np224_cmovznz_u32 is a single-word conditional move. - * - * Postconditions: - * out1 = (if arg1 = 0 then arg2 else arg3) - * - * Input Bounds: - * arg1: [0x0 ~> 0x1] - * arg2: [0x0 ~> 0xffffffff] - * arg3: [0x0 ~> 0xffffffff] - * Output Bounds: - * out1: [0x0 ~> 0xffffffff] - */ -static FIAT_NP224_FIAT_INLINE void fiat_np224_cmovznz_u32(uint32_t* out1, fiat_np224_uint1 arg1, uint32_t arg2, uint32_t arg3) { - fiat_np224_uint1 x1; - uint32_t x2; - uint32_t x3; - x1 = (!(!arg1)); - x2 = ((fiat_np224_int1)(0x0 - x1) & UINT32_C(0xffffffff)); - x3 = ((fiat_np224_value_barrier_u32(x2) & arg3) | (fiat_np224_value_barrier_u32((~x2)) & arg2)); - *out1 = x3; -} - -/* - * The function fiat_np224_mul multiplies two field elements in the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * 0 ≤ eval arg2 < m - * Postconditions: - * eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_np224_mul(fiat_np224_montgomery_domain_field_element out1, const fiat_np224_montgomery_domain_field_element arg1, const fiat_np224_montgomery_domain_field_element arg2) { - uint32_t x1; - uint32_t x2; - uint32_t x3; - uint32_t x4; - uint32_t x5; - uint32_t x6; - uint32_t x7; - uint32_t x8; - uint32_t x9; - uint32_t x10; - uint32_t x11; - uint32_t x12; - uint32_t x13; - uint32_t x14; - uint32_t x15; - uint32_t x16; - uint32_t x17; - uint32_t x18; - uint32_t x19; - uint32_t x20; - uint32_t x21; - uint32_t x22; - fiat_np224_uint1 x23; - uint32_t x24; - fiat_np224_uint1 x25; - uint32_t x26; - fiat_np224_uint1 x27; - uint32_t x28; - fiat_np224_uint1 x29; - uint32_t x30; - fiat_np224_uint1 x31; - uint32_t x32; - fiat_np224_uint1 x33; - uint32_t x34; - uint32_t x35; - uint32_t x36; - uint32_t x37; - uint32_t x38; - uint32_t x39; - uint32_t x40; - uint32_t x41; - uint32_t x42; - uint32_t x43; - uint32_t x44; - uint32_t x45; - uint32_t x46; - uint32_t x47; - uint32_t x48; - uint32_t x49; - uint32_t x50; - uint32_t x51; - fiat_np224_uint1 x52; - uint32_t x53; - fiat_np224_uint1 x54; - uint32_t x55; - fiat_np224_uint1 x56; - uint32_t x57; - fiat_np224_uint1 x58; - uint32_t x59; - fiat_np224_uint1 x60; - uint32_t x61; - fiat_np224_uint1 x62; - uint32_t x63; - uint32_t x64; - fiat_np224_uint1 x65; - uint32_t x66; - fiat_np224_uint1 x67; - uint32_t x68; - fiat_np224_uint1 x69; - uint32_t x70; - fiat_np224_uint1 x71; - uint32_t x72; - fiat_np224_uint1 x73; - uint32_t x74; - fiat_np224_uint1 x75; - uint32_t x76; - fiat_np224_uint1 x77; - uint32_t x78; - fiat_np224_uint1 x79; - uint32_t x80; - uint32_t x81; - uint32_t x82; - uint32_t x83; - uint32_t x84; - uint32_t x85; - uint32_t x86; - uint32_t x87; - uint32_t x88; - uint32_t x89; - uint32_t x90; - uint32_t x91; - uint32_t x92; - uint32_t x93; - uint32_t x94; - fiat_np224_uint1 x95; - uint32_t x96; - fiat_np224_uint1 x97; - uint32_t x98; - fiat_np224_uint1 x99; - uint32_t x100; - fiat_np224_uint1 x101; - uint32_t x102; - fiat_np224_uint1 x103; - uint32_t x104; - fiat_np224_uint1 x105; - uint32_t x106; - uint32_t x107; - fiat_np224_uint1 x108; - uint32_t x109; - fiat_np224_uint1 x110; - uint32_t x111; - fiat_np224_uint1 x112; - uint32_t x113; - fiat_np224_uint1 x114; - uint32_t x115; - fiat_np224_uint1 x116; - uint32_t x117; - fiat_np224_uint1 x118; - uint32_t x119; - fiat_np224_uint1 x120; - uint32_t x121; - fiat_np224_uint1 x122; - uint32_t x123; - uint32_t x124; - uint32_t x125; - uint32_t x126; - uint32_t x127; - uint32_t x128; - uint32_t x129; - uint32_t x130; - uint32_t x131; - uint32_t x132; - uint32_t x133; - uint32_t x134; - uint32_t x135; - uint32_t x136; - uint32_t x137; - uint32_t x138; - uint32_t x139; - fiat_np224_uint1 x140; - uint32_t x141; - fiat_np224_uint1 x142; - uint32_t x143; - fiat_np224_uint1 x144; - uint32_t x145; - fiat_np224_uint1 x146; - uint32_t x147; - fiat_np224_uint1 x148; - uint32_t x149; - fiat_np224_uint1 x150; - uint32_t x151; - uint32_t x152; - fiat_np224_uint1 x153; - uint32_t x154; - fiat_np224_uint1 x155; - uint32_t x156; - fiat_np224_uint1 x157; - uint32_t x158; - fiat_np224_uint1 x159; - uint32_t x160; - fiat_np224_uint1 x161; - uint32_t x162; - fiat_np224_uint1 x163; - uint32_t x164; - fiat_np224_uint1 x165; - uint32_t x166; - fiat_np224_uint1 x167; - uint32_t x168; - uint32_t x169; - uint32_t x170; - uint32_t x171; - uint32_t x172; - uint32_t x173; - uint32_t x174; - uint32_t x175; - uint32_t x176; - uint32_t x177; - uint32_t x178; - uint32_t x179; - uint32_t x180; - uint32_t x181; - uint32_t x182; - uint32_t x183; - fiat_np224_uint1 x184; - uint32_t x185; - fiat_np224_uint1 x186; - uint32_t x187; - fiat_np224_uint1 x188; - uint32_t x189; - fiat_np224_uint1 x190; - uint32_t x191; - fiat_np224_uint1 x192; - uint32_t x193; - fiat_np224_uint1 x194; - uint32_t x195; - uint32_t x196; - fiat_np224_uint1 x197; - uint32_t x198; - fiat_np224_uint1 x199; - uint32_t x200; - fiat_np224_uint1 x201; - uint32_t x202; - fiat_np224_uint1 x203; - uint32_t x204; - fiat_np224_uint1 x205; - uint32_t x206; - fiat_np224_uint1 x207; - uint32_t x208; - fiat_np224_uint1 x209; - uint32_t x210; - fiat_np224_uint1 x211; - uint32_t x212; - uint32_t x213; - uint32_t x214; - uint32_t x215; - uint32_t x216; - uint32_t x217; - uint32_t x218; - uint32_t x219; - uint32_t x220; - uint32_t x221; - uint32_t x222; - uint32_t x223; - uint32_t x224; - uint32_t x225; - uint32_t x226; - uint32_t x227; - uint32_t x228; - fiat_np224_uint1 x229; - uint32_t x230; - fiat_np224_uint1 x231; - uint32_t x232; - fiat_np224_uint1 x233; - uint32_t x234; - fiat_np224_uint1 x235; - uint32_t x236; - fiat_np224_uint1 x237; - uint32_t x238; - fiat_np224_uint1 x239; - uint32_t x240; - uint32_t x241; - fiat_np224_uint1 x242; - uint32_t x243; - fiat_np224_uint1 x244; - uint32_t x245; - fiat_np224_uint1 x246; - uint32_t x247; - fiat_np224_uint1 x248; - uint32_t x249; - fiat_np224_uint1 x250; - uint32_t x251; - fiat_np224_uint1 x252; - uint32_t x253; - fiat_np224_uint1 x254; - uint32_t x255; - fiat_np224_uint1 x256; - uint32_t x257; - uint32_t x258; - uint32_t x259; - uint32_t x260; - uint32_t x261; - uint32_t x262; - uint32_t x263; - uint32_t x264; - uint32_t x265; - uint32_t x266; - uint32_t x267; - uint32_t x268; - uint32_t x269; - uint32_t x270; - uint32_t x271; - uint32_t x272; - fiat_np224_uint1 x273; - uint32_t x274; - fiat_np224_uint1 x275; - uint32_t x276; - fiat_np224_uint1 x277; - uint32_t x278; - fiat_np224_uint1 x279; - uint32_t x280; - fiat_np224_uint1 x281; - uint32_t x282; - fiat_np224_uint1 x283; - uint32_t x284; - uint32_t x285; - fiat_np224_uint1 x286; - uint32_t x287; - fiat_np224_uint1 x288; - uint32_t x289; - fiat_np224_uint1 x290; - uint32_t x291; - fiat_np224_uint1 x292; - uint32_t x293; - fiat_np224_uint1 x294; - uint32_t x295; - fiat_np224_uint1 x296; - uint32_t x297; - fiat_np224_uint1 x298; - uint32_t x299; - fiat_np224_uint1 x300; - uint32_t x301; - uint32_t x302; - uint32_t x303; - uint32_t x304; - uint32_t x305; - uint32_t x306; - uint32_t x307; - uint32_t x308; - uint32_t x309; - uint32_t x310; - uint32_t x311; - uint32_t x312; - uint32_t x313; - uint32_t x314; - uint32_t x315; - uint32_t x316; - uint32_t x317; - fiat_np224_uint1 x318; - uint32_t x319; - fiat_np224_uint1 x320; - uint32_t x321; - fiat_np224_uint1 x322; - uint32_t x323; - fiat_np224_uint1 x324; - uint32_t x325; - fiat_np224_uint1 x326; - uint32_t x327; - fiat_np224_uint1 x328; - uint32_t x329; - uint32_t x330; - fiat_np224_uint1 x331; - uint32_t x332; - fiat_np224_uint1 x333; - uint32_t x334; - fiat_np224_uint1 x335; - uint32_t x336; - fiat_np224_uint1 x337; - uint32_t x338; - fiat_np224_uint1 x339; - uint32_t x340; - fiat_np224_uint1 x341; - uint32_t x342; - fiat_np224_uint1 x343; - uint32_t x344; - fiat_np224_uint1 x345; - uint32_t x346; - uint32_t x347; - uint32_t x348; - uint32_t x349; - uint32_t x350; - uint32_t x351; - uint32_t x352; - uint32_t x353; - uint32_t x354; - uint32_t x355; - uint32_t x356; - uint32_t x357; - uint32_t x358; - uint32_t x359; - uint32_t x360; - uint32_t x361; - fiat_np224_uint1 x362; - uint32_t x363; - fiat_np224_uint1 x364; - uint32_t x365; - fiat_np224_uint1 x366; - uint32_t x367; - fiat_np224_uint1 x368; - uint32_t x369; - fiat_np224_uint1 x370; - uint32_t x371; - fiat_np224_uint1 x372; - uint32_t x373; - uint32_t x374; - fiat_np224_uint1 x375; - uint32_t x376; - fiat_np224_uint1 x377; - uint32_t x378; - fiat_np224_uint1 x379; - uint32_t x380; - fiat_np224_uint1 x381; - uint32_t x382; - fiat_np224_uint1 x383; - uint32_t x384; - fiat_np224_uint1 x385; - uint32_t x386; - fiat_np224_uint1 x387; - uint32_t x388; - fiat_np224_uint1 x389; - uint32_t x390; - uint32_t x391; - uint32_t x392; - uint32_t x393; - uint32_t x394; - uint32_t x395; - uint32_t x396; - uint32_t x397; - uint32_t x398; - uint32_t x399; - uint32_t x400; - uint32_t x401; - uint32_t x402; - uint32_t x403; - uint32_t x404; - uint32_t x405; - uint32_t x406; - fiat_np224_uint1 x407; - uint32_t x408; - fiat_np224_uint1 x409; - uint32_t x410; - fiat_np224_uint1 x411; - uint32_t x412; - fiat_np224_uint1 x413; - uint32_t x414; - fiat_np224_uint1 x415; - uint32_t x416; - fiat_np224_uint1 x417; - uint32_t x418; - uint32_t x419; - fiat_np224_uint1 x420; - uint32_t x421; - fiat_np224_uint1 x422; - uint32_t x423; - fiat_np224_uint1 x424; - uint32_t x425; - fiat_np224_uint1 x426; - uint32_t x427; - fiat_np224_uint1 x428; - uint32_t x429; - fiat_np224_uint1 x430; - uint32_t x431; - fiat_np224_uint1 x432; - uint32_t x433; - fiat_np224_uint1 x434; - uint32_t x435; - uint32_t x436; - uint32_t x437; - uint32_t x438; - uint32_t x439; - uint32_t x440; - uint32_t x441; - uint32_t x442; - uint32_t x443; - uint32_t x444; - uint32_t x445; - uint32_t x446; - uint32_t x447; - uint32_t x448; - uint32_t x449; - uint32_t x450; - fiat_np224_uint1 x451; - uint32_t x452; - fiat_np224_uint1 x453; - uint32_t x454; - fiat_np224_uint1 x455; - uint32_t x456; - fiat_np224_uint1 x457; - uint32_t x458; - fiat_np224_uint1 x459; - uint32_t x460; - fiat_np224_uint1 x461; - uint32_t x462; - uint32_t x463; - fiat_np224_uint1 x464; - uint32_t x465; - fiat_np224_uint1 x466; - uint32_t x467; - fiat_np224_uint1 x468; - uint32_t x469; - fiat_np224_uint1 x470; - uint32_t x471; - fiat_np224_uint1 x472; - uint32_t x473; - fiat_np224_uint1 x474; - uint32_t x475; - fiat_np224_uint1 x476; - uint32_t x477; - fiat_np224_uint1 x478; - uint32_t x479; - uint32_t x480; - uint32_t x481; - uint32_t x482; - uint32_t x483; - uint32_t x484; - uint32_t x485; - uint32_t x486; - uint32_t x487; - uint32_t x488; - uint32_t x489; - uint32_t x490; - uint32_t x491; - uint32_t x492; - uint32_t x493; - uint32_t x494; - uint32_t x495; - fiat_np224_uint1 x496; - uint32_t x497; - fiat_np224_uint1 x498; - uint32_t x499; - fiat_np224_uint1 x500; - uint32_t x501; - fiat_np224_uint1 x502; - uint32_t x503; - fiat_np224_uint1 x504; - uint32_t x505; - fiat_np224_uint1 x506; - uint32_t x507; - uint32_t x508; - fiat_np224_uint1 x509; - uint32_t x510; - fiat_np224_uint1 x511; - uint32_t x512; - fiat_np224_uint1 x513; - uint32_t x514; - fiat_np224_uint1 x515; - uint32_t x516; - fiat_np224_uint1 x517; - uint32_t x518; - fiat_np224_uint1 x519; - uint32_t x520; - fiat_np224_uint1 x521; - uint32_t x522; - fiat_np224_uint1 x523; - uint32_t x524; - uint32_t x525; - uint32_t x526; - uint32_t x527; - uint32_t x528; - uint32_t x529; - uint32_t x530; - uint32_t x531; - uint32_t x532; - uint32_t x533; - uint32_t x534; - uint32_t x535; - uint32_t x536; - uint32_t x537; - uint32_t x538; - uint32_t x539; - fiat_np224_uint1 x540; - uint32_t x541; - fiat_np224_uint1 x542; - uint32_t x543; - fiat_np224_uint1 x544; - uint32_t x545; - fiat_np224_uint1 x546; - uint32_t x547; - fiat_np224_uint1 x548; - uint32_t x549; - fiat_np224_uint1 x550; - uint32_t x551; - uint32_t x552; - fiat_np224_uint1 x553; - uint32_t x554; - fiat_np224_uint1 x555; - uint32_t x556; - fiat_np224_uint1 x557; - uint32_t x558; - fiat_np224_uint1 x559; - uint32_t x560; - fiat_np224_uint1 x561; - uint32_t x562; - fiat_np224_uint1 x563; - uint32_t x564; - fiat_np224_uint1 x565; - uint32_t x566; - fiat_np224_uint1 x567; - uint32_t x568; - uint32_t x569; - uint32_t x570; - uint32_t x571; - uint32_t x572; - uint32_t x573; - uint32_t x574; - uint32_t x575; - uint32_t x576; - uint32_t x577; - uint32_t x578; - uint32_t x579; - uint32_t x580; - uint32_t x581; - uint32_t x582; - uint32_t x583; - uint32_t x584; - fiat_np224_uint1 x585; - uint32_t x586; - fiat_np224_uint1 x587; - uint32_t x588; - fiat_np224_uint1 x589; - uint32_t x590; - fiat_np224_uint1 x591; - uint32_t x592; - fiat_np224_uint1 x593; - uint32_t x594; - fiat_np224_uint1 x595; - uint32_t x596; - uint32_t x597; - fiat_np224_uint1 x598; - uint32_t x599; - fiat_np224_uint1 x600; - uint32_t x601; - fiat_np224_uint1 x602; - uint32_t x603; - fiat_np224_uint1 x604; - uint32_t x605; - fiat_np224_uint1 x606; - uint32_t x607; - fiat_np224_uint1 x608; - uint32_t x609; - fiat_np224_uint1 x610; - uint32_t x611; - fiat_np224_uint1 x612; - uint32_t x613; - uint32_t x614; - fiat_np224_uint1 x615; - uint32_t x616; - fiat_np224_uint1 x617; - uint32_t x618; - fiat_np224_uint1 x619; - uint32_t x620; - fiat_np224_uint1 x621; - uint32_t x622; - fiat_np224_uint1 x623; - uint32_t x624; - fiat_np224_uint1 x625; - uint32_t x626; - fiat_np224_uint1 x627; - uint32_t x628; - fiat_np224_uint1 x629; - uint32_t x630; - uint32_t x631; - uint32_t x632; - uint32_t x633; - uint32_t x634; - uint32_t x635; - uint32_t x636; - x1 = (arg1[1]); - x2 = (arg1[2]); - x3 = (arg1[3]); - x4 = (arg1[4]); - x5 = (arg1[5]); - x6 = (arg1[6]); - x7 = (arg1[0]); - fiat_np224_mulx_u32(&x8, &x9, x7, (arg2[6])); - fiat_np224_mulx_u32(&x10, &x11, x7, (arg2[5])); - fiat_np224_mulx_u32(&x12, &x13, x7, (arg2[4])); - fiat_np224_mulx_u32(&x14, &x15, x7, (arg2[3])); - fiat_np224_mulx_u32(&x16, &x17, x7, (arg2[2])); - fiat_np224_mulx_u32(&x18, &x19, x7, (arg2[1])); - fiat_np224_mulx_u32(&x20, &x21, x7, (arg2[0])); - fiat_np224_addcarryx_u32(&x22, &x23, 0x0, x21, x18); - fiat_np224_addcarryx_u32(&x24, &x25, x23, x19, x16); - fiat_np224_addcarryx_u32(&x26, &x27, x25, x17, x14); - fiat_np224_addcarryx_u32(&x28, &x29, x27, x15, x12); - fiat_np224_addcarryx_u32(&x30, &x31, x29, x13, x10); - fiat_np224_addcarryx_u32(&x32, &x33, x31, x11, x8); - x34 = (x33 + x9); - fiat_np224_mulx_u32(&x35, &x36, x20, UINT32_C(0x6a1fc2eb)); - fiat_np224_mulx_u32(&x37, &x38, x35, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x39, &x40, x35, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x41, &x42, x35, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x43, &x44, x35, UINT32_C(0xffff16a2)); - fiat_np224_mulx_u32(&x45, &x46, x35, UINT32_C(0xe0b8f03e)); - fiat_np224_mulx_u32(&x47, &x48, x35, UINT32_C(0x13dd2945)); - fiat_np224_mulx_u32(&x49, &x50, x35, UINT32_C(0x5c5c2a3d)); - fiat_np224_addcarryx_u32(&x51, &x52, 0x0, x50, x47); - fiat_np224_addcarryx_u32(&x53, &x54, x52, x48, x45); - fiat_np224_addcarryx_u32(&x55, &x56, x54, x46, x43); - fiat_np224_addcarryx_u32(&x57, &x58, x56, x44, x41); - fiat_np224_addcarryx_u32(&x59, &x60, x58, x42, x39); - fiat_np224_addcarryx_u32(&x61, &x62, x60, x40, x37); - x63 = (x62 + x38); - fiat_np224_addcarryx_u32(&x64, &x65, 0x0, x20, x49); - fiat_np224_addcarryx_u32(&x66, &x67, x65, x22, x51); - fiat_np224_addcarryx_u32(&x68, &x69, x67, x24, x53); - fiat_np224_addcarryx_u32(&x70, &x71, x69, x26, x55); - fiat_np224_addcarryx_u32(&x72, &x73, x71, x28, x57); - fiat_np224_addcarryx_u32(&x74, &x75, x73, x30, x59); - fiat_np224_addcarryx_u32(&x76, &x77, x75, x32, x61); - fiat_np224_addcarryx_u32(&x78, &x79, x77, x34, x63); - fiat_np224_mulx_u32(&x80, &x81, x1, (arg2[6])); - fiat_np224_mulx_u32(&x82, &x83, x1, (arg2[5])); - fiat_np224_mulx_u32(&x84, &x85, x1, (arg2[4])); - fiat_np224_mulx_u32(&x86, &x87, x1, (arg2[3])); - fiat_np224_mulx_u32(&x88, &x89, x1, (arg2[2])); - fiat_np224_mulx_u32(&x90, &x91, x1, (arg2[1])); - fiat_np224_mulx_u32(&x92, &x93, x1, (arg2[0])); - fiat_np224_addcarryx_u32(&x94, &x95, 0x0, x93, x90); - fiat_np224_addcarryx_u32(&x96, &x97, x95, x91, x88); - fiat_np224_addcarryx_u32(&x98, &x99, x97, x89, x86); - fiat_np224_addcarryx_u32(&x100, &x101, x99, x87, x84); - fiat_np224_addcarryx_u32(&x102, &x103, x101, x85, x82); - fiat_np224_addcarryx_u32(&x104, &x105, x103, x83, x80); - x106 = (x105 + x81); - fiat_np224_addcarryx_u32(&x107, &x108, 0x0, x66, x92); - fiat_np224_addcarryx_u32(&x109, &x110, x108, x68, x94); - fiat_np224_addcarryx_u32(&x111, &x112, x110, x70, x96); - fiat_np224_addcarryx_u32(&x113, &x114, x112, x72, x98); - fiat_np224_addcarryx_u32(&x115, &x116, x114, x74, x100); - fiat_np224_addcarryx_u32(&x117, &x118, x116, x76, x102); - fiat_np224_addcarryx_u32(&x119, &x120, x118, x78, x104); - fiat_np224_addcarryx_u32(&x121, &x122, x120, x79, x106); - fiat_np224_mulx_u32(&x123, &x124, x107, UINT32_C(0x6a1fc2eb)); - fiat_np224_mulx_u32(&x125, &x126, x123, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x127, &x128, x123, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x129, &x130, x123, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x131, &x132, x123, UINT32_C(0xffff16a2)); - fiat_np224_mulx_u32(&x133, &x134, x123, UINT32_C(0xe0b8f03e)); - fiat_np224_mulx_u32(&x135, &x136, x123, UINT32_C(0x13dd2945)); - fiat_np224_mulx_u32(&x137, &x138, x123, UINT32_C(0x5c5c2a3d)); - fiat_np224_addcarryx_u32(&x139, &x140, 0x0, x138, x135); - fiat_np224_addcarryx_u32(&x141, &x142, x140, x136, x133); - fiat_np224_addcarryx_u32(&x143, &x144, x142, x134, x131); - fiat_np224_addcarryx_u32(&x145, &x146, x144, x132, x129); - fiat_np224_addcarryx_u32(&x147, &x148, x146, x130, x127); - fiat_np224_addcarryx_u32(&x149, &x150, x148, x128, x125); - x151 = (x150 + x126); - fiat_np224_addcarryx_u32(&x152, &x153, 0x0, x107, x137); - fiat_np224_addcarryx_u32(&x154, &x155, x153, x109, x139); - fiat_np224_addcarryx_u32(&x156, &x157, x155, x111, x141); - fiat_np224_addcarryx_u32(&x158, &x159, x157, x113, x143); - fiat_np224_addcarryx_u32(&x160, &x161, x159, x115, x145); - fiat_np224_addcarryx_u32(&x162, &x163, x161, x117, x147); - fiat_np224_addcarryx_u32(&x164, &x165, x163, x119, x149); - fiat_np224_addcarryx_u32(&x166, &x167, x165, x121, x151); - x168 = ((uint32_t)x167 + x122); - fiat_np224_mulx_u32(&x169, &x170, x2, (arg2[6])); - fiat_np224_mulx_u32(&x171, &x172, x2, (arg2[5])); - fiat_np224_mulx_u32(&x173, &x174, x2, (arg2[4])); - fiat_np224_mulx_u32(&x175, &x176, x2, (arg2[3])); - fiat_np224_mulx_u32(&x177, &x178, x2, (arg2[2])); - fiat_np224_mulx_u32(&x179, &x180, x2, (arg2[1])); - fiat_np224_mulx_u32(&x181, &x182, x2, (arg2[0])); - fiat_np224_addcarryx_u32(&x183, &x184, 0x0, x182, x179); - fiat_np224_addcarryx_u32(&x185, &x186, x184, x180, x177); - fiat_np224_addcarryx_u32(&x187, &x188, x186, x178, x175); - fiat_np224_addcarryx_u32(&x189, &x190, x188, x176, x173); - fiat_np224_addcarryx_u32(&x191, &x192, x190, x174, x171); - fiat_np224_addcarryx_u32(&x193, &x194, x192, x172, x169); - x195 = (x194 + x170); - fiat_np224_addcarryx_u32(&x196, &x197, 0x0, x154, x181); - fiat_np224_addcarryx_u32(&x198, &x199, x197, x156, x183); - fiat_np224_addcarryx_u32(&x200, &x201, x199, x158, x185); - fiat_np224_addcarryx_u32(&x202, &x203, x201, x160, x187); - fiat_np224_addcarryx_u32(&x204, &x205, x203, x162, x189); - fiat_np224_addcarryx_u32(&x206, &x207, x205, x164, x191); - fiat_np224_addcarryx_u32(&x208, &x209, x207, x166, x193); - fiat_np224_addcarryx_u32(&x210, &x211, x209, x168, x195); - fiat_np224_mulx_u32(&x212, &x213, x196, UINT32_C(0x6a1fc2eb)); - fiat_np224_mulx_u32(&x214, &x215, x212, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x216, &x217, x212, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x218, &x219, x212, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x220, &x221, x212, UINT32_C(0xffff16a2)); - fiat_np224_mulx_u32(&x222, &x223, x212, UINT32_C(0xe0b8f03e)); - fiat_np224_mulx_u32(&x224, &x225, x212, UINT32_C(0x13dd2945)); - fiat_np224_mulx_u32(&x226, &x227, x212, UINT32_C(0x5c5c2a3d)); - fiat_np224_addcarryx_u32(&x228, &x229, 0x0, x227, x224); - fiat_np224_addcarryx_u32(&x230, &x231, x229, x225, x222); - fiat_np224_addcarryx_u32(&x232, &x233, x231, x223, x220); - fiat_np224_addcarryx_u32(&x234, &x235, x233, x221, x218); - fiat_np224_addcarryx_u32(&x236, &x237, x235, x219, x216); - fiat_np224_addcarryx_u32(&x238, &x239, x237, x217, x214); - x240 = (x239 + x215); - fiat_np224_addcarryx_u32(&x241, &x242, 0x0, x196, x226); - fiat_np224_addcarryx_u32(&x243, &x244, x242, x198, x228); - fiat_np224_addcarryx_u32(&x245, &x246, x244, x200, x230); - fiat_np224_addcarryx_u32(&x247, &x248, x246, x202, x232); - fiat_np224_addcarryx_u32(&x249, &x250, x248, x204, x234); - fiat_np224_addcarryx_u32(&x251, &x252, x250, x206, x236); - fiat_np224_addcarryx_u32(&x253, &x254, x252, x208, x238); - fiat_np224_addcarryx_u32(&x255, &x256, x254, x210, x240); - x257 = ((uint32_t)x256 + x211); - fiat_np224_mulx_u32(&x258, &x259, x3, (arg2[6])); - fiat_np224_mulx_u32(&x260, &x261, x3, (arg2[5])); - fiat_np224_mulx_u32(&x262, &x263, x3, (arg2[4])); - fiat_np224_mulx_u32(&x264, &x265, x3, (arg2[3])); - fiat_np224_mulx_u32(&x266, &x267, x3, (arg2[2])); - fiat_np224_mulx_u32(&x268, &x269, x3, (arg2[1])); - fiat_np224_mulx_u32(&x270, &x271, x3, (arg2[0])); - fiat_np224_addcarryx_u32(&x272, &x273, 0x0, x271, x268); - fiat_np224_addcarryx_u32(&x274, &x275, x273, x269, x266); - fiat_np224_addcarryx_u32(&x276, &x277, x275, x267, x264); - fiat_np224_addcarryx_u32(&x278, &x279, x277, x265, x262); - fiat_np224_addcarryx_u32(&x280, &x281, x279, x263, x260); - fiat_np224_addcarryx_u32(&x282, &x283, x281, x261, x258); - x284 = (x283 + x259); - fiat_np224_addcarryx_u32(&x285, &x286, 0x0, x243, x270); - fiat_np224_addcarryx_u32(&x287, &x288, x286, x245, x272); - fiat_np224_addcarryx_u32(&x289, &x290, x288, x247, x274); - fiat_np224_addcarryx_u32(&x291, &x292, x290, x249, x276); - fiat_np224_addcarryx_u32(&x293, &x294, x292, x251, x278); - fiat_np224_addcarryx_u32(&x295, &x296, x294, x253, x280); - fiat_np224_addcarryx_u32(&x297, &x298, x296, x255, x282); - fiat_np224_addcarryx_u32(&x299, &x300, x298, x257, x284); - fiat_np224_mulx_u32(&x301, &x302, x285, UINT32_C(0x6a1fc2eb)); - fiat_np224_mulx_u32(&x303, &x304, x301, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x305, &x306, x301, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x307, &x308, x301, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x309, &x310, x301, UINT32_C(0xffff16a2)); - fiat_np224_mulx_u32(&x311, &x312, x301, UINT32_C(0xe0b8f03e)); - fiat_np224_mulx_u32(&x313, &x314, x301, UINT32_C(0x13dd2945)); - fiat_np224_mulx_u32(&x315, &x316, x301, UINT32_C(0x5c5c2a3d)); - fiat_np224_addcarryx_u32(&x317, &x318, 0x0, x316, x313); - fiat_np224_addcarryx_u32(&x319, &x320, x318, x314, x311); - fiat_np224_addcarryx_u32(&x321, &x322, x320, x312, x309); - fiat_np224_addcarryx_u32(&x323, &x324, x322, x310, x307); - fiat_np224_addcarryx_u32(&x325, &x326, x324, x308, x305); - fiat_np224_addcarryx_u32(&x327, &x328, x326, x306, x303); - x329 = (x328 + x304); - fiat_np224_addcarryx_u32(&x330, &x331, 0x0, x285, x315); - fiat_np224_addcarryx_u32(&x332, &x333, x331, x287, x317); - fiat_np224_addcarryx_u32(&x334, &x335, x333, x289, x319); - fiat_np224_addcarryx_u32(&x336, &x337, x335, x291, x321); - fiat_np224_addcarryx_u32(&x338, &x339, x337, x293, x323); - fiat_np224_addcarryx_u32(&x340, &x341, x339, x295, x325); - fiat_np224_addcarryx_u32(&x342, &x343, x341, x297, x327); - fiat_np224_addcarryx_u32(&x344, &x345, x343, x299, x329); - x346 = ((uint32_t)x345 + x300); - fiat_np224_mulx_u32(&x347, &x348, x4, (arg2[6])); - fiat_np224_mulx_u32(&x349, &x350, x4, (arg2[5])); - fiat_np224_mulx_u32(&x351, &x352, x4, (arg2[4])); - fiat_np224_mulx_u32(&x353, &x354, x4, (arg2[3])); - fiat_np224_mulx_u32(&x355, &x356, x4, (arg2[2])); - fiat_np224_mulx_u32(&x357, &x358, x4, (arg2[1])); - fiat_np224_mulx_u32(&x359, &x360, x4, (arg2[0])); - fiat_np224_addcarryx_u32(&x361, &x362, 0x0, x360, x357); - fiat_np224_addcarryx_u32(&x363, &x364, x362, x358, x355); - fiat_np224_addcarryx_u32(&x365, &x366, x364, x356, x353); - fiat_np224_addcarryx_u32(&x367, &x368, x366, x354, x351); - fiat_np224_addcarryx_u32(&x369, &x370, x368, x352, x349); - fiat_np224_addcarryx_u32(&x371, &x372, x370, x350, x347); - x373 = (x372 + x348); - fiat_np224_addcarryx_u32(&x374, &x375, 0x0, x332, x359); - fiat_np224_addcarryx_u32(&x376, &x377, x375, x334, x361); - fiat_np224_addcarryx_u32(&x378, &x379, x377, x336, x363); - fiat_np224_addcarryx_u32(&x380, &x381, x379, x338, x365); - fiat_np224_addcarryx_u32(&x382, &x383, x381, x340, x367); - fiat_np224_addcarryx_u32(&x384, &x385, x383, x342, x369); - fiat_np224_addcarryx_u32(&x386, &x387, x385, x344, x371); - fiat_np224_addcarryx_u32(&x388, &x389, x387, x346, x373); - fiat_np224_mulx_u32(&x390, &x391, x374, UINT32_C(0x6a1fc2eb)); - fiat_np224_mulx_u32(&x392, &x393, x390, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x394, &x395, x390, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x396, &x397, x390, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x398, &x399, x390, UINT32_C(0xffff16a2)); - fiat_np224_mulx_u32(&x400, &x401, x390, UINT32_C(0xe0b8f03e)); - fiat_np224_mulx_u32(&x402, &x403, x390, UINT32_C(0x13dd2945)); - fiat_np224_mulx_u32(&x404, &x405, x390, UINT32_C(0x5c5c2a3d)); - fiat_np224_addcarryx_u32(&x406, &x407, 0x0, x405, x402); - fiat_np224_addcarryx_u32(&x408, &x409, x407, x403, x400); - fiat_np224_addcarryx_u32(&x410, &x411, x409, x401, x398); - fiat_np224_addcarryx_u32(&x412, &x413, x411, x399, x396); - fiat_np224_addcarryx_u32(&x414, &x415, x413, x397, x394); - fiat_np224_addcarryx_u32(&x416, &x417, x415, x395, x392); - x418 = (x417 + x393); - fiat_np224_addcarryx_u32(&x419, &x420, 0x0, x374, x404); - fiat_np224_addcarryx_u32(&x421, &x422, x420, x376, x406); - fiat_np224_addcarryx_u32(&x423, &x424, x422, x378, x408); - fiat_np224_addcarryx_u32(&x425, &x426, x424, x380, x410); - fiat_np224_addcarryx_u32(&x427, &x428, x426, x382, x412); - fiat_np224_addcarryx_u32(&x429, &x430, x428, x384, x414); - fiat_np224_addcarryx_u32(&x431, &x432, x430, x386, x416); - fiat_np224_addcarryx_u32(&x433, &x434, x432, x388, x418); - x435 = ((uint32_t)x434 + x389); - fiat_np224_mulx_u32(&x436, &x437, x5, (arg2[6])); - fiat_np224_mulx_u32(&x438, &x439, x5, (arg2[5])); - fiat_np224_mulx_u32(&x440, &x441, x5, (arg2[4])); - fiat_np224_mulx_u32(&x442, &x443, x5, (arg2[3])); - fiat_np224_mulx_u32(&x444, &x445, x5, (arg2[2])); - fiat_np224_mulx_u32(&x446, &x447, x5, (arg2[1])); - fiat_np224_mulx_u32(&x448, &x449, x5, (arg2[0])); - fiat_np224_addcarryx_u32(&x450, &x451, 0x0, x449, x446); - fiat_np224_addcarryx_u32(&x452, &x453, x451, x447, x444); - fiat_np224_addcarryx_u32(&x454, &x455, x453, x445, x442); - fiat_np224_addcarryx_u32(&x456, &x457, x455, x443, x440); - fiat_np224_addcarryx_u32(&x458, &x459, x457, x441, x438); - fiat_np224_addcarryx_u32(&x460, &x461, x459, x439, x436); - x462 = (x461 + x437); - fiat_np224_addcarryx_u32(&x463, &x464, 0x0, x421, x448); - fiat_np224_addcarryx_u32(&x465, &x466, x464, x423, x450); - fiat_np224_addcarryx_u32(&x467, &x468, x466, x425, x452); - fiat_np224_addcarryx_u32(&x469, &x470, x468, x427, x454); - fiat_np224_addcarryx_u32(&x471, &x472, x470, x429, x456); - fiat_np224_addcarryx_u32(&x473, &x474, x472, x431, x458); - fiat_np224_addcarryx_u32(&x475, &x476, x474, x433, x460); - fiat_np224_addcarryx_u32(&x477, &x478, x476, x435, x462); - fiat_np224_mulx_u32(&x479, &x480, x463, UINT32_C(0x6a1fc2eb)); - fiat_np224_mulx_u32(&x481, &x482, x479, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x483, &x484, x479, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x485, &x486, x479, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x487, &x488, x479, UINT32_C(0xffff16a2)); - fiat_np224_mulx_u32(&x489, &x490, x479, UINT32_C(0xe0b8f03e)); - fiat_np224_mulx_u32(&x491, &x492, x479, UINT32_C(0x13dd2945)); - fiat_np224_mulx_u32(&x493, &x494, x479, UINT32_C(0x5c5c2a3d)); - fiat_np224_addcarryx_u32(&x495, &x496, 0x0, x494, x491); - fiat_np224_addcarryx_u32(&x497, &x498, x496, x492, x489); - fiat_np224_addcarryx_u32(&x499, &x500, x498, x490, x487); - fiat_np224_addcarryx_u32(&x501, &x502, x500, x488, x485); - fiat_np224_addcarryx_u32(&x503, &x504, x502, x486, x483); - fiat_np224_addcarryx_u32(&x505, &x506, x504, x484, x481); - x507 = (x506 + x482); - fiat_np224_addcarryx_u32(&x508, &x509, 0x0, x463, x493); - fiat_np224_addcarryx_u32(&x510, &x511, x509, x465, x495); - fiat_np224_addcarryx_u32(&x512, &x513, x511, x467, x497); - fiat_np224_addcarryx_u32(&x514, &x515, x513, x469, x499); - fiat_np224_addcarryx_u32(&x516, &x517, x515, x471, x501); - fiat_np224_addcarryx_u32(&x518, &x519, x517, x473, x503); - fiat_np224_addcarryx_u32(&x520, &x521, x519, x475, x505); - fiat_np224_addcarryx_u32(&x522, &x523, x521, x477, x507); - x524 = ((uint32_t)x523 + x478); - fiat_np224_mulx_u32(&x525, &x526, x6, (arg2[6])); - fiat_np224_mulx_u32(&x527, &x528, x6, (arg2[5])); - fiat_np224_mulx_u32(&x529, &x530, x6, (arg2[4])); - fiat_np224_mulx_u32(&x531, &x532, x6, (arg2[3])); - fiat_np224_mulx_u32(&x533, &x534, x6, (arg2[2])); - fiat_np224_mulx_u32(&x535, &x536, x6, (arg2[1])); - fiat_np224_mulx_u32(&x537, &x538, x6, (arg2[0])); - fiat_np224_addcarryx_u32(&x539, &x540, 0x0, x538, x535); - fiat_np224_addcarryx_u32(&x541, &x542, x540, x536, x533); - fiat_np224_addcarryx_u32(&x543, &x544, x542, x534, x531); - fiat_np224_addcarryx_u32(&x545, &x546, x544, x532, x529); - fiat_np224_addcarryx_u32(&x547, &x548, x546, x530, x527); - fiat_np224_addcarryx_u32(&x549, &x550, x548, x528, x525); - x551 = (x550 + x526); - fiat_np224_addcarryx_u32(&x552, &x553, 0x0, x510, x537); - fiat_np224_addcarryx_u32(&x554, &x555, x553, x512, x539); - fiat_np224_addcarryx_u32(&x556, &x557, x555, x514, x541); - fiat_np224_addcarryx_u32(&x558, &x559, x557, x516, x543); - fiat_np224_addcarryx_u32(&x560, &x561, x559, x518, x545); - fiat_np224_addcarryx_u32(&x562, &x563, x561, x520, x547); - fiat_np224_addcarryx_u32(&x564, &x565, x563, x522, x549); - fiat_np224_addcarryx_u32(&x566, &x567, x565, x524, x551); - fiat_np224_mulx_u32(&x568, &x569, x552, UINT32_C(0x6a1fc2eb)); - fiat_np224_mulx_u32(&x570, &x571, x568, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x572, &x573, x568, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x574, &x575, x568, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x576, &x577, x568, UINT32_C(0xffff16a2)); - fiat_np224_mulx_u32(&x578, &x579, x568, UINT32_C(0xe0b8f03e)); - fiat_np224_mulx_u32(&x580, &x581, x568, UINT32_C(0x13dd2945)); - fiat_np224_mulx_u32(&x582, &x583, x568, UINT32_C(0x5c5c2a3d)); - fiat_np224_addcarryx_u32(&x584, &x585, 0x0, x583, x580); - fiat_np224_addcarryx_u32(&x586, &x587, x585, x581, x578); - fiat_np224_addcarryx_u32(&x588, &x589, x587, x579, x576); - fiat_np224_addcarryx_u32(&x590, &x591, x589, x577, x574); - fiat_np224_addcarryx_u32(&x592, &x593, x591, x575, x572); - fiat_np224_addcarryx_u32(&x594, &x595, x593, x573, x570); - x596 = (x595 + x571); - fiat_np224_addcarryx_u32(&x597, &x598, 0x0, x552, x582); - fiat_np224_addcarryx_u32(&x599, &x600, x598, x554, x584); - fiat_np224_addcarryx_u32(&x601, &x602, x600, x556, x586); - fiat_np224_addcarryx_u32(&x603, &x604, x602, x558, x588); - fiat_np224_addcarryx_u32(&x605, &x606, x604, x560, x590); - fiat_np224_addcarryx_u32(&x607, &x608, x606, x562, x592); - fiat_np224_addcarryx_u32(&x609, &x610, x608, x564, x594); - fiat_np224_addcarryx_u32(&x611, &x612, x610, x566, x596); - x613 = ((uint32_t)x612 + x567); - fiat_np224_subborrowx_u32(&x614, &x615, 0x0, x599, UINT32_C(0x5c5c2a3d)); - fiat_np224_subborrowx_u32(&x616, &x617, x615, x601, UINT32_C(0x13dd2945)); - fiat_np224_subborrowx_u32(&x618, &x619, x617, x603, UINT32_C(0xe0b8f03e)); - fiat_np224_subborrowx_u32(&x620, &x621, x619, x605, UINT32_C(0xffff16a2)); - fiat_np224_subborrowx_u32(&x622, &x623, x621, x607, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u32(&x624, &x625, x623, x609, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u32(&x626, &x627, x625, x611, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u32(&x628, &x629, x627, x613, 0x0); - fiat_np224_cmovznz_u32(&x630, x629, x614, x599); - fiat_np224_cmovznz_u32(&x631, x629, x616, x601); - fiat_np224_cmovznz_u32(&x632, x629, x618, x603); - fiat_np224_cmovznz_u32(&x633, x629, x620, x605); - fiat_np224_cmovznz_u32(&x634, x629, x622, x607); - fiat_np224_cmovznz_u32(&x635, x629, x624, x609); - fiat_np224_cmovznz_u32(&x636, x629, x626, x611); - out1[0] = x630; - out1[1] = x631; - out1[2] = x632; - out1[3] = x633; - out1[4] = x634; - out1[5] = x635; - out1[6] = x636; -} - -/* - * The function fiat_np224_add adds two field elements in the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * 0 ≤ eval arg2 < m - * Postconditions: - * eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_np224_add(fiat_np224_montgomery_domain_field_element out1, const fiat_np224_montgomery_domain_field_element arg1, const fiat_np224_montgomery_domain_field_element arg2) { - uint32_t x1; - fiat_np224_uint1 x2; - uint32_t x3; - fiat_np224_uint1 x4; - uint32_t x5; - fiat_np224_uint1 x6; - uint32_t x7; - fiat_np224_uint1 x8; - uint32_t x9; - fiat_np224_uint1 x10; - uint32_t x11; - fiat_np224_uint1 x12; - uint32_t x13; - fiat_np224_uint1 x14; - uint32_t x15; - fiat_np224_uint1 x16; - uint32_t x17; - fiat_np224_uint1 x18; - uint32_t x19; - fiat_np224_uint1 x20; - uint32_t x21; - fiat_np224_uint1 x22; - uint32_t x23; - fiat_np224_uint1 x24; - uint32_t x25; - fiat_np224_uint1 x26; - uint32_t x27; - fiat_np224_uint1 x28; - uint32_t x29; - fiat_np224_uint1 x30; - uint32_t x31; - uint32_t x32; - uint32_t x33; - uint32_t x34; - uint32_t x35; - uint32_t x36; - uint32_t x37; - fiat_np224_addcarryx_u32(&x1, &x2, 0x0, (arg1[0]), (arg2[0])); - fiat_np224_addcarryx_u32(&x3, &x4, x2, (arg1[1]), (arg2[1])); - fiat_np224_addcarryx_u32(&x5, &x6, x4, (arg1[2]), (arg2[2])); - fiat_np224_addcarryx_u32(&x7, &x8, x6, (arg1[3]), (arg2[3])); - fiat_np224_addcarryx_u32(&x9, &x10, x8, (arg1[4]), (arg2[4])); - fiat_np224_addcarryx_u32(&x11, &x12, x10, (arg1[5]), (arg2[5])); - fiat_np224_addcarryx_u32(&x13, &x14, x12, (arg1[6]), (arg2[6])); - fiat_np224_subborrowx_u32(&x15, &x16, 0x0, x1, UINT32_C(0x5c5c2a3d)); - fiat_np224_subborrowx_u32(&x17, &x18, x16, x3, UINT32_C(0x13dd2945)); - fiat_np224_subborrowx_u32(&x19, &x20, x18, x5, UINT32_C(0xe0b8f03e)); - fiat_np224_subborrowx_u32(&x21, &x22, x20, x7, UINT32_C(0xffff16a2)); - fiat_np224_subborrowx_u32(&x23, &x24, x22, x9, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u32(&x25, &x26, x24, x11, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u32(&x27, &x28, x26, x13, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u32(&x29, &x30, x28, x14, 0x0); - fiat_np224_cmovznz_u32(&x31, x30, x15, x1); - fiat_np224_cmovznz_u32(&x32, x30, x17, x3); - fiat_np224_cmovznz_u32(&x33, x30, x19, x5); - fiat_np224_cmovznz_u32(&x34, x30, x21, x7); - fiat_np224_cmovznz_u32(&x35, x30, x23, x9); - fiat_np224_cmovznz_u32(&x36, x30, x25, x11); - fiat_np224_cmovznz_u32(&x37, x30, x27, x13); - out1[0] = x31; - out1[1] = x32; - out1[2] = x33; - out1[3] = x34; - out1[4] = x35; - out1[5] = x36; - out1[6] = x37; -} - -/* - * The function fiat_np224_opp negates a field element in the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * Postconditions: - * eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_np224_opp(fiat_np224_montgomery_domain_field_element out1, const fiat_np224_montgomery_domain_field_element arg1) { - uint32_t x1; - fiat_np224_uint1 x2; - uint32_t x3; - fiat_np224_uint1 x4; - uint32_t x5; - fiat_np224_uint1 x6; - uint32_t x7; - fiat_np224_uint1 x8; - uint32_t x9; - fiat_np224_uint1 x10; - uint32_t x11; - fiat_np224_uint1 x12; - uint32_t x13; - fiat_np224_uint1 x14; - uint32_t x15; - uint32_t x16; - fiat_np224_uint1 x17; - uint32_t x18; - fiat_np224_uint1 x19; - uint32_t x20; - fiat_np224_uint1 x21; - uint32_t x22; - fiat_np224_uint1 x23; - uint32_t x24; - fiat_np224_uint1 x25; - uint32_t x26; - fiat_np224_uint1 x27; - uint32_t x28; - fiat_np224_uint1 x29; - fiat_np224_subborrowx_u32(&x1, &x2, 0x0, 0x0, (arg1[0])); - fiat_np224_subborrowx_u32(&x3, &x4, x2, 0x0, (arg1[1])); - fiat_np224_subborrowx_u32(&x5, &x6, x4, 0x0, (arg1[2])); - fiat_np224_subborrowx_u32(&x7, &x8, x6, 0x0, (arg1[3])); - fiat_np224_subborrowx_u32(&x9, &x10, x8, 0x0, (arg1[4])); - fiat_np224_subborrowx_u32(&x11, &x12, x10, 0x0, (arg1[5])); - fiat_np224_subborrowx_u32(&x13, &x14, x12, 0x0, (arg1[6])); - fiat_np224_cmovznz_u32(&x15, x14, 0x0, UINT32_C(0xffffffff)); - fiat_np224_addcarryx_u32(&x16, &x17, 0x0, x1, (x15 & UINT32_C(0x5c5c2a3d))); - fiat_np224_addcarryx_u32(&x18, &x19, x17, x3, (x15 & UINT32_C(0x13dd2945))); - fiat_np224_addcarryx_u32(&x20, &x21, x19, x5, (x15 & UINT32_C(0xe0b8f03e))); - fiat_np224_addcarryx_u32(&x22, &x23, x21, x7, (x15 & UINT32_C(0xffff16a2))); - fiat_np224_addcarryx_u32(&x24, &x25, x23, x9, x15); - fiat_np224_addcarryx_u32(&x26, &x27, x25, x11, x15); - fiat_np224_addcarryx_u32(&x28, &x29, x27, x13, x15); - out1[0] = x16; - out1[1] = x18; - out1[2] = x20; - out1[3] = x22; - out1[4] = x24; - out1[5] = x26; - out1[6] = x28; -} - -/* - * The function fiat_np224_from_montgomery translates a field element out of the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * Postconditions: - * eval out1 mod m = (eval arg1 * ((2^32)⁻¹ mod m)^7) mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_np224_from_montgomery(fiat_np224_non_montgomery_domain_field_element out1, const fiat_np224_montgomery_domain_field_element arg1) { - uint32_t x1; - uint32_t x2; - uint32_t x3; - uint32_t x4; - uint32_t x5; - uint32_t x6; - uint32_t x7; - uint32_t x8; - uint32_t x9; - uint32_t x10; - uint32_t x11; - uint32_t x12; - uint32_t x13; - uint32_t x14; - uint32_t x15; - uint32_t x16; - uint32_t x17; - uint32_t x18; - fiat_np224_uint1 x19; - uint32_t x20; - fiat_np224_uint1 x21; - uint32_t x22; - fiat_np224_uint1 x23; - uint32_t x24; - fiat_np224_uint1 x25; - uint32_t x26; - fiat_np224_uint1 x27; - uint32_t x28; - fiat_np224_uint1 x29; - uint32_t x30; - fiat_np224_uint1 x31; - uint32_t x32; - fiat_np224_uint1 x33; - uint32_t x34; - fiat_np224_uint1 x35; - uint32_t x36; - fiat_np224_uint1 x37; - uint32_t x38; - fiat_np224_uint1 x39; - uint32_t x40; - fiat_np224_uint1 x41; - uint32_t x42; - fiat_np224_uint1 x43; - uint32_t x44; - fiat_np224_uint1 x45; - uint32_t x46; - fiat_np224_uint1 x47; - uint32_t x48; - fiat_np224_uint1 x49; - uint32_t x50; - fiat_np224_uint1 x51; - uint32_t x52; - fiat_np224_uint1 x53; - uint32_t x54; - fiat_np224_uint1 x55; - uint32_t x56; - fiat_np224_uint1 x57; - uint32_t x58; - fiat_np224_uint1 x59; - uint32_t x60; - uint32_t x61; - uint32_t x62; - uint32_t x63; - uint32_t x64; - uint32_t x65; - uint32_t x66; - uint32_t x67; - uint32_t x68; - uint32_t x69; - uint32_t x70; - uint32_t x71; - uint32_t x72; - uint32_t x73; - uint32_t x74; - uint32_t x75; - uint32_t x76; - fiat_np224_uint1 x77; - uint32_t x78; - fiat_np224_uint1 x79; - uint32_t x80; - fiat_np224_uint1 x81; - uint32_t x82; - fiat_np224_uint1 x83; - uint32_t x84; - fiat_np224_uint1 x85; - uint32_t x86; - fiat_np224_uint1 x87; - uint32_t x88; - fiat_np224_uint1 x89; - uint32_t x90; - fiat_np224_uint1 x91; - uint32_t x92; - fiat_np224_uint1 x93; - uint32_t x94; - fiat_np224_uint1 x95; - uint32_t x96; - fiat_np224_uint1 x97; - uint32_t x98; - fiat_np224_uint1 x99; - uint32_t x100; - fiat_np224_uint1 x101; - uint32_t x102; - fiat_np224_uint1 x103; - uint32_t x104; - fiat_np224_uint1 x105; - uint32_t x106; - fiat_np224_uint1 x107; - uint32_t x108; - fiat_np224_uint1 x109; - uint32_t x110; - fiat_np224_uint1 x111; - uint32_t x112; - fiat_np224_uint1 x113; - uint32_t x114; - fiat_np224_uint1 x115; - uint32_t x116; - fiat_np224_uint1 x117; - uint32_t x118; - uint32_t x119; - uint32_t x120; - uint32_t x121; - uint32_t x122; - uint32_t x123; - uint32_t x124; - uint32_t x125; - uint32_t x126; - uint32_t x127; - uint32_t x128; - uint32_t x129; - uint32_t x130; - uint32_t x131; - uint32_t x132; - uint32_t x133; - uint32_t x134; - fiat_np224_uint1 x135; - uint32_t x136; - fiat_np224_uint1 x137; - uint32_t x138; - fiat_np224_uint1 x139; - uint32_t x140; - fiat_np224_uint1 x141; - uint32_t x142; - fiat_np224_uint1 x143; - uint32_t x144; - fiat_np224_uint1 x145; - uint32_t x146; - fiat_np224_uint1 x147; - uint32_t x148; - fiat_np224_uint1 x149; - uint32_t x150; - fiat_np224_uint1 x151; - uint32_t x152; - fiat_np224_uint1 x153; - uint32_t x154; - fiat_np224_uint1 x155; - uint32_t x156; - fiat_np224_uint1 x157; - uint32_t x158; - fiat_np224_uint1 x159; - uint32_t x160; - fiat_np224_uint1 x161; - uint32_t x162; - fiat_np224_uint1 x163; - uint32_t x164; - fiat_np224_uint1 x165; - uint32_t x166; - fiat_np224_uint1 x167; - uint32_t x168; - fiat_np224_uint1 x169; - uint32_t x170; - fiat_np224_uint1 x171; - uint32_t x172; - fiat_np224_uint1 x173; - uint32_t x174; - fiat_np224_uint1 x175; - uint32_t x176; - uint32_t x177; - uint32_t x178; - uint32_t x179; - uint32_t x180; - uint32_t x181; - uint32_t x182; - uint32_t x183; - uint32_t x184; - uint32_t x185; - uint32_t x186; - uint32_t x187; - uint32_t x188; - uint32_t x189; - uint32_t x190; - uint32_t x191; - uint32_t x192; - fiat_np224_uint1 x193; - uint32_t x194; - fiat_np224_uint1 x195; - uint32_t x196; - fiat_np224_uint1 x197; - uint32_t x198; - fiat_np224_uint1 x199; - uint32_t x200; - fiat_np224_uint1 x201; - uint32_t x202; - fiat_np224_uint1 x203; - uint32_t x204; - fiat_np224_uint1 x205; - uint32_t x206; - fiat_np224_uint1 x207; - uint32_t x208; - fiat_np224_uint1 x209; - uint32_t x210; - fiat_np224_uint1 x211; - uint32_t x212; - fiat_np224_uint1 x213; - uint32_t x214; - fiat_np224_uint1 x215; - uint32_t x216; - fiat_np224_uint1 x217; - uint32_t x218; - fiat_np224_uint1 x219; - uint32_t x220; - fiat_np224_uint1 x221; - uint32_t x222; - fiat_np224_uint1 x223; - uint32_t x224; - fiat_np224_uint1 x225; - uint32_t x226; - fiat_np224_uint1 x227; - uint32_t x228; - fiat_np224_uint1 x229; - uint32_t x230; - fiat_np224_uint1 x231; - uint32_t x232; - fiat_np224_uint1 x233; - uint32_t x234; - uint32_t x235; - uint32_t x236; - uint32_t x237; - uint32_t x238; - uint32_t x239; - uint32_t x240; - uint32_t x241; - uint32_t x242; - uint32_t x243; - uint32_t x244; - uint32_t x245; - uint32_t x246; - uint32_t x247; - uint32_t x248; - uint32_t x249; - uint32_t x250; - fiat_np224_uint1 x251; - uint32_t x252; - fiat_np224_uint1 x253; - uint32_t x254; - fiat_np224_uint1 x255; - uint32_t x256; - fiat_np224_uint1 x257; - uint32_t x258; - fiat_np224_uint1 x259; - uint32_t x260; - fiat_np224_uint1 x261; - uint32_t x262; - fiat_np224_uint1 x263; - uint32_t x264; - fiat_np224_uint1 x265; - uint32_t x266; - fiat_np224_uint1 x267; - uint32_t x268; - fiat_np224_uint1 x269; - uint32_t x270; - fiat_np224_uint1 x271; - uint32_t x272; - fiat_np224_uint1 x273; - uint32_t x274; - fiat_np224_uint1 x275; - uint32_t x276; - fiat_np224_uint1 x277; - uint32_t x278; - fiat_np224_uint1 x279; - uint32_t x280; - fiat_np224_uint1 x281; - uint32_t x282; - fiat_np224_uint1 x283; - uint32_t x284; - fiat_np224_uint1 x285; - uint32_t x286; - fiat_np224_uint1 x287; - uint32_t x288; - fiat_np224_uint1 x289; - uint32_t x290; - fiat_np224_uint1 x291; - uint32_t x292; - uint32_t x293; - uint32_t x294; - uint32_t x295; - uint32_t x296; - uint32_t x297; - uint32_t x298; - uint32_t x299; - uint32_t x300; - uint32_t x301; - uint32_t x302; - uint32_t x303; - uint32_t x304; - uint32_t x305; - uint32_t x306; - uint32_t x307; - uint32_t x308; - fiat_np224_uint1 x309; - uint32_t x310; - fiat_np224_uint1 x311; - uint32_t x312; - fiat_np224_uint1 x313; - uint32_t x314; - fiat_np224_uint1 x315; - uint32_t x316; - fiat_np224_uint1 x317; - uint32_t x318; - fiat_np224_uint1 x319; - uint32_t x320; - fiat_np224_uint1 x321; - uint32_t x322; - fiat_np224_uint1 x323; - uint32_t x324; - fiat_np224_uint1 x325; - uint32_t x326; - fiat_np224_uint1 x327; - uint32_t x328; - fiat_np224_uint1 x329; - uint32_t x330; - fiat_np224_uint1 x331; - uint32_t x332; - fiat_np224_uint1 x333; - uint32_t x334; - fiat_np224_uint1 x335; - uint32_t x336; - fiat_np224_uint1 x337; - uint32_t x338; - fiat_np224_uint1 x339; - uint32_t x340; - fiat_np224_uint1 x341; - uint32_t x342; - fiat_np224_uint1 x343; - uint32_t x344; - fiat_np224_uint1 x345; - uint32_t x346; - fiat_np224_uint1 x347; - uint32_t x348; - fiat_np224_uint1 x349; - uint32_t x350; - uint32_t x351; - uint32_t x352; - uint32_t x353; - uint32_t x354; - uint32_t x355; - uint32_t x356; - uint32_t x357; - uint32_t x358; - uint32_t x359; - uint32_t x360; - uint32_t x361; - uint32_t x362; - uint32_t x363; - uint32_t x364; - uint32_t x365; - uint32_t x366; - fiat_np224_uint1 x367; - uint32_t x368; - fiat_np224_uint1 x369; - uint32_t x370; - fiat_np224_uint1 x371; - uint32_t x372; - fiat_np224_uint1 x373; - uint32_t x374; - fiat_np224_uint1 x375; - uint32_t x376; - fiat_np224_uint1 x377; - uint32_t x378; - fiat_np224_uint1 x379; - uint32_t x380; - fiat_np224_uint1 x381; - uint32_t x382; - fiat_np224_uint1 x383; - uint32_t x384; - fiat_np224_uint1 x385; - uint32_t x386; - fiat_np224_uint1 x387; - uint32_t x388; - fiat_np224_uint1 x389; - uint32_t x390; - fiat_np224_uint1 x391; - uint32_t x392; - fiat_np224_uint1 x393; - uint32_t x394; - fiat_np224_uint1 x395; - uint32_t x396; - fiat_np224_uint1 x397; - uint32_t x398; - fiat_np224_uint1 x399; - uint32_t x400; - fiat_np224_uint1 x401; - uint32_t x402; - fiat_np224_uint1 x403; - uint32_t x404; - fiat_np224_uint1 x405; - uint32_t x406; - fiat_np224_uint1 x407; - uint32_t x408; - fiat_np224_uint1 x409; - uint32_t x410; - uint32_t x411; - uint32_t x412; - uint32_t x413; - uint32_t x414; - uint32_t x415; - uint32_t x416; - x1 = (arg1[0]); - fiat_np224_mulx_u32(&x2, &x3, x1, UINT32_C(0x6a1fc2eb)); - fiat_np224_mulx_u32(&x4, &x5, x2, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x6, &x7, x2, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x8, &x9, x2, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x10, &x11, x2, UINT32_C(0xffff16a2)); - fiat_np224_mulx_u32(&x12, &x13, x2, UINT32_C(0xe0b8f03e)); - fiat_np224_mulx_u32(&x14, &x15, x2, UINT32_C(0x13dd2945)); - fiat_np224_mulx_u32(&x16, &x17, x2, UINT32_C(0x5c5c2a3d)); - fiat_np224_addcarryx_u32(&x18, &x19, 0x0, x17, x14); - fiat_np224_addcarryx_u32(&x20, &x21, x19, x15, x12); - fiat_np224_addcarryx_u32(&x22, &x23, x21, x13, x10); - fiat_np224_addcarryx_u32(&x24, &x25, x23, x11, x8); - fiat_np224_addcarryx_u32(&x26, &x27, x25, x9, x6); - fiat_np224_addcarryx_u32(&x28, &x29, x27, x7, x4); - fiat_np224_addcarryx_u32(&x30, &x31, 0x0, x1, x16); - fiat_np224_addcarryx_u32(&x32, &x33, x31, 0x0, x18); - fiat_np224_addcarryx_u32(&x34, &x35, x33, 0x0, x20); - fiat_np224_addcarryx_u32(&x36, &x37, x35, 0x0, x22); - fiat_np224_addcarryx_u32(&x38, &x39, x37, 0x0, x24); - fiat_np224_addcarryx_u32(&x40, &x41, x39, 0x0, x26); - fiat_np224_addcarryx_u32(&x42, &x43, x41, 0x0, x28); - fiat_np224_addcarryx_u32(&x44, &x45, x43, 0x0, (x29 + x5)); - fiat_np224_addcarryx_u32(&x46, &x47, 0x0, x32, (arg1[1])); - fiat_np224_addcarryx_u32(&x48, &x49, x47, x34, 0x0); - fiat_np224_addcarryx_u32(&x50, &x51, x49, x36, 0x0); - fiat_np224_addcarryx_u32(&x52, &x53, x51, x38, 0x0); - fiat_np224_addcarryx_u32(&x54, &x55, x53, x40, 0x0); - fiat_np224_addcarryx_u32(&x56, &x57, x55, x42, 0x0); - fiat_np224_addcarryx_u32(&x58, &x59, x57, x44, 0x0); - fiat_np224_mulx_u32(&x60, &x61, x46, UINT32_C(0x6a1fc2eb)); - fiat_np224_mulx_u32(&x62, &x63, x60, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x64, &x65, x60, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x66, &x67, x60, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x68, &x69, x60, UINT32_C(0xffff16a2)); - fiat_np224_mulx_u32(&x70, &x71, x60, UINT32_C(0xe0b8f03e)); - fiat_np224_mulx_u32(&x72, &x73, x60, UINT32_C(0x13dd2945)); - fiat_np224_mulx_u32(&x74, &x75, x60, UINT32_C(0x5c5c2a3d)); - fiat_np224_addcarryx_u32(&x76, &x77, 0x0, x75, x72); - fiat_np224_addcarryx_u32(&x78, &x79, x77, x73, x70); - fiat_np224_addcarryx_u32(&x80, &x81, x79, x71, x68); - fiat_np224_addcarryx_u32(&x82, &x83, x81, x69, x66); - fiat_np224_addcarryx_u32(&x84, &x85, x83, x67, x64); - fiat_np224_addcarryx_u32(&x86, &x87, x85, x65, x62); - fiat_np224_addcarryx_u32(&x88, &x89, 0x0, x46, x74); - fiat_np224_addcarryx_u32(&x90, &x91, x89, x48, x76); - fiat_np224_addcarryx_u32(&x92, &x93, x91, x50, x78); - fiat_np224_addcarryx_u32(&x94, &x95, x93, x52, x80); - fiat_np224_addcarryx_u32(&x96, &x97, x95, x54, x82); - fiat_np224_addcarryx_u32(&x98, &x99, x97, x56, x84); - fiat_np224_addcarryx_u32(&x100, &x101, x99, x58, x86); - fiat_np224_addcarryx_u32(&x102, &x103, x101, ((uint32_t)x59 + x45), (x87 + x63)); - fiat_np224_addcarryx_u32(&x104, &x105, 0x0, x90, (arg1[2])); - fiat_np224_addcarryx_u32(&x106, &x107, x105, x92, 0x0); - fiat_np224_addcarryx_u32(&x108, &x109, x107, x94, 0x0); - fiat_np224_addcarryx_u32(&x110, &x111, x109, x96, 0x0); - fiat_np224_addcarryx_u32(&x112, &x113, x111, x98, 0x0); - fiat_np224_addcarryx_u32(&x114, &x115, x113, x100, 0x0); - fiat_np224_addcarryx_u32(&x116, &x117, x115, x102, 0x0); - fiat_np224_mulx_u32(&x118, &x119, x104, UINT32_C(0x6a1fc2eb)); - fiat_np224_mulx_u32(&x120, &x121, x118, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x122, &x123, x118, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x124, &x125, x118, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x126, &x127, x118, UINT32_C(0xffff16a2)); - fiat_np224_mulx_u32(&x128, &x129, x118, UINT32_C(0xe0b8f03e)); - fiat_np224_mulx_u32(&x130, &x131, x118, UINT32_C(0x13dd2945)); - fiat_np224_mulx_u32(&x132, &x133, x118, UINT32_C(0x5c5c2a3d)); - fiat_np224_addcarryx_u32(&x134, &x135, 0x0, x133, x130); - fiat_np224_addcarryx_u32(&x136, &x137, x135, x131, x128); - fiat_np224_addcarryx_u32(&x138, &x139, x137, x129, x126); - fiat_np224_addcarryx_u32(&x140, &x141, x139, x127, x124); - fiat_np224_addcarryx_u32(&x142, &x143, x141, x125, x122); - fiat_np224_addcarryx_u32(&x144, &x145, x143, x123, x120); - fiat_np224_addcarryx_u32(&x146, &x147, 0x0, x104, x132); - fiat_np224_addcarryx_u32(&x148, &x149, x147, x106, x134); - fiat_np224_addcarryx_u32(&x150, &x151, x149, x108, x136); - fiat_np224_addcarryx_u32(&x152, &x153, x151, x110, x138); - fiat_np224_addcarryx_u32(&x154, &x155, x153, x112, x140); - fiat_np224_addcarryx_u32(&x156, &x157, x155, x114, x142); - fiat_np224_addcarryx_u32(&x158, &x159, x157, x116, x144); - fiat_np224_addcarryx_u32(&x160, &x161, x159, ((uint32_t)x117 + x103), (x145 + x121)); - fiat_np224_addcarryx_u32(&x162, &x163, 0x0, x148, (arg1[3])); - fiat_np224_addcarryx_u32(&x164, &x165, x163, x150, 0x0); - fiat_np224_addcarryx_u32(&x166, &x167, x165, x152, 0x0); - fiat_np224_addcarryx_u32(&x168, &x169, x167, x154, 0x0); - fiat_np224_addcarryx_u32(&x170, &x171, x169, x156, 0x0); - fiat_np224_addcarryx_u32(&x172, &x173, x171, x158, 0x0); - fiat_np224_addcarryx_u32(&x174, &x175, x173, x160, 0x0); - fiat_np224_mulx_u32(&x176, &x177, x162, UINT32_C(0x6a1fc2eb)); - fiat_np224_mulx_u32(&x178, &x179, x176, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x180, &x181, x176, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x182, &x183, x176, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x184, &x185, x176, UINT32_C(0xffff16a2)); - fiat_np224_mulx_u32(&x186, &x187, x176, UINT32_C(0xe0b8f03e)); - fiat_np224_mulx_u32(&x188, &x189, x176, UINT32_C(0x13dd2945)); - fiat_np224_mulx_u32(&x190, &x191, x176, UINT32_C(0x5c5c2a3d)); - fiat_np224_addcarryx_u32(&x192, &x193, 0x0, x191, x188); - fiat_np224_addcarryx_u32(&x194, &x195, x193, x189, x186); - fiat_np224_addcarryx_u32(&x196, &x197, x195, x187, x184); - fiat_np224_addcarryx_u32(&x198, &x199, x197, x185, x182); - fiat_np224_addcarryx_u32(&x200, &x201, x199, x183, x180); - fiat_np224_addcarryx_u32(&x202, &x203, x201, x181, x178); - fiat_np224_addcarryx_u32(&x204, &x205, 0x0, x162, x190); - fiat_np224_addcarryx_u32(&x206, &x207, x205, x164, x192); - fiat_np224_addcarryx_u32(&x208, &x209, x207, x166, x194); - fiat_np224_addcarryx_u32(&x210, &x211, x209, x168, x196); - fiat_np224_addcarryx_u32(&x212, &x213, x211, x170, x198); - fiat_np224_addcarryx_u32(&x214, &x215, x213, x172, x200); - fiat_np224_addcarryx_u32(&x216, &x217, x215, x174, x202); - fiat_np224_addcarryx_u32(&x218, &x219, x217, ((uint32_t)x175 + x161), (x203 + x179)); - fiat_np224_addcarryx_u32(&x220, &x221, 0x0, x206, (arg1[4])); - fiat_np224_addcarryx_u32(&x222, &x223, x221, x208, 0x0); - fiat_np224_addcarryx_u32(&x224, &x225, x223, x210, 0x0); - fiat_np224_addcarryx_u32(&x226, &x227, x225, x212, 0x0); - fiat_np224_addcarryx_u32(&x228, &x229, x227, x214, 0x0); - fiat_np224_addcarryx_u32(&x230, &x231, x229, x216, 0x0); - fiat_np224_addcarryx_u32(&x232, &x233, x231, x218, 0x0); - fiat_np224_mulx_u32(&x234, &x235, x220, UINT32_C(0x6a1fc2eb)); - fiat_np224_mulx_u32(&x236, &x237, x234, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x238, &x239, x234, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x240, &x241, x234, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x242, &x243, x234, UINT32_C(0xffff16a2)); - fiat_np224_mulx_u32(&x244, &x245, x234, UINT32_C(0xe0b8f03e)); - fiat_np224_mulx_u32(&x246, &x247, x234, UINT32_C(0x13dd2945)); - fiat_np224_mulx_u32(&x248, &x249, x234, UINT32_C(0x5c5c2a3d)); - fiat_np224_addcarryx_u32(&x250, &x251, 0x0, x249, x246); - fiat_np224_addcarryx_u32(&x252, &x253, x251, x247, x244); - fiat_np224_addcarryx_u32(&x254, &x255, x253, x245, x242); - fiat_np224_addcarryx_u32(&x256, &x257, x255, x243, x240); - fiat_np224_addcarryx_u32(&x258, &x259, x257, x241, x238); - fiat_np224_addcarryx_u32(&x260, &x261, x259, x239, x236); - fiat_np224_addcarryx_u32(&x262, &x263, 0x0, x220, x248); - fiat_np224_addcarryx_u32(&x264, &x265, x263, x222, x250); - fiat_np224_addcarryx_u32(&x266, &x267, x265, x224, x252); - fiat_np224_addcarryx_u32(&x268, &x269, x267, x226, x254); - fiat_np224_addcarryx_u32(&x270, &x271, x269, x228, x256); - fiat_np224_addcarryx_u32(&x272, &x273, x271, x230, x258); - fiat_np224_addcarryx_u32(&x274, &x275, x273, x232, x260); - fiat_np224_addcarryx_u32(&x276, &x277, x275, ((uint32_t)x233 + x219), (x261 + x237)); - fiat_np224_addcarryx_u32(&x278, &x279, 0x0, x264, (arg1[5])); - fiat_np224_addcarryx_u32(&x280, &x281, x279, x266, 0x0); - fiat_np224_addcarryx_u32(&x282, &x283, x281, x268, 0x0); - fiat_np224_addcarryx_u32(&x284, &x285, x283, x270, 0x0); - fiat_np224_addcarryx_u32(&x286, &x287, x285, x272, 0x0); - fiat_np224_addcarryx_u32(&x288, &x289, x287, x274, 0x0); - fiat_np224_addcarryx_u32(&x290, &x291, x289, x276, 0x0); - fiat_np224_mulx_u32(&x292, &x293, x278, UINT32_C(0x6a1fc2eb)); - fiat_np224_mulx_u32(&x294, &x295, x292, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x296, &x297, x292, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x298, &x299, x292, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x300, &x301, x292, UINT32_C(0xffff16a2)); - fiat_np224_mulx_u32(&x302, &x303, x292, UINT32_C(0xe0b8f03e)); - fiat_np224_mulx_u32(&x304, &x305, x292, UINT32_C(0x13dd2945)); - fiat_np224_mulx_u32(&x306, &x307, x292, UINT32_C(0x5c5c2a3d)); - fiat_np224_addcarryx_u32(&x308, &x309, 0x0, x307, x304); - fiat_np224_addcarryx_u32(&x310, &x311, x309, x305, x302); - fiat_np224_addcarryx_u32(&x312, &x313, x311, x303, x300); - fiat_np224_addcarryx_u32(&x314, &x315, x313, x301, x298); - fiat_np224_addcarryx_u32(&x316, &x317, x315, x299, x296); - fiat_np224_addcarryx_u32(&x318, &x319, x317, x297, x294); - fiat_np224_addcarryx_u32(&x320, &x321, 0x0, x278, x306); - fiat_np224_addcarryx_u32(&x322, &x323, x321, x280, x308); - fiat_np224_addcarryx_u32(&x324, &x325, x323, x282, x310); - fiat_np224_addcarryx_u32(&x326, &x327, x325, x284, x312); - fiat_np224_addcarryx_u32(&x328, &x329, x327, x286, x314); - fiat_np224_addcarryx_u32(&x330, &x331, x329, x288, x316); - fiat_np224_addcarryx_u32(&x332, &x333, x331, x290, x318); - fiat_np224_addcarryx_u32(&x334, &x335, x333, ((uint32_t)x291 + x277), (x319 + x295)); - fiat_np224_addcarryx_u32(&x336, &x337, 0x0, x322, (arg1[6])); - fiat_np224_addcarryx_u32(&x338, &x339, x337, x324, 0x0); - fiat_np224_addcarryx_u32(&x340, &x341, x339, x326, 0x0); - fiat_np224_addcarryx_u32(&x342, &x343, x341, x328, 0x0); - fiat_np224_addcarryx_u32(&x344, &x345, x343, x330, 0x0); - fiat_np224_addcarryx_u32(&x346, &x347, x345, x332, 0x0); - fiat_np224_addcarryx_u32(&x348, &x349, x347, x334, 0x0); - fiat_np224_mulx_u32(&x350, &x351, x336, UINT32_C(0x6a1fc2eb)); - fiat_np224_mulx_u32(&x352, &x353, x350, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x354, &x355, x350, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x356, &x357, x350, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x358, &x359, x350, UINT32_C(0xffff16a2)); - fiat_np224_mulx_u32(&x360, &x361, x350, UINT32_C(0xe0b8f03e)); - fiat_np224_mulx_u32(&x362, &x363, x350, UINT32_C(0x13dd2945)); - fiat_np224_mulx_u32(&x364, &x365, x350, UINT32_C(0x5c5c2a3d)); - fiat_np224_addcarryx_u32(&x366, &x367, 0x0, x365, x362); - fiat_np224_addcarryx_u32(&x368, &x369, x367, x363, x360); - fiat_np224_addcarryx_u32(&x370, &x371, x369, x361, x358); - fiat_np224_addcarryx_u32(&x372, &x373, x371, x359, x356); - fiat_np224_addcarryx_u32(&x374, &x375, x373, x357, x354); - fiat_np224_addcarryx_u32(&x376, &x377, x375, x355, x352); - fiat_np224_addcarryx_u32(&x378, &x379, 0x0, x336, x364); - fiat_np224_addcarryx_u32(&x380, &x381, x379, x338, x366); - fiat_np224_addcarryx_u32(&x382, &x383, x381, x340, x368); - fiat_np224_addcarryx_u32(&x384, &x385, x383, x342, x370); - fiat_np224_addcarryx_u32(&x386, &x387, x385, x344, x372); - fiat_np224_addcarryx_u32(&x388, &x389, x387, x346, x374); - fiat_np224_addcarryx_u32(&x390, &x391, x389, x348, x376); - fiat_np224_addcarryx_u32(&x392, &x393, x391, ((uint32_t)x349 + x335), (x377 + x353)); - fiat_np224_subborrowx_u32(&x394, &x395, 0x0, x380, UINT32_C(0x5c5c2a3d)); - fiat_np224_subborrowx_u32(&x396, &x397, x395, x382, UINT32_C(0x13dd2945)); - fiat_np224_subborrowx_u32(&x398, &x399, x397, x384, UINT32_C(0xe0b8f03e)); - fiat_np224_subborrowx_u32(&x400, &x401, x399, x386, UINT32_C(0xffff16a2)); - fiat_np224_subborrowx_u32(&x402, &x403, x401, x388, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u32(&x404, &x405, x403, x390, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u32(&x406, &x407, x405, x392, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u32(&x408, &x409, x407, x393, 0x0); - fiat_np224_cmovznz_u32(&x410, x409, x394, x380); - fiat_np224_cmovznz_u32(&x411, x409, x396, x382); - fiat_np224_cmovznz_u32(&x412, x409, x398, x384); - fiat_np224_cmovznz_u32(&x413, x409, x400, x386); - fiat_np224_cmovznz_u32(&x414, x409, x402, x388); - fiat_np224_cmovznz_u32(&x415, x409, x404, x390); - fiat_np224_cmovznz_u32(&x416, x409, x406, x392); - out1[0] = x410; - out1[1] = x411; - out1[2] = x412; - out1[3] = x413; - out1[4] = x414; - out1[5] = x415; - out1[6] = x416; -} - -/* - * The function fiat_np224_to_montgomery translates a field element into the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * Postconditions: - * eval (from_montgomery out1) mod m = eval arg1 mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_np224_to_montgomery(fiat_np224_montgomery_domain_field_element out1, const fiat_np224_non_montgomery_domain_field_element arg1) { - uint32_t x1; - uint32_t x2; - uint32_t x3; - uint32_t x4; - uint32_t x5; - uint32_t x6; - uint32_t x7; - uint32_t x8; - uint32_t x9; - uint32_t x10; - uint32_t x11; - uint32_t x12; - uint32_t x13; - uint32_t x14; - uint32_t x15; - uint32_t x16; - uint32_t x17; - uint32_t x18; - uint32_t x19; - uint32_t x20; - uint32_t x21; - uint32_t x22; - fiat_np224_uint1 x23; - uint32_t x24; - fiat_np224_uint1 x25; - uint32_t x26; - fiat_np224_uint1 x27; - uint32_t x28; - fiat_np224_uint1 x29; - uint32_t x30; - fiat_np224_uint1 x31; - uint32_t x32; - fiat_np224_uint1 x33; - uint32_t x34; - uint32_t x35; - uint32_t x36; - uint32_t x37; - uint32_t x38; - uint32_t x39; - uint32_t x40; - uint32_t x41; - uint32_t x42; - uint32_t x43; - uint32_t x44; - uint32_t x45; - uint32_t x46; - uint32_t x47; - uint32_t x48; - uint32_t x49; - uint32_t x50; - fiat_np224_uint1 x51; - uint32_t x52; - fiat_np224_uint1 x53; - uint32_t x54; - fiat_np224_uint1 x55; - uint32_t x56; - fiat_np224_uint1 x57; - uint32_t x58; - fiat_np224_uint1 x59; - uint32_t x60; - fiat_np224_uint1 x61; - uint32_t x62; - fiat_np224_uint1 x63; - uint32_t x64; - fiat_np224_uint1 x65; - uint32_t x66; - fiat_np224_uint1 x67; - uint32_t x68; - fiat_np224_uint1 x69; - uint32_t x70; - fiat_np224_uint1 x71; - uint32_t x72; - fiat_np224_uint1 x73; - uint32_t x74; - fiat_np224_uint1 x75; - uint32_t x76; - fiat_np224_uint1 x77; - uint32_t x78; - uint32_t x79; - uint32_t x80; - uint32_t x81; - uint32_t x82; - uint32_t x83; - uint32_t x84; - uint32_t x85; - uint32_t x86; - uint32_t x87; - uint32_t x88; - uint32_t x89; - uint32_t x90; - uint32_t x91; - uint32_t x92; - fiat_np224_uint1 x93; - uint32_t x94; - fiat_np224_uint1 x95; - uint32_t x96; - fiat_np224_uint1 x97; - uint32_t x98; - fiat_np224_uint1 x99; - uint32_t x100; - fiat_np224_uint1 x101; - uint32_t x102; - fiat_np224_uint1 x103; - uint32_t x104; - fiat_np224_uint1 x105; - uint32_t x106; - fiat_np224_uint1 x107; - uint32_t x108; - fiat_np224_uint1 x109; - uint32_t x110; - fiat_np224_uint1 x111; - uint32_t x112; - fiat_np224_uint1 x113; - uint32_t x114; - fiat_np224_uint1 x115; - uint32_t x116; - fiat_np224_uint1 x117; - uint32_t x118; - uint32_t x119; - uint32_t x120; - uint32_t x121; - uint32_t x122; - uint32_t x123; - uint32_t x124; - uint32_t x125; - uint32_t x126; - uint32_t x127; - uint32_t x128; - uint32_t x129; - uint32_t x130; - uint32_t x131; - uint32_t x132; - uint32_t x133; - uint32_t x134; - fiat_np224_uint1 x135; - uint32_t x136; - fiat_np224_uint1 x137; - uint32_t x138; - fiat_np224_uint1 x139; - uint32_t x140; - fiat_np224_uint1 x141; - uint32_t x142; - fiat_np224_uint1 x143; - uint32_t x144; - fiat_np224_uint1 x145; - uint32_t x146; - fiat_np224_uint1 x147; - uint32_t x148; - fiat_np224_uint1 x149; - uint32_t x150; - fiat_np224_uint1 x151; - uint32_t x152; - fiat_np224_uint1 x153; - uint32_t x154; - fiat_np224_uint1 x155; - uint32_t x156; - fiat_np224_uint1 x157; - uint32_t x158; - fiat_np224_uint1 x159; - uint32_t x160; - fiat_np224_uint1 x161; - uint32_t x162; - uint32_t x163; - uint32_t x164; - uint32_t x165; - uint32_t x166; - uint32_t x167; - uint32_t x168; - uint32_t x169; - uint32_t x170; - uint32_t x171; - uint32_t x172; - uint32_t x173; - uint32_t x174; - uint32_t x175; - uint32_t x176; - fiat_np224_uint1 x177; - uint32_t x178; - fiat_np224_uint1 x179; - uint32_t x180; - fiat_np224_uint1 x181; - uint32_t x182; - fiat_np224_uint1 x183; - uint32_t x184; - fiat_np224_uint1 x185; - uint32_t x186; - fiat_np224_uint1 x187; - uint32_t x188; - fiat_np224_uint1 x189; - uint32_t x190; - fiat_np224_uint1 x191; - uint32_t x192; - fiat_np224_uint1 x193; - uint32_t x194; - fiat_np224_uint1 x195; - uint32_t x196; - fiat_np224_uint1 x197; - uint32_t x198; - fiat_np224_uint1 x199; - uint32_t x200; - fiat_np224_uint1 x201; - uint32_t x202; - uint32_t x203; - uint32_t x204; - uint32_t x205; - uint32_t x206; - uint32_t x207; - uint32_t x208; - uint32_t x209; - uint32_t x210; - uint32_t x211; - uint32_t x212; - uint32_t x213; - uint32_t x214; - uint32_t x215; - uint32_t x216; - uint32_t x217; - uint32_t x218; - fiat_np224_uint1 x219; - uint32_t x220; - fiat_np224_uint1 x221; - uint32_t x222; - fiat_np224_uint1 x223; - uint32_t x224; - fiat_np224_uint1 x225; - uint32_t x226; - fiat_np224_uint1 x227; - uint32_t x228; - fiat_np224_uint1 x229; - uint32_t x230; - fiat_np224_uint1 x231; - uint32_t x232; - fiat_np224_uint1 x233; - uint32_t x234; - fiat_np224_uint1 x235; - uint32_t x236; - fiat_np224_uint1 x237; - uint32_t x238; - fiat_np224_uint1 x239; - uint32_t x240; - fiat_np224_uint1 x241; - uint32_t x242; - fiat_np224_uint1 x243; - uint32_t x244; - fiat_np224_uint1 x245; - uint32_t x246; - uint32_t x247; - uint32_t x248; - uint32_t x249; - uint32_t x250; - uint32_t x251; - uint32_t x252; - uint32_t x253; - uint32_t x254; - uint32_t x255; - uint32_t x256; - uint32_t x257; - uint32_t x258; - uint32_t x259; - uint32_t x260; - fiat_np224_uint1 x261; - uint32_t x262; - fiat_np224_uint1 x263; - uint32_t x264; - fiat_np224_uint1 x265; - uint32_t x266; - fiat_np224_uint1 x267; - uint32_t x268; - fiat_np224_uint1 x269; - uint32_t x270; - fiat_np224_uint1 x271; - uint32_t x272; - fiat_np224_uint1 x273; - uint32_t x274; - fiat_np224_uint1 x275; - uint32_t x276; - fiat_np224_uint1 x277; - uint32_t x278; - fiat_np224_uint1 x279; - uint32_t x280; - fiat_np224_uint1 x281; - uint32_t x282; - fiat_np224_uint1 x283; - uint32_t x284; - fiat_np224_uint1 x285; - uint32_t x286; - uint32_t x287; - uint32_t x288; - uint32_t x289; - uint32_t x290; - uint32_t x291; - uint32_t x292; - uint32_t x293; - uint32_t x294; - uint32_t x295; - uint32_t x296; - uint32_t x297; - uint32_t x298; - uint32_t x299; - uint32_t x300; - uint32_t x301; - uint32_t x302; - fiat_np224_uint1 x303; - uint32_t x304; - fiat_np224_uint1 x305; - uint32_t x306; - fiat_np224_uint1 x307; - uint32_t x308; - fiat_np224_uint1 x309; - uint32_t x310; - fiat_np224_uint1 x311; - uint32_t x312; - fiat_np224_uint1 x313; - uint32_t x314; - fiat_np224_uint1 x315; - uint32_t x316; - fiat_np224_uint1 x317; - uint32_t x318; - fiat_np224_uint1 x319; - uint32_t x320; - fiat_np224_uint1 x321; - uint32_t x322; - fiat_np224_uint1 x323; - uint32_t x324; - fiat_np224_uint1 x325; - uint32_t x326; - fiat_np224_uint1 x327; - uint32_t x328; - fiat_np224_uint1 x329; - uint32_t x330; - uint32_t x331; - uint32_t x332; - uint32_t x333; - uint32_t x334; - uint32_t x335; - uint32_t x336; - uint32_t x337; - uint32_t x338; - uint32_t x339; - uint32_t x340; - uint32_t x341; - uint32_t x342; - uint32_t x343; - uint32_t x344; - fiat_np224_uint1 x345; - uint32_t x346; - fiat_np224_uint1 x347; - uint32_t x348; - fiat_np224_uint1 x349; - uint32_t x350; - fiat_np224_uint1 x351; - uint32_t x352; - fiat_np224_uint1 x353; - uint32_t x354; - fiat_np224_uint1 x355; - uint32_t x356; - fiat_np224_uint1 x357; - uint32_t x358; - fiat_np224_uint1 x359; - uint32_t x360; - fiat_np224_uint1 x361; - uint32_t x362; - fiat_np224_uint1 x363; - uint32_t x364; - fiat_np224_uint1 x365; - uint32_t x366; - fiat_np224_uint1 x367; - uint32_t x368; - fiat_np224_uint1 x369; - uint32_t x370; - uint32_t x371; - uint32_t x372; - uint32_t x373; - uint32_t x374; - uint32_t x375; - uint32_t x376; - uint32_t x377; - uint32_t x378; - uint32_t x379; - uint32_t x380; - uint32_t x381; - uint32_t x382; - uint32_t x383; - uint32_t x384; - uint32_t x385; - uint32_t x386; - fiat_np224_uint1 x387; - uint32_t x388; - fiat_np224_uint1 x389; - uint32_t x390; - fiat_np224_uint1 x391; - uint32_t x392; - fiat_np224_uint1 x393; - uint32_t x394; - fiat_np224_uint1 x395; - uint32_t x396; - fiat_np224_uint1 x397; - uint32_t x398; - fiat_np224_uint1 x399; - uint32_t x400; - fiat_np224_uint1 x401; - uint32_t x402; - fiat_np224_uint1 x403; - uint32_t x404; - fiat_np224_uint1 x405; - uint32_t x406; - fiat_np224_uint1 x407; - uint32_t x408; - fiat_np224_uint1 x409; - uint32_t x410; - fiat_np224_uint1 x411; - uint32_t x412; - fiat_np224_uint1 x413; - uint32_t x414; - uint32_t x415; - uint32_t x416; - uint32_t x417; - uint32_t x418; - uint32_t x419; - uint32_t x420; - uint32_t x421; - uint32_t x422; - uint32_t x423; - uint32_t x424; - uint32_t x425; - uint32_t x426; - uint32_t x427; - uint32_t x428; - fiat_np224_uint1 x429; - uint32_t x430; - fiat_np224_uint1 x431; - uint32_t x432; - fiat_np224_uint1 x433; - uint32_t x434; - fiat_np224_uint1 x435; - uint32_t x436; - fiat_np224_uint1 x437; - uint32_t x438; - fiat_np224_uint1 x439; - uint32_t x440; - fiat_np224_uint1 x441; - uint32_t x442; - fiat_np224_uint1 x443; - uint32_t x444; - fiat_np224_uint1 x445; - uint32_t x446; - fiat_np224_uint1 x447; - uint32_t x448; - fiat_np224_uint1 x449; - uint32_t x450; - fiat_np224_uint1 x451; - uint32_t x452; - fiat_np224_uint1 x453; - uint32_t x454; - uint32_t x455; - uint32_t x456; - uint32_t x457; - uint32_t x458; - uint32_t x459; - uint32_t x460; - uint32_t x461; - uint32_t x462; - uint32_t x463; - uint32_t x464; - uint32_t x465; - uint32_t x466; - uint32_t x467; - uint32_t x468; - uint32_t x469; - uint32_t x470; - fiat_np224_uint1 x471; - uint32_t x472; - fiat_np224_uint1 x473; - uint32_t x474; - fiat_np224_uint1 x475; - uint32_t x476; - fiat_np224_uint1 x477; - uint32_t x478; - fiat_np224_uint1 x479; - uint32_t x480; - fiat_np224_uint1 x481; - uint32_t x482; - fiat_np224_uint1 x483; - uint32_t x484; - fiat_np224_uint1 x485; - uint32_t x486; - fiat_np224_uint1 x487; - uint32_t x488; - fiat_np224_uint1 x489; - uint32_t x490; - fiat_np224_uint1 x491; - uint32_t x492; - fiat_np224_uint1 x493; - uint32_t x494; - fiat_np224_uint1 x495; - uint32_t x496; - fiat_np224_uint1 x497; - uint32_t x498; - uint32_t x499; - uint32_t x500; - uint32_t x501; - uint32_t x502; - uint32_t x503; - uint32_t x504; - uint32_t x505; - uint32_t x506; - uint32_t x507; - uint32_t x508; - uint32_t x509; - uint32_t x510; - uint32_t x511; - uint32_t x512; - fiat_np224_uint1 x513; - uint32_t x514; - fiat_np224_uint1 x515; - uint32_t x516; - fiat_np224_uint1 x517; - uint32_t x518; - fiat_np224_uint1 x519; - uint32_t x520; - fiat_np224_uint1 x521; - uint32_t x522; - fiat_np224_uint1 x523; - uint32_t x524; - fiat_np224_uint1 x525; - uint32_t x526; - fiat_np224_uint1 x527; - uint32_t x528; - fiat_np224_uint1 x529; - uint32_t x530; - fiat_np224_uint1 x531; - uint32_t x532; - fiat_np224_uint1 x533; - uint32_t x534; - fiat_np224_uint1 x535; - uint32_t x536; - fiat_np224_uint1 x537; - uint32_t x538; - uint32_t x539; - uint32_t x540; - uint32_t x541; - uint32_t x542; - uint32_t x543; - uint32_t x544; - uint32_t x545; - uint32_t x546; - uint32_t x547; - uint32_t x548; - uint32_t x549; - uint32_t x550; - uint32_t x551; - uint32_t x552; - uint32_t x553; - uint32_t x554; - fiat_np224_uint1 x555; - uint32_t x556; - fiat_np224_uint1 x557; - uint32_t x558; - fiat_np224_uint1 x559; - uint32_t x560; - fiat_np224_uint1 x561; - uint32_t x562; - fiat_np224_uint1 x563; - uint32_t x564; - fiat_np224_uint1 x565; - uint32_t x566; - fiat_np224_uint1 x567; - uint32_t x568; - fiat_np224_uint1 x569; - uint32_t x570; - fiat_np224_uint1 x571; - uint32_t x572; - fiat_np224_uint1 x573; - uint32_t x574; - fiat_np224_uint1 x575; - uint32_t x576; - fiat_np224_uint1 x577; - uint32_t x578; - fiat_np224_uint1 x579; - uint32_t x580; - fiat_np224_uint1 x581; - uint32_t x582; - fiat_np224_uint1 x583; - uint32_t x584; - fiat_np224_uint1 x585; - uint32_t x586; - fiat_np224_uint1 x587; - uint32_t x588; - fiat_np224_uint1 x589; - uint32_t x590; - fiat_np224_uint1 x591; - uint32_t x592; - fiat_np224_uint1 x593; - uint32_t x594; - fiat_np224_uint1 x595; - uint32_t x596; - fiat_np224_uint1 x597; - uint32_t x598; - uint32_t x599; - uint32_t x600; - uint32_t x601; - uint32_t x602; - uint32_t x603; - uint32_t x604; - x1 = (arg1[1]); - x2 = (arg1[2]); - x3 = (arg1[3]); - x4 = (arg1[4]); - x5 = (arg1[5]); - x6 = (arg1[6]); - x7 = (arg1[0]); - fiat_np224_mulx_u32(&x8, &x9, x7, UINT32_C(0xd4baa4cf)); - fiat_np224_mulx_u32(&x10, &x11, x7, UINT32_C(0x1822bc47)); - fiat_np224_mulx_u32(&x12, &x13, x7, UINT32_C(0xb1e97961)); - fiat_np224_mulx_u32(&x14, &x15, x7, UINT32_C(0x6ad09d91)); - fiat_np224_mulx_u32(&x16, &x17, x7, UINT32_C(0x97a54552)); - fiat_np224_mulx_u32(&x18, &x19, x7, UINT32_C(0x6bdaae6c)); - fiat_np224_mulx_u32(&x20, &x21, x7, UINT32_C(0x3ad01289)); - fiat_np224_addcarryx_u32(&x22, &x23, 0x0, x21, x18); - fiat_np224_addcarryx_u32(&x24, &x25, x23, x19, x16); - fiat_np224_addcarryx_u32(&x26, &x27, x25, x17, x14); - fiat_np224_addcarryx_u32(&x28, &x29, x27, x15, x12); - fiat_np224_addcarryx_u32(&x30, &x31, x29, x13, x10); - fiat_np224_addcarryx_u32(&x32, &x33, x31, x11, x8); - fiat_np224_mulx_u32(&x34, &x35, x20, UINT32_C(0x6a1fc2eb)); - fiat_np224_mulx_u32(&x36, &x37, x34, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x38, &x39, x34, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x40, &x41, x34, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x42, &x43, x34, UINT32_C(0xffff16a2)); - fiat_np224_mulx_u32(&x44, &x45, x34, UINT32_C(0xe0b8f03e)); - fiat_np224_mulx_u32(&x46, &x47, x34, UINT32_C(0x13dd2945)); - fiat_np224_mulx_u32(&x48, &x49, x34, UINT32_C(0x5c5c2a3d)); - fiat_np224_addcarryx_u32(&x50, &x51, 0x0, x49, x46); - fiat_np224_addcarryx_u32(&x52, &x53, x51, x47, x44); - fiat_np224_addcarryx_u32(&x54, &x55, x53, x45, x42); - fiat_np224_addcarryx_u32(&x56, &x57, x55, x43, x40); - fiat_np224_addcarryx_u32(&x58, &x59, x57, x41, x38); - fiat_np224_addcarryx_u32(&x60, &x61, x59, x39, x36); - fiat_np224_addcarryx_u32(&x62, &x63, 0x0, x20, x48); - fiat_np224_addcarryx_u32(&x64, &x65, x63, x22, x50); - fiat_np224_addcarryx_u32(&x66, &x67, x65, x24, x52); - fiat_np224_addcarryx_u32(&x68, &x69, x67, x26, x54); - fiat_np224_addcarryx_u32(&x70, &x71, x69, x28, x56); - fiat_np224_addcarryx_u32(&x72, &x73, x71, x30, x58); - fiat_np224_addcarryx_u32(&x74, &x75, x73, x32, x60); - fiat_np224_addcarryx_u32(&x76, &x77, x75, (x33 + x9), (x61 + x37)); - fiat_np224_mulx_u32(&x78, &x79, x1, UINT32_C(0xd4baa4cf)); - fiat_np224_mulx_u32(&x80, &x81, x1, UINT32_C(0x1822bc47)); - fiat_np224_mulx_u32(&x82, &x83, x1, UINT32_C(0xb1e97961)); - fiat_np224_mulx_u32(&x84, &x85, x1, UINT32_C(0x6ad09d91)); - fiat_np224_mulx_u32(&x86, &x87, x1, UINT32_C(0x97a54552)); - fiat_np224_mulx_u32(&x88, &x89, x1, UINT32_C(0x6bdaae6c)); - fiat_np224_mulx_u32(&x90, &x91, x1, UINT32_C(0x3ad01289)); - fiat_np224_addcarryx_u32(&x92, &x93, 0x0, x91, x88); - fiat_np224_addcarryx_u32(&x94, &x95, x93, x89, x86); - fiat_np224_addcarryx_u32(&x96, &x97, x95, x87, x84); - fiat_np224_addcarryx_u32(&x98, &x99, x97, x85, x82); - fiat_np224_addcarryx_u32(&x100, &x101, x99, x83, x80); - fiat_np224_addcarryx_u32(&x102, &x103, x101, x81, x78); - fiat_np224_addcarryx_u32(&x104, &x105, 0x0, x64, x90); - fiat_np224_addcarryx_u32(&x106, &x107, x105, x66, x92); - fiat_np224_addcarryx_u32(&x108, &x109, x107, x68, x94); - fiat_np224_addcarryx_u32(&x110, &x111, x109, x70, x96); - fiat_np224_addcarryx_u32(&x112, &x113, x111, x72, x98); - fiat_np224_addcarryx_u32(&x114, &x115, x113, x74, x100); - fiat_np224_addcarryx_u32(&x116, &x117, x115, x76, x102); - fiat_np224_mulx_u32(&x118, &x119, x104, UINT32_C(0x6a1fc2eb)); - fiat_np224_mulx_u32(&x120, &x121, x118, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x122, &x123, x118, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x124, &x125, x118, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x126, &x127, x118, UINT32_C(0xffff16a2)); - fiat_np224_mulx_u32(&x128, &x129, x118, UINT32_C(0xe0b8f03e)); - fiat_np224_mulx_u32(&x130, &x131, x118, UINT32_C(0x13dd2945)); - fiat_np224_mulx_u32(&x132, &x133, x118, UINT32_C(0x5c5c2a3d)); - fiat_np224_addcarryx_u32(&x134, &x135, 0x0, x133, x130); - fiat_np224_addcarryx_u32(&x136, &x137, x135, x131, x128); - fiat_np224_addcarryx_u32(&x138, &x139, x137, x129, x126); - fiat_np224_addcarryx_u32(&x140, &x141, x139, x127, x124); - fiat_np224_addcarryx_u32(&x142, &x143, x141, x125, x122); - fiat_np224_addcarryx_u32(&x144, &x145, x143, x123, x120); - fiat_np224_addcarryx_u32(&x146, &x147, 0x0, x104, x132); - fiat_np224_addcarryx_u32(&x148, &x149, x147, x106, x134); - fiat_np224_addcarryx_u32(&x150, &x151, x149, x108, x136); - fiat_np224_addcarryx_u32(&x152, &x153, x151, x110, x138); - fiat_np224_addcarryx_u32(&x154, &x155, x153, x112, x140); - fiat_np224_addcarryx_u32(&x156, &x157, x155, x114, x142); - fiat_np224_addcarryx_u32(&x158, &x159, x157, x116, x144); - fiat_np224_addcarryx_u32(&x160, &x161, x159, (((uint32_t)x117 + x77) + (x103 + x79)), (x145 + x121)); - fiat_np224_mulx_u32(&x162, &x163, x2, UINT32_C(0xd4baa4cf)); - fiat_np224_mulx_u32(&x164, &x165, x2, UINT32_C(0x1822bc47)); - fiat_np224_mulx_u32(&x166, &x167, x2, UINT32_C(0xb1e97961)); - fiat_np224_mulx_u32(&x168, &x169, x2, UINT32_C(0x6ad09d91)); - fiat_np224_mulx_u32(&x170, &x171, x2, UINT32_C(0x97a54552)); - fiat_np224_mulx_u32(&x172, &x173, x2, UINT32_C(0x6bdaae6c)); - fiat_np224_mulx_u32(&x174, &x175, x2, UINT32_C(0x3ad01289)); - fiat_np224_addcarryx_u32(&x176, &x177, 0x0, x175, x172); - fiat_np224_addcarryx_u32(&x178, &x179, x177, x173, x170); - fiat_np224_addcarryx_u32(&x180, &x181, x179, x171, x168); - fiat_np224_addcarryx_u32(&x182, &x183, x181, x169, x166); - fiat_np224_addcarryx_u32(&x184, &x185, x183, x167, x164); - fiat_np224_addcarryx_u32(&x186, &x187, x185, x165, x162); - fiat_np224_addcarryx_u32(&x188, &x189, 0x0, x148, x174); - fiat_np224_addcarryx_u32(&x190, &x191, x189, x150, x176); - fiat_np224_addcarryx_u32(&x192, &x193, x191, x152, x178); - fiat_np224_addcarryx_u32(&x194, &x195, x193, x154, x180); - fiat_np224_addcarryx_u32(&x196, &x197, x195, x156, x182); - fiat_np224_addcarryx_u32(&x198, &x199, x197, x158, x184); - fiat_np224_addcarryx_u32(&x200, &x201, x199, x160, x186); - fiat_np224_mulx_u32(&x202, &x203, x188, UINT32_C(0x6a1fc2eb)); - fiat_np224_mulx_u32(&x204, &x205, x202, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x206, &x207, x202, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x208, &x209, x202, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x210, &x211, x202, UINT32_C(0xffff16a2)); - fiat_np224_mulx_u32(&x212, &x213, x202, UINT32_C(0xe0b8f03e)); - fiat_np224_mulx_u32(&x214, &x215, x202, UINT32_C(0x13dd2945)); - fiat_np224_mulx_u32(&x216, &x217, x202, UINT32_C(0x5c5c2a3d)); - fiat_np224_addcarryx_u32(&x218, &x219, 0x0, x217, x214); - fiat_np224_addcarryx_u32(&x220, &x221, x219, x215, x212); - fiat_np224_addcarryx_u32(&x222, &x223, x221, x213, x210); - fiat_np224_addcarryx_u32(&x224, &x225, x223, x211, x208); - fiat_np224_addcarryx_u32(&x226, &x227, x225, x209, x206); - fiat_np224_addcarryx_u32(&x228, &x229, x227, x207, x204); - fiat_np224_addcarryx_u32(&x230, &x231, 0x0, x188, x216); - fiat_np224_addcarryx_u32(&x232, &x233, x231, x190, x218); - fiat_np224_addcarryx_u32(&x234, &x235, x233, x192, x220); - fiat_np224_addcarryx_u32(&x236, &x237, x235, x194, x222); - fiat_np224_addcarryx_u32(&x238, &x239, x237, x196, x224); - fiat_np224_addcarryx_u32(&x240, &x241, x239, x198, x226); - fiat_np224_addcarryx_u32(&x242, &x243, x241, x200, x228); - fiat_np224_addcarryx_u32(&x244, &x245, x243, (((uint32_t)x201 + x161) + (x187 + x163)), (x229 + x205)); - fiat_np224_mulx_u32(&x246, &x247, x3, UINT32_C(0xd4baa4cf)); - fiat_np224_mulx_u32(&x248, &x249, x3, UINT32_C(0x1822bc47)); - fiat_np224_mulx_u32(&x250, &x251, x3, UINT32_C(0xb1e97961)); - fiat_np224_mulx_u32(&x252, &x253, x3, UINT32_C(0x6ad09d91)); - fiat_np224_mulx_u32(&x254, &x255, x3, UINT32_C(0x97a54552)); - fiat_np224_mulx_u32(&x256, &x257, x3, UINT32_C(0x6bdaae6c)); - fiat_np224_mulx_u32(&x258, &x259, x3, UINT32_C(0x3ad01289)); - fiat_np224_addcarryx_u32(&x260, &x261, 0x0, x259, x256); - fiat_np224_addcarryx_u32(&x262, &x263, x261, x257, x254); - fiat_np224_addcarryx_u32(&x264, &x265, x263, x255, x252); - fiat_np224_addcarryx_u32(&x266, &x267, x265, x253, x250); - fiat_np224_addcarryx_u32(&x268, &x269, x267, x251, x248); - fiat_np224_addcarryx_u32(&x270, &x271, x269, x249, x246); - fiat_np224_addcarryx_u32(&x272, &x273, 0x0, x232, x258); - fiat_np224_addcarryx_u32(&x274, &x275, x273, x234, x260); - fiat_np224_addcarryx_u32(&x276, &x277, x275, x236, x262); - fiat_np224_addcarryx_u32(&x278, &x279, x277, x238, x264); - fiat_np224_addcarryx_u32(&x280, &x281, x279, x240, x266); - fiat_np224_addcarryx_u32(&x282, &x283, x281, x242, x268); - fiat_np224_addcarryx_u32(&x284, &x285, x283, x244, x270); - fiat_np224_mulx_u32(&x286, &x287, x272, UINT32_C(0x6a1fc2eb)); - fiat_np224_mulx_u32(&x288, &x289, x286, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x290, &x291, x286, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x292, &x293, x286, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x294, &x295, x286, UINT32_C(0xffff16a2)); - fiat_np224_mulx_u32(&x296, &x297, x286, UINT32_C(0xe0b8f03e)); - fiat_np224_mulx_u32(&x298, &x299, x286, UINT32_C(0x13dd2945)); - fiat_np224_mulx_u32(&x300, &x301, x286, UINT32_C(0x5c5c2a3d)); - fiat_np224_addcarryx_u32(&x302, &x303, 0x0, x301, x298); - fiat_np224_addcarryx_u32(&x304, &x305, x303, x299, x296); - fiat_np224_addcarryx_u32(&x306, &x307, x305, x297, x294); - fiat_np224_addcarryx_u32(&x308, &x309, x307, x295, x292); - fiat_np224_addcarryx_u32(&x310, &x311, x309, x293, x290); - fiat_np224_addcarryx_u32(&x312, &x313, x311, x291, x288); - fiat_np224_addcarryx_u32(&x314, &x315, 0x0, x272, x300); - fiat_np224_addcarryx_u32(&x316, &x317, x315, x274, x302); - fiat_np224_addcarryx_u32(&x318, &x319, x317, x276, x304); - fiat_np224_addcarryx_u32(&x320, &x321, x319, x278, x306); - fiat_np224_addcarryx_u32(&x322, &x323, x321, x280, x308); - fiat_np224_addcarryx_u32(&x324, &x325, x323, x282, x310); - fiat_np224_addcarryx_u32(&x326, &x327, x325, x284, x312); - fiat_np224_addcarryx_u32(&x328, &x329, x327, (((uint32_t)x285 + x245) + (x271 + x247)), (x313 + x289)); - fiat_np224_mulx_u32(&x330, &x331, x4, UINT32_C(0xd4baa4cf)); - fiat_np224_mulx_u32(&x332, &x333, x4, UINT32_C(0x1822bc47)); - fiat_np224_mulx_u32(&x334, &x335, x4, UINT32_C(0xb1e97961)); - fiat_np224_mulx_u32(&x336, &x337, x4, UINT32_C(0x6ad09d91)); - fiat_np224_mulx_u32(&x338, &x339, x4, UINT32_C(0x97a54552)); - fiat_np224_mulx_u32(&x340, &x341, x4, UINT32_C(0x6bdaae6c)); - fiat_np224_mulx_u32(&x342, &x343, x4, UINT32_C(0x3ad01289)); - fiat_np224_addcarryx_u32(&x344, &x345, 0x0, x343, x340); - fiat_np224_addcarryx_u32(&x346, &x347, x345, x341, x338); - fiat_np224_addcarryx_u32(&x348, &x349, x347, x339, x336); - fiat_np224_addcarryx_u32(&x350, &x351, x349, x337, x334); - fiat_np224_addcarryx_u32(&x352, &x353, x351, x335, x332); - fiat_np224_addcarryx_u32(&x354, &x355, x353, x333, x330); - fiat_np224_addcarryx_u32(&x356, &x357, 0x0, x316, x342); - fiat_np224_addcarryx_u32(&x358, &x359, x357, x318, x344); - fiat_np224_addcarryx_u32(&x360, &x361, x359, x320, x346); - fiat_np224_addcarryx_u32(&x362, &x363, x361, x322, x348); - fiat_np224_addcarryx_u32(&x364, &x365, x363, x324, x350); - fiat_np224_addcarryx_u32(&x366, &x367, x365, x326, x352); - fiat_np224_addcarryx_u32(&x368, &x369, x367, x328, x354); - fiat_np224_mulx_u32(&x370, &x371, x356, UINT32_C(0x6a1fc2eb)); - fiat_np224_mulx_u32(&x372, &x373, x370, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x374, &x375, x370, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x376, &x377, x370, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x378, &x379, x370, UINT32_C(0xffff16a2)); - fiat_np224_mulx_u32(&x380, &x381, x370, UINT32_C(0xe0b8f03e)); - fiat_np224_mulx_u32(&x382, &x383, x370, UINT32_C(0x13dd2945)); - fiat_np224_mulx_u32(&x384, &x385, x370, UINT32_C(0x5c5c2a3d)); - fiat_np224_addcarryx_u32(&x386, &x387, 0x0, x385, x382); - fiat_np224_addcarryx_u32(&x388, &x389, x387, x383, x380); - fiat_np224_addcarryx_u32(&x390, &x391, x389, x381, x378); - fiat_np224_addcarryx_u32(&x392, &x393, x391, x379, x376); - fiat_np224_addcarryx_u32(&x394, &x395, x393, x377, x374); - fiat_np224_addcarryx_u32(&x396, &x397, x395, x375, x372); - fiat_np224_addcarryx_u32(&x398, &x399, 0x0, x356, x384); - fiat_np224_addcarryx_u32(&x400, &x401, x399, x358, x386); - fiat_np224_addcarryx_u32(&x402, &x403, x401, x360, x388); - fiat_np224_addcarryx_u32(&x404, &x405, x403, x362, x390); - fiat_np224_addcarryx_u32(&x406, &x407, x405, x364, x392); - fiat_np224_addcarryx_u32(&x408, &x409, x407, x366, x394); - fiat_np224_addcarryx_u32(&x410, &x411, x409, x368, x396); - fiat_np224_addcarryx_u32(&x412, &x413, x411, (((uint32_t)x369 + x329) + (x355 + x331)), (x397 + x373)); - fiat_np224_mulx_u32(&x414, &x415, x5, UINT32_C(0xd4baa4cf)); - fiat_np224_mulx_u32(&x416, &x417, x5, UINT32_C(0x1822bc47)); - fiat_np224_mulx_u32(&x418, &x419, x5, UINT32_C(0xb1e97961)); - fiat_np224_mulx_u32(&x420, &x421, x5, UINT32_C(0x6ad09d91)); - fiat_np224_mulx_u32(&x422, &x423, x5, UINT32_C(0x97a54552)); - fiat_np224_mulx_u32(&x424, &x425, x5, UINT32_C(0x6bdaae6c)); - fiat_np224_mulx_u32(&x426, &x427, x5, UINT32_C(0x3ad01289)); - fiat_np224_addcarryx_u32(&x428, &x429, 0x0, x427, x424); - fiat_np224_addcarryx_u32(&x430, &x431, x429, x425, x422); - fiat_np224_addcarryx_u32(&x432, &x433, x431, x423, x420); - fiat_np224_addcarryx_u32(&x434, &x435, x433, x421, x418); - fiat_np224_addcarryx_u32(&x436, &x437, x435, x419, x416); - fiat_np224_addcarryx_u32(&x438, &x439, x437, x417, x414); - fiat_np224_addcarryx_u32(&x440, &x441, 0x0, x400, x426); - fiat_np224_addcarryx_u32(&x442, &x443, x441, x402, x428); - fiat_np224_addcarryx_u32(&x444, &x445, x443, x404, x430); - fiat_np224_addcarryx_u32(&x446, &x447, x445, x406, x432); - fiat_np224_addcarryx_u32(&x448, &x449, x447, x408, x434); - fiat_np224_addcarryx_u32(&x450, &x451, x449, x410, x436); - fiat_np224_addcarryx_u32(&x452, &x453, x451, x412, x438); - fiat_np224_mulx_u32(&x454, &x455, x440, UINT32_C(0x6a1fc2eb)); - fiat_np224_mulx_u32(&x456, &x457, x454, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x458, &x459, x454, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x460, &x461, x454, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x462, &x463, x454, UINT32_C(0xffff16a2)); - fiat_np224_mulx_u32(&x464, &x465, x454, UINT32_C(0xe0b8f03e)); - fiat_np224_mulx_u32(&x466, &x467, x454, UINT32_C(0x13dd2945)); - fiat_np224_mulx_u32(&x468, &x469, x454, UINT32_C(0x5c5c2a3d)); - fiat_np224_addcarryx_u32(&x470, &x471, 0x0, x469, x466); - fiat_np224_addcarryx_u32(&x472, &x473, x471, x467, x464); - fiat_np224_addcarryx_u32(&x474, &x475, x473, x465, x462); - fiat_np224_addcarryx_u32(&x476, &x477, x475, x463, x460); - fiat_np224_addcarryx_u32(&x478, &x479, x477, x461, x458); - fiat_np224_addcarryx_u32(&x480, &x481, x479, x459, x456); - fiat_np224_addcarryx_u32(&x482, &x483, 0x0, x440, x468); - fiat_np224_addcarryx_u32(&x484, &x485, x483, x442, x470); - fiat_np224_addcarryx_u32(&x486, &x487, x485, x444, x472); - fiat_np224_addcarryx_u32(&x488, &x489, x487, x446, x474); - fiat_np224_addcarryx_u32(&x490, &x491, x489, x448, x476); - fiat_np224_addcarryx_u32(&x492, &x493, x491, x450, x478); - fiat_np224_addcarryx_u32(&x494, &x495, x493, x452, x480); - fiat_np224_addcarryx_u32(&x496, &x497, x495, (((uint32_t)x453 + x413) + (x439 + x415)), (x481 + x457)); - fiat_np224_mulx_u32(&x498, &x499, x6, UINT32_C(0xd4baa4cf)); - fiat_np224_mulx_u32(&x500, &x501, x6, UINT32_C(0x1822bc47)); - fiat_np224_mulx_u32(&x502, &x503, x6, UINT32_C(0xb1e97961)); - fiat_np224_mulx_u32(&x504, &x505, x6, UINT32_C(0x6ad09d91)); - fiat_np224_mulx_u32(&x506, &x507, x6, UINT32_C(0x97a54552)); - fiat_np224_mulx_u32(&x508, &x509, x6, UINT32_C(0x6bdaae6c)); - fiat_np224_mulx_u32(&x510, &x511, x6, UINT32_C(0x3ad01289)); - fiat_np224_addcarryx_u32(&x512, &x513, 0x0, x511, x508); - fiat_np224_addcarryx_u32(&x514, &x515, x513, x509, x506); - fiat_np224_addcarryx_u32(&x516, &x517, x515, x507, x504); - fiat_np224_addcarryx_u32(&x518, &x519, x517, x505, x502); - fiat_np224_addcarryx_u32(&x520, &x521, x519, x503, x500); - fiat_np224_addcarryx_u32(&x522, &x523, x521, x501, x498); - fiat_np224_addcarryx_u32(&x524, &x525, 0x0, x484, x510); - fiat_np224_addcarryx_u32(&x526, &x527, x525, x486, x512); - fiat_np224_addcarryx_u32(&x528, &x529, x527, x488, x514); - fiat_np224_addcarryx_u32(&x530, &x531, x529, x490, x516); - fiat_np224_addcarryx_u32(&x532, &x533, x531, x492, x518); - fiat_np224_addcarryx_u32(&x534, &x535, x533, x494, x520); - fiat_np224_addcarryx_u32(&x536, &x537, x535, x496, x522); - fiat_np224_mulx_u32(&x538, &x539, x524, UINT32_C(0x6a1fc2eb)); - fiat_np224_mulx_u32(&x540, &x541, x538, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x542, &x543, x538, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x544, &x545, x538, UINT32_C(0xffffffff)); - fiat_np224_mulx_u32(&x546, &x547, x538, UINT32_C(0xffff16a2)); - fiat_np224_mulx_u32(&x548, &x549, x538, UINT32_C(0xe0b8f03e)); - fiat_np224_mulx_u32(&x550, &x551, x538, UINT32_C(0x13dd2945)); - fiat_np224_mulx_u32(&x552, &x553, x538, UINT32_C(0x5c5c2a3d)); - fiat_np224_addcarryx_u32(&x554, &x555, 0x0, x553, x550); - fiat_np224_addcarryx_u32(&x556, &x557, x555, x551, x548); - fiat_np224_addcarryx_u32(&x558, &x559, x557, x549, x546); - fiat_np224_addcarryx_u32(&x560, &x561, x559, x547, x544); - fiat_np224_addcarryx_u32(&x562, &x563, x561, x545, x542); - fiat_np224_addcarryx_u32(&x564, &x565, x563, x543, x540); - fiat_np224_addcarryx_u32(&x566, &x567, 0x0, x524, x552); - fiat_np224_addcarryx_u32(&x568, &x569, x567, x526, x554); - fiat_np224_addcarryx_u32(&x570, &x571, x569, x528, x556); - fiat_np224_addcarryx_u32(&x572, &x573, x571, x530, x558); - fiat_np224_addcarryx_u32(&x574, &x575, x573, x532, x560); - fiat_np224_addcarryx_u32(&x576, &x577, x575, x534, x562); - fiat_np224_addcarryx_u32(&x578, &x579, x577, x536, x564); - fiat_np224_addcarryx_u32(&x580, &x581, x579, (((uint32_t)x537 + x497) + (x523 + x499)), (x565 + x541)); - fiat_np224_subborrowx_u32(&x582, &x583, 0x0, x568, UINT32_C(0x5c5c2a3d)); - fiat_np224_subborrowx_u32(&x584, &x585, x583, x570, UINT32_C(0x13dd2945)); - fiat_np224_subborrowx_u32(&x586, &x587, x585, x572, UINT32_C(0xe0b8f03e)); - fiat_np224_subborrowx_u32(&x588, &x589, x587, x574, UINT32_C(0xffff16a2)); - fiat_np224_subborrowx_u32(&x590, &x591, x589, x576, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u32(&x592, &x593, x591, x578, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u32(&x594, &x595, x593, x580, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u32(&x596, &x597, x595, x581, 0x0); - fiat_np224_cmovznz_u32(&x598, x597, x582, x568); - fiat_np224_cmovznz_u32(&x599, x597, x584, x570); - fiat_np224_cmovznz_u32(&x600, x597, x586, x572); - fiat_np224_cmovznz_u32(&x601, x597, x588, x574); - fiat_np224_cmovznz_u32(&x602, x597, x590, x576); - fiat_np224_cmovznz_u32(&x603, x597, x592, x578); - fiat_np224_cmovznz_u32(&x604, x597, x594, x580); - out1[0] = x598; - out1[1] = x599; - out1[2] = x600; - out1[3] = x601; - out1[4] = x602; - out1[5] = x603; - out1[6] = x604; -} - -/* - * The function fiat_np224_set_one returns the field element one in the Montgomery domain. - * - * Postconditions: - * eval (from_montgomery out1) mod m = 1 mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_np224_set_one(fiat_np224_montgomery_domain_field_element out1) { - out1[0] = UINT32_C(0xa3a3d5c3); - out1[1] = UINT32_C(0xec22d6ba); - out1[2] = UINT32_C(0x1f470fc1); - out1[3] = UINT16_C(0xe95d); - out1[4] = 0x0; - out1[5] = 0x0; - out1[6] = 0x0; -} - -/* - * The function fiat_np224_msat returns the saturated representation of the prime modulus. - * - * Postconditions: - * twos_complement_eval out1 = m - * 0 ≤ eval out1 < m - * - * Output Bounds: - * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - */ -static void fiat_np224_msat(uint32_t out1[8]) { - out1[0] = UINT32_C(0x5c5c2a3d); - out1[1] = UINT32_C(0x13dd2945); - out1[2] = UINT32_C(0xe0b8f03e); - out1[3] = UINT32_C(0xffff16a2); - out1[4] = UINT32_C(0xffffffff); - out1[5] = UINT32_C(0xffffffff); - out1[6] = UINT32_C(0xffffffff); - out1[7] = 0x0; -} - -/* - * The function fiat_np224_divstep_precomp returns the precomputed value for Bernstein-Yang-inversion (in montgomery form). - * - * Postconditions: - * eval (from_montgomery out1) = ⌊(m - 1) / 2⌋^(if ⌊log2 m⌋ + 1 < 46 then ⌊(49 * (⌊log2 m⌋ + 1) + 80) / 17⌋ else ⌊(49 * (⌊log2 m⌋ + 1) + 57) / 17⌋) - * 0 ≤ eval out1 < m - * - * Output Bounds: - * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - */ -static void fiat_np224_divstep_precomp(uint32_t out1[7]) { - out1[0] = UINT32_C(0xa680ba62); - out1[1] = UINT32_C(0x56d11323); - out1[2] = UINT32_C(0x9289274a); - out1[3] = UINT32_C(0xa334e391); - out1[4] = UINT32_C(0xef16fedb); - out1[5] = UINT32_C(0x4704d6d8); - out1[6] = UINT32_C(0x30476f44); -} - -/* - * The function fiat_np224_divstep computes a divstep. - * - * Preconditions: - * 0 ≤ eval arg4 < m - * 0 ≤ eval arg5 < m - * Postconditions: - * out1 = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then 1 - arg1 else 1 + arg1) - * twos_complement_eval out2 = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then twos_complement_eval arg3 else twos_complement_eval arg2) - * twos_complement_eval out3 = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then ⌊(twos_complement_eval arg3 - twos_complement_eval arg2) / 2⌋ else ⌊(twos_complement_eval arg3 + (twos_complement_eval arg3 mod 2) * twos_complement_eval arg2) / 2⌋) - * eval (from_montgomery out4) mod m = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then (2 * eval (from_montgomery arg5)) mod m else (2 * eval (from_montgomery arg4)) mod m) - * eval (from_montgomery out5) mod m = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then (eval (from_montgomery arg4) - eval (from_montgomery arg4)) mod m else (eval (from_montgomery arg5) + (twos_complement_eval arg3 mod 2) * eval (from_montgomery arg4)) mod m) - * 0 ≤ eval out5 < m - * 0 ≤ eval out5 < m - * 0 ≤ eval out2 < m - * 0 ≤ eval out3 < m - * - * Input Bounds: - * arg1: [0x0 ~> 0xffffffff] - * arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - * arg3: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - * arg4: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - * arg5: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - * Output Bounds: - * out1: [0x0 ~> 0xffffffff] - * out2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - * out3: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - * out4: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - * out5: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - */ -static void fiat_np224_divstep(uint32_t* out1, uint32_t out2[8], uint32_t out3[8], uint32_t out4[7], uint32_t out5[7], uint32_t arg1, const uint32_t arg2[8], const uint32_t arg3[8], const uint32_t arg4[7], const uint32_t arg5[7]) { - uint32_t x1; - fiat_np224_uint1 x2; - fiat_np224_uint1 x3; - uint32_t x4; - fiat_np224_uint1 x5; - uint32_t x6; - uint32_t x7; - uint32_t x8; - uint32_t x9; - uint32_t x10; - uint32_t x11; - uint32_t x12; - uint32_t x13; - uint32_t x14; - uint32_t x15; - fiat_np224_uint1 x16; - uint32_t x17; - fiat_np224_uint1 x18; - uint32_t x19; - fiat_np224_uint1 x20; - uint32_t x21; - fiat_np224_uint1 x22; - uint32_t x23; - fiat_np224_uint1 x24; - uint32_t x25; - fiat_np224_uint1 x26; - uint32_t x27; - fiat_np224_uint1 x28; - uint32_t x29; - fiat_np224_uint1 x30; - uint32_t x31; - uint32_t x32; - uint32_t x33; - uint32_t x34; - uint32_t x35; - uint32_t x36; - uint32_t x37; - uint32_t x38; - uint32_t x39; - uint32_t x40; - uint32_t x41; - uint32_t x42; - uint32_t x43; - uint32_t x44; - uint32_t x45; - uint32_t x46; - fiat_np224_uint1 x47; - uint32_t x48; - fiat_np224_uint1 x49; - uint32_t x50; - fiat_np224_uint1 x51; - uint32_t x52; - fiat_np224_uint1 x53; - uint32_t x54; - fiat_np224_uint1 x55; - uint32_t x56; - fiat_np224_uint1 x57; - uint32_t x58; - fiat_np224_uint1 x59; - uint32_t x60; - fiat_np224_uint1 x61; - uint32_t x62; - fiat_np224_uint1 x63; - uint32_t x64; - fiat_np224_uint1 x65; - uint32_t x66; - fiat_np224_uint1 x67; - uint32_t x68; - fiat_np224_uint1 x69; - uint32_t x70; - fiat_np224_uint1 x71; - uint32_t x72; - fiat_np224_uint1 x73; - uint32_t x74; - fiat_np224_uint1 x75; - uint32_t x76; - uint32_t x77; - uint32_t x78; - uint32_t x79; - uint32_t x80; - uint32_t x81; - uint32_t x82; - uint32_t x83; - fiat_np224_uint1 x84; - uint32_t x85; - fiat_np224_uint1 x86; - uint32_t x87; - fiat_np224_uint1 x88; - uint32_t x89; - fiat_np224_uint1 x90; - uint32_t x91; - fiat_np224_uint1 x92; - uint32_t x93; - fiat_np224_uint1 x94; - uint32_t x95; - fiat_np224_uint1 x96; - uint32_t x97; - uint32_t x98; - fiat_np224_uint1 x99; - uint32_t x100; - fiat_np224_uint1 x101; - uint32_t x102; - fiat_np224_uint1 x103; - uint32_t x104; - fiat_np224_uint1 x105; - uint32_t x106; - fiat_np224_uint1 x107; - uint32_t x108; - fiat_np224_uint1 x109; - uint32_t x110; - fiat_np224_uint1 x111; - uint32_t x112; - uint32_t x113; - uint32_t x114; - uint32_t x115; - uint32_t x116; - uint32_t x117; - uint32_t x118; - fiat_np224_uint1 x119; - uint32_t x120; - uint32_t x121; - uint32_t x122; - uint32_t x123; - uint32_t x124; - uint32_t x125; - uint32_t x126; - uint32_t x127; - uint32_t x128; - fiat_np224_uint1 x129; - uint32_t x130; - fiat_np224_uint1 x131; - uint32_t x132; - fiat_np224_uint1 x133; - uint32_t x134; - fiat_np224_uint1 x135; - uint32_t x136; - fiat_np224_uint1 x137; - uint32_t x138; - fiat_np224_uint1 x139; - uint32_t x140; - fiat_np224_uint1 x141; - uint32_t x142; - fiat_np224_uint1 x143; - uint32_t x144; - uint32_t x145; - uint32_t x146; - uint32_t x147; - uint32_t x148; - uint32_t x149; - uint32_t x150; - uint32_t x151; - fiat_np224_uint1 x152; - uint32_t x153; - fiat_np224_uint1 x154; - uint32_t x155; - fiat_np224_uint1 x156; - uint32_t x157; - fiat_np224_uint1 x158; - uint32_t x159; - fiat_np224_uint1 x160; - uint32_t x161; - fiat_np224_uint1 x162; - uint32_t x163; - fiat_np224_uint1 x164; - uint32_t x165; - fiat_np224_uint1 x166; - uint32_t x167; - fiat_np224_uint1 x168; - uint32_t x169; - fiat_np224_uint1 x170; - uint32_t x171; - fiat_np224_uint1 x172; - uint32_t x173; - fiat_np224_uint1 x174; - uint32_t x175; - fiat_np224_uint1 x176; - uint32_t x177; - fiat_np224_uint1 x178; - uint32_t x179; - fiat_np224_uint1 x180; - uint32_t x181; - fiat_np224_uint1 x182; - uint32_t x183; - uint32_t x184; - uint32_t x185; - uint32_t x186; - uint32_t x187; - uint32_t x188; - uint32_t x189; - uint32_t x190; - uint32_t x191; - uint32_t x192; - uint32_t x193; - uint32_t x194; - uint32_t x195; - uint32_t x196; - uint32_t x197; - uint32_t x198; - uint32_t x199; - uint32_t x200; - uint32_t x201; - uint32_t x202; - uint32_t x203; - uint32_t x204; - fiat_np224_addcarryx_u32(&x1, &x2, 0x0, (~arg1), 0x1); - x3 = (fiat_np224_uint1)((fiat_np224_uint1)(x1 >> 31) & (fiat_np224_uint1)((arg3[0]) & 0x1)); - fiat_np224_addcarryx_u32(&x4, &x5, 0x0, (~arg1), 0x1); - fiat_np224_cmovznz_u32(&x6, x3, arg1, x4); - fiat_np224_cmovznz_u32(&x7, x3, (arg2[0]), (arg3[0])); - fiat_np224_cmovznz_u32(&x8, x3, (arg2[1]), (arg3[1])); - fiat_np224_cmovznz_u32(&x9, x3, (arg2[2]), (arg3[2])); - fiat_np224_cmovznz_u32(&x10, x3, (arg2[3]), (arg3[3])); - fiat_np224_cmovznz_u32(&x11, x3, (arg2[4]), (arg3[4])); - fiat_np224_cmovznz_u32(&x12, x3, (arg2[5]), (arg3[5])); - fiat_np224_cmovznz_u32(&x13, x3, (arg2[6]), (arg3[6])); - fiat_np224_cmovznz_u32(&x14, x3, (arg2[7]), (arg3[7])); - fiat_np224_addcarryx_u32(&x15, &x16, 0x0, 0x1, (~(arg2[0]))); - fiat_np224_addcarryx_u32(&x17, &x18, x16, 0x0, (~(arg2[1]))); - fiat_np224_addcarryx_u32(&x19, &x20, x18, 0x0, (~(arg2[2]))); - fiat_np224_addcarryx_u32(&x21, &x22, x20, 0x0, (~(arg2[3]))); - fiat_np224_addcarryx_u32(&x23, &x24, x22, 0x0, (~(arg2[4]))); - fiat_np224_addcarryx_u32(&x25, &x26, x24, 0x0, (~(arg2[5]))); - fiat_np224_addcarryx_u32(&x27, &x28, x26, 0x0, (~(arg2[6]))); - fiat_np224_addcarryx_u32(&x29, &x30, x28, 0x0, (~(arg2[7]))); - fiat_np224_cmovznz_u32(&x31, x3, (arg3[0]), x15); - fiat_np224_cmovznz_u32(&x32, x3, (arg3[1]), x17); - fiat_np224_cmovznz_u32(&x33, x3, (arg3[2]), x19); - fiat_np224_cmovznz_u32(&x34, x3, (arg3[3]), x21); - fiat_np224_cmovznz_u32(&x35, x3, (arg3[4]), x23); - fiat_np224_cmovznz_u32(&x36, x3, (arg3[5]), x25); - fiat_np224_cmovznz_u32(&x37, x3, (arg3[6]), x27); - fiat_np224_cmovznz_u32(&x38, x3, (arg3[7]), x29); - fiat_np224_cmovznz_u32(&x39, x3, (arg4[0]), (arg5[0])); - fiat_np224_cmovznz_u32(&x40, x3, (arg4[1]), (arg5[1])); - fiat_np224_cmovznz_u32(&x41, x3, (arg4[2]), (arg5[2])); - fiat_np224_cmovznz_u32(&x42, x3, (arg4[3]), (arg5[3])); - fiat_np224_cmovznz_u32(&x43, x3, (arg4[4]), (arg5[4])); - fiat_np224_cmovznz_u32(&x44, x3, (arg4[5]), (arg5[5])); - fiat_np224_cmovznz_u32(&x45, x3, (arg4[6]), (arg5[6])); - fiat_np224_addcarryx_u32(&x46, &x47, 0x0, x39, x39); - fiat_np224_addcarryx_u32(&x48, &x49, x47, x40, x40); - fiat_np224_addcarryx_u32(&x50, &x51, x49, x41, x41); - fiat_np224_addcarryx_u32(&x52, &x53, x51, x42, x42); - fiat_np224_addcarryx_u32(&x54, &x55, x53, x43, x43); - fiat_np224_addcarryx_u32(&x56, &x57, x55, x44, x44); - fiat_np224_addcarryx_u32(&x58, &x59, x57, x45, x45); - fiat_np224_subborrowx_u32(&x60, &x61, 0x0, x46, UINT32_C(0x5c5c2a3d)); - fiat_np224_subborrowx_u32(&x62, &x63, x61, x48, UINT32_C(0x13dd2945)); - fiat_np224_subborrowx_u32(&x64, &x65, x63, x50, UINT32_C(0xe0b8f03e)); - fiat_np224_subborrowx_u32(&x66, &x67, x65, x52, UINT32_C(0xffff16a2)); - fiat_np224_subborrowx_u32(&x68, &x69, x67, x54, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u32(&x70, &x71, x69, x56, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u32(&x72, &x73, x71, x58, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u32(&x74, &x75, x73, x59, 0x0); - x76 = (arg4[6]); - x77 = (arg4[5]); - x78 = (arg4[4]); - x79 = (arg4[3]); - x80 = (arg4[2]); - x81 = (arg4[1]); - x82 = (arg4[0]); - fiat_np224_subborrowx_u32(&x83, &x84, 0x0, 0x0, x82); - fiat_np224_subborrowx_u32(&x85, &x86, x84, 0x0, x81); - fiat_np224_subborrowx_u32(&x87, &x88, x86, 0x0, x80); - fiat_np224_subborrowx_u32(&x89, &x90, x88, 0x0, x79); - fiat_np224_subborrowx_u32(&x91, &x92, x90, 0x0, x78); - fiat_np224_subborrowx_u32(&x93, &x94, x92, 0x0, x77); - fiat_np224_subborrowx_u32(&x95, &x96, x94, 0x0, x76); - fiat_np224_cmovznz_u32(&x97, x96, 0x0, UINT32_C(0xffffffff)); - fiat_np224_addcarryx_u32(&x98, &x99, 0x0, x83, (x97 & UINT32_C(0x5c5c2a3d))); - fiat_np224_addcarryx_u32(&x100, &x101, x99, x85, (x97 & UINT32_C(0x13dd2945))); - fiat_np224_addcarryx_u32(&x102, &x103, x101, x87, (x97 & UINT32_C(0xe0b8f03e))); - fiat_np224_addcarryx_u32(&x104, &x105, x103, x89, (x97 & UINT32_C(0xffff16a2))); - fiat_np224_addcarryx_u32(&x106, &x107, x105, x91, x97); - fiat_np224_addcarryx_u32(&x108, &x109, x107, x93, x97); - fiat_np224_addcarryx_u32(&x110, &x111, x109, x95, x97); - fiat_np224_cmovznz_u32(&x112, x3, (arg5[0]), x98); - fiat_np224_cmovznz_u32(&x113, x3, (arg5[1]), x100); - fiat_np224_cmovznz_u32(&x114, x3, (arg5[2]), x102); - fiat_np224_cmovznz_u32(&x115, x3, (arg5[3]), x104); - fiat_np224_cmovznz_u32(&x116, x3, (arg5[4]), x106); - fiat_np224_cmovznz_u32(&x117, x3, (arg5[5]), x108); - fiat_np224_cmovznz_u32(&x118, x3, (arg5[6]), x110); - x119 = (fiat_np224_uint1)(x31 & 0x1); - fiat_np224_cmovznz_u32(&x120, x119, 0x0, x7); - fiat_np224_cmovznz_u32(&x121, x119, 0x0, x8); - fiat_np224_cmovznz_u32(&x122, x119, 0x0, x9); - fiat_np224_cmovznz_u32(&x123, x119, 0x0, x10); - fiat_np224_cmovznz_u32(&x124, x119, 0x0, x11); - fiat_np224_cmovznz_u32(&x125, x119, 0x0, x12); - fiat_np224_cmovznz_u32(&x126, x119, 0x0, x13); - fiat_np224_cmovznz_u32(&x127, x119, 0x0, x14); - fiat_np224_addcarryx_u32(&x128, &x129, 0x0, x31, x120); - fiat_np224_addcarryx_u32(&x130, &x131, x129, x32, x121); - fiat_np224_addcarryx_u32(&x132, &x133, x131, x33, x122); - fiat_np224_addcarryx_u32(&x134, &x135, x133, x34, x123); - fiat_np224_addcarryx_u32(&x136, &x137, x135, x35, x124); - fiat_np224_addcarryx_u32(&x138, &x139, x137, x36, x125); - fiat_np224_addcarryx_u32(&x140, &x141, x139, x37, x126); - fiat_np224_addcarryx_u32(&x142, &x143, x141, x38, x127); - fiat_np224_cmovznz_u32(&x144, x119, 0x0, x39); - fiat_np224_cmovznz_u32(&x145, x119, 0x0, x40); - fiat_np224_cmovznz_u32(&x146, x119, 0x0, x41); - fiat_np224_cmovznz_u32(&x147, x119, 0x0, x42); - fiat_np224_cmovznz_u32(&x148, x119, 0x0, x43); - fiat_np224_cmovznz_u32(&x149, x119, 0x0, x44); - fiat_np224_cmovznz_u32(&x150, x119, 0x0, x45); - fiat_np224_addcarryx_u32(&x151, &x152, 0x0, x112, x144); - fiat_np224_addcarryx_u32(&x153, &x154, x152, x113, x145); - fiat_np224_addcarryx_u32(&x155, &x156, x154, x114, x146); - fiat_np224_addcarryx_u32(&x157, &x158, x156, x115, x147); - fiat_np224_addcarryx_u32(&x159, &x160, x158, x116, x148); - fiat_np224_addcarryx_u32(&x161, &x162, x160, x117, x149); - fiat_np224_addcarryx_u32(&x163, &x164, x162, x118, x150); - fiat_np224_subborrowx_u32(&x165, &x166, 0x0, x151, UINT32_C(0x5c5c2a3d)); - fiat_np224_subborrowx_u32(&x167, &x168, x166, x153, UINT32_C(0x13dd2945)); - fiat_np224_subborrowx_u32(&x169, &x170, x168, x155, UINT32_C(0xe0b8f03e)); - fiat_np224_subborrowx_u32(&x171, &x172, x170, x157, UINT32_C(0xffff16a2)); - fiat_np224_subborrowx_u32(&x173, &x174, x172, x159, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u32(&x175, &x176, x174, x161, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u32(&x177, &x178, x176, x163, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u32(&x179, &x180, x178, x164, 0x0); - fiat_np224_addcarryx_u32(&x181, &x182, 0x0, x6, 0x1); - x183 = ((x128 >> 1) | ((x130 << 31) & UINT32_C(0xffffffff))); - x184 = ((x130 >> 1) | ((x132 << 31) & UINT32_C(0xffffffff))); - x185 = ((x132 >> 1) | ((x134 << 31) & UINT32_C(0xffffffff))); - x186 = ((x134 >> 1) | ((x136 << 31) & UINT32_C(0xffffffff))); - x187 = ((x136 >> 1) | ((x138 << 31) & UINT32_C(0xffffffff))); - x188 = ((x138 >> 1) | ((x140 << 31) & UINT32_C(0xffffffff))); - x189 = ((x140 >> 1) | ((x142 << 31) & UINT32_C(0xffffffff))); - x190 = ((x142 & UINT32_C(0x80000000)) | (x142 >> 1)); - fiat_np224_cmovznz_u32(&x191, x75, x60, x46); - fiat_np224_cmovznz_u32(&x192, x75, x62, x48); - fiat_np224_cmovznz_u32(&x193, x75, x64, x50); - fiat_np224_cmovznz_u32(&x194, x75, x66, x52); - fiat_np224_cmovznz_u32(&x195, x75, x68, x54); - fiat_np224_cmovznz_u32(&x196, x75, x70, x56); - fiat_np224_cmovznz_u32(&x197, x75, x72, x58); - fiat_np224_cmovznz_u32(&x198, x180, x165, x151); - fiat_np224_cmovznz_u32(&x199, x180, x167, x153); - fiat_np224_cmovznz_u32(&x200, x180, x169, x155); - fiat_np224_cmovznz_u32(&x201, x180, x171, x157); - fiat_np224_cmovznz_u32(&x202, x180, x173, x159); - fiat_np224_cmovznz_u32(&x203, x180, x175, x161); - fiat_np224_cmovznz_u32(&x204, x180, x177, x163); - *out1 = x181; - out2[0] = x7; - out2[1] = x8; - out2[2] = x9; - out2[3] = x10; - out2[4] = x11; - out2[5] = x12; - out2[6] = x13; - out2[7] = x14; - out3[0] = x183; - out3[1] = x184; - out3[2] = x185; - out3[3] = x186; - out3[4] = x187; - out3[5] = x188; - out3[6] = x189; - out3[7] = x190; - out4[0] = x191; - out4[1] = x192; - out4[2] = x193; - out4[3] = x194; - out4[4] = x195; - out4[5] = x196; - out4[6] = x197; - out5[0] = x198; - out5[1] = x199; - out5[2] = x200; - out5[3] = x201; - out5[4] = x202; - out5[5] = x203; - out5[6] = x204; -} - -/* - * The function fiat_np224_to_bytes serializes a field element NOT in the Montgomery domain to bytes in little-endian order. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * Postconditions: - * out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..27] - * - * Input Bounds: - * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - * Output Bounds: - * out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]] - */ -static void fiat_np224_to_bytes(uint8_t out1[28], const uint32_t arg1[7]) { - uint32_t x1; - uint32_t x2; - uint32_t x3; - uint32_t x4; - uint32_t x5; - uint32_t x6; - uint32_t x7; - uint8_t x8; - uint32_t x9; - uint8_t x10; - uint32_t x11; - uint8_t x12; - uint8_t x13; - uint8_t x14; - uint32_t x15; - uint8_t x16; - uint32_t x17; - uint8_t x18; - uint8_t x19; - uint8_t x20; - uint32_t x21; - uint8_t x22; - uint32_t x23; - uint8_t x24; - uint8_t x25; - uint8_t x26; - uint32_t x27; - uint8_t x28; - uint32_t x29; - uint8_t x30; - uint8_t x31; - uint8_t x32; - uint32_t x33; - uint8_t x34; - uint32_t x35; - uint8_t x36; - uint8_t x37; - uint8_t x38; - uint32_t x39; - uint8_t x40; - uint32_t x41; - uint8_t x42; - uint8_t x43; - uint8_t x44; - uint32_t x45; - uint8_t x46; - uint32_t x47; - uint8_t x48; - uint8_t x49; - x1 = (arg1[6]); - x2 = (arg1[5]); - x3 = (arg1[4]); - x4 = (arg1[3]); - x5 = (arg1[2]); - x6 = (arg1[1]); - x7 = (arg1[0]); - x8 = (uint8_t)(x7 & UINT8_C(0xff)); - x9 = (x7 >> 8); - x10 = (uint8_t)(x9 & UINT8_C(0xff)); - x11 = (x9 >> 8); - x12 = (uint8_t)(x11 & UINT8_C(0xff)); - x13 = (uint8_t)(x11 >> 8); - x14 = (uint8_t)(x6 & UINT8_C(0xff)); - x15 = (x6 >> 8); - x16 = (uint8_t)(x15 & UINT8_C(0xff)); - x17 = (x15 >> 8); - x18 = (uint8_t)(x17 & UINT8_C(0xff)); - x19 = (uint8_t)(x17 >> 8); - x20 = (uint8_t)(x5 & UINT8_C(0xff)); - x21 = (x5 >> 8); - x22 = (uint8_t)(x21 & UINT8_C(0xff)); - x23 = (x21 >> 8); - x24 = (uint8_t)(x23 & UINT8_C(0xff)); - x25 = (uint8_t)(x23 >> 8); - x26 = (uint8_t)(x4 & UINT8_C(0xff)); - x27 = (x4 >> 8); - x28 = (uint8_t)(x27 & UINT8_C(0xff)); - x29 = (x27 >> 8); - x30 = (uint8_t)(x29 & UINT8_C(0xff)); - x31 = (uint8_t)(x29 >> 8); - x32 = (uint8_t)(x3 & UINT8_C(0xff)); - x33 = (x3 >> 8); - x34 = (uint8_t)(x33 & UINT8_C(0xff)); - x35 = (x33 >> 8); - x36 = (uint8_t)(x35 & UINT8_C(0xff)); - x37 = (uint8_t)(x35 >> 8); - x38 = (uint8_t)(x2 & UINT8_C(0xff)); - x39 = (x2 >> 8); - x40 = (uint8_t)(x39 & UINT8_C(0xff)); - x41 = (x39 >> 8); - x42 = (uint8_t)(x41 & UINT8_C(0xff)); - x43 = (uint8_t)(x41 >> 8); - x44 = (uint8_t)(x1 & UINT8_C(0xff)); - x45 = (x1 >> 8); - x46 = (uint8_t)(x45 & UINT8_C(0xff)); - x47 = (x45 >> 8); - x48 = (uint8_t)(x47 & UINT8_C(0xff)); - x49 = (uint8_t)(x47 >> 8); - out1[0] = x8; - out1[1] = x10; - out1[2] = x12; - out1[3] = x13; - out1[4] = x14; - out1[5] = x16; - out1[6] = x18; - out1[7] = x19; - out1[8] = x20; - out1[9] = x22; - out1[10] = x24; - out1[11] = x25; - out1[12] = x26; - out1[13] = x28; - out1[14] = x30; - out1[15] = x31; - out1[16] = x32; - out1[17] = x34; - out1[18] = x36; - out1[19] = x37; - out1[20] = x38; - out1[21] = x40; - out1[22] = x42; - out1[23] = x43; - out1[24] = x44; - out1[25] = x46; - out1[26] = x48; - out1[27] = x49; -} - -/* - * The function fiat_np224_from_bytes deserializes a field element NOT in the Montgomery domain from bytes in little-endian order. - * - * Preconditions: - * 0 ≤ bytes_eval arg1 < m - * Postconditions: - * eval out1 mod m = bytes_eval arg1 mod m - * 0 ≤ eval out1 < m - * - * Input Bounds: - * arg1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]] - * Output Bounds: - * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - */ -static void fiat_np224_from_bytes(uint32_t out1[7], const uint8_t arg1[28]) { - uint32_t x1; - uint32_t x2; - uint32_t x3; - uint8_t x4; - uint32_t x5; - uint32_t x6; - uint32_t x7; - uint8_t x8; - uint32_t x9; - uint32_t x10; - uint32_t x11; - uint8_t x12; - uint32_t x13; - uint32_t x14; - uint32_t x15; - uint8_t x16; - uint32_t x17; - uint32_t x18; - uint32_t x19; - uint8_t x20; - uint32_t x21; - uint32_t x22; - uint32_t x23; - uint8_t x24; - uint32_t x25; - uint32_t x26; - uint32_t x27; - uint8_t x28; - uint32_t x29; - uint32_t x30; - uint32_t x31; - uint32_t x32; - uint32_t x33; - uint32_t x34; - uint32_t x35; - uint32_t x36; - uint32_t x37; - uint32_t x38; - uint32_t x39; - uint32_t x40; - uint32_t x41; - uint32_t x42; - uint32_t x43; - uint32_t x44; - uint32_t x45; - uint32_t x46; - uint32_t x47; - uint32_t x48; - uint32_t x49; - x1 = ((uint32_t)(arg1[27]) << 24); - x2 = ((uint32_t)(arg1[26]) << 16); - x3 = ((uint32_t)(arg1[25]) << 8); - x4 = (arg1[24]); - x5 = ((uint32_t)(arg1[23]) << 24); - x6 = ((uint32_t)(arg1[22]) << 16); - x7 = ((uint32_t)(arg1[21]) << 8); - x8 = (arg1[20]); - x9 = ((uint32_t)(arg1[19]) << 24); - x10 = ((uint32_t)(arg1[18]) << 16); - x11 = ((uint32_t)(arg1[17]) << 8); - x12 = (arg1[16]); - x13 = ((uint32_t)(arg1[15]) << 24); - x14 = ((uint32_t)(arg1[14]) << 16); - x15 = ((uint32_t)(arg1[13]) << 8); - x16 = (arg1[12]); - x17 = ((uint32_t)(arg1[11]) << 24); - x18 = ((uint32_t)(arg1[10]) << 16); - x19 = ((uint32_t)(arg1[9]) << 8); - x20 = (arg1[8]); - x21 = ((uint32_t)(arg1[7]) << 24); - x22 = ((uint32_t)(arg1[6]) << 16); - x23 = ((uint32_t)(arg1[5]) << 8); - x24 = (arg1[4]); - x25 = ((uint32_t)(arg1[3]) << 24); - x26 = ((uint32_t)(arg1[2]) << 16); - x27 = ((uint32_t)(arg1[1]) << 8); - x28 = (arg1[0]); - x29 = (x27 + (uint32_t)x28); - x30 = (x26 + x29); - x31 = (x25 + x30); - x32 = (x23 + (uint32_t)x24); - x33 = (x22 + x32); - x34 = (x21 + x33); - x35 = (x19 + (uint32_t)x20); - x36 = (x18 + x35); - x37 = (x17 + x36); - x38 = (x15 + (uint32_t)x16); - x39 = (x14 + x38); - x40 = (x13 + x39); - x41 = (x11 + (uint32_t)x12); - x42 = (x10 + x41); - x43 = (x9 + x42); - x44 = (x7 + (uint32_t)x8); - x45 = (x6 + x44); - x46 = (x5 + x45); - x47 = (x3 + (uint32_t)x4); - x48 = (x2 + x47); - x49 = (x1 + x48); - out1[0] = x31; - out1[1] = x34; - out1[2] = x37; - out1[3] = x40; - out1[4] = x43; - out1[5] = x46; - out1[6] = x49; -} - -/* - * The function fiat_np224_selectznz is a multi-limb conditional select. - * - * Postconditions: - * out1 = (if arg1 = 0 then arg2 else arg3) - * - * Input Bounds: - * arg1: [0x0 ~> 0x1] - * arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - * arg3: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - * Output Bounds: - * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - */ -static void fiat_np224_selectznz(uint32_t out1[7], fiat_np224_uint1 arg1, const uint32_t arg2[7], const uint32_t arg3[7]) { - uint32_t x1; - uint32_t x2; - uint32_t x3; - uint32_t x4; - uint32_t x5; - uint32_t x6; - uint32_t x7; - fiat_np224_cmovznz_u32(&x1, arg1, (arg2[0]), (arg3[0])); - fiat_np224_cmovznz_u32(&x2, arg1, (arg2[1]), (arg3[1])); - fiat_np224_cmovznz_u32(&x3, arg1, (arg2[2]), (arg3[2])); - fiat_np224_cmovznz_u32(&x4, arg1, (arg2[3]), (arg3[3])); - fiat_np224_cmovznz_u32(&x5, arg1, (arg2[4]), (arg3[4])); - fiat_np224_cmovznz_u32(&x6, arg1, (arg2[5]), (arg3[5])); - fiat_np224_cmovznz_u32(&x7, arg1, (arg2[6]), (arg3[6])); - out1[0] = x1; - out1[1] = x2; - out1[2] = x3; - out1[3] = x4; - out1[4] = x5; - out1[5] = x6; - out1[6] = x7; -} diff --git a/ec/native/np224_64.h b/ec/native/np224_64.h deleted file mode 100644 index 6dfe9dc9..00000000 --- a/ec/native/np224_64.h +++ /dev/null @@ -1,1751 +0,0 @@ -/* Autogenerated: '../fiat-crypto/src/ExtractionOCaml/word_by_word_montgomery' --static --use-value-barrier --inline-internal np224 64 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D mul add opp from_montgomery to_montgomery one msat divstep_precomp divstep to_bytes from_bytes selectznz */ -/* curve description: np224 */ -/* machine_wordsize = 64 (from "64") */ -/* requested operations: mul, add, opp, from_montgomery, to_montgomery, one, msat, divstep_precomp, divstep, to_bytes, from_bytes, selectznz */ -/* m = 0xffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d (from "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D") */ -/* */ -/* NOTE: In addition to the bounds specified above each function, all */ -/* functions synthesized for this Montgomery arithmetic require the */ -/* input to be strictly less than the prime modulus (m), and also */ -/* require the input to be in the unique saturated representation. */ -/* All functions also ensure that these two properties are true of */ -/* return values. */ -/* */ -/* Computed values: */ -/* eval z = z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) */ -/* bytes_eval z = z[0] + (z[1] << 8) + (z[2] << 16) + (z[3] << 24) + (z[4] << 32) + (z[5] << 40) + (z[6] << 48) + (z[7] << 56) + (z[8] << 64) + (z[9] << 72) + (z[10] << 80) + (z[11] << 88) + (z[12] << 96) + (z[13] << 104) + (z[14] << 112) + (z[15] << 120) + (z[16] << 128) + (z[17] << 136) + (z[18] << 144) + (z[19] << 152) + (z[20] << 160) + (z[21] << 168) + (z[22] << 176) + (z[23] << 184) + (z[24] << 192) + (z[25] << 200) + (z[26] << 208) + (z[27] << 216) */ -/* twos_complement_eval z = let x1 := z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) in */ -/* if x1 & (2^256-1) < 2^255 then x1 & (2^256-1) else (x1 & (2^256-1)) - 2^256 */ - -#include -typedef unsigned char fiat_np224_uint1; -typedef signed char fiat_np224_int1; -#if defined(__GNUC__) || defined(__clang__) -# define FIAT_NP224_FIAT_EXTENSION __extension__ -# define FIAT_NP224_FIAT_INLINE __inline__ -#else -# define FIAT_NP224_FIAT_EXTENSION -# define FIAT_NP224_FIAT_INLINE -#endif - -FIAT_NP224_FIAT_EXTENSION typedef signed __int128 fiat_np224_int128; -FIAT_NP224_FIAT_EXTENSION typedef unsigned __int128 fiat_np224_uint128; - -/* The type fiat_np224_montgomery_domain_field_element is a field element in the Montgomery domain. */ -/* Bounds: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] */ -typedef uint64_t fiat_np224_montgomery_domain_field_element[4]; - -/* The type fiat_np224_non_montgomery_domain_field_element is a field element NOT in the Montgomery domain. */ -/* Bounds: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] */ -typedef uint64_t fiat_np224_non_montgomery_domain_field_element[4]; - -#if (-1 & 3) != 3 -#error "This code only works on a two's complement system" -#endif - -#if !defined(FIAT_NP224_NO_ASM) && (defined(__GNUC__) || defined(__clang__)) -static __inline__ uint64_t fiat_np224_value_barrier_u64(uint64_t a) { - __asm__("" : "+r"(a) : /* no inputs */); - return a; -} -#else -# define fiat_np224_value_barrier_u64(x) (x) -#endif - - -/* - * The function fiat_np224_addcarryx_u64 is an addition with carry. - * - * Postconditions: - * out1 = (arg1 + arg2 + arg3) mod 2^64 - * out2 = ⌊(arg1 + arg2 + arg3) / 2^64⌋ - * - * Input Bounds: - * arg1: [0x0 ~> 0x1] - * arg2: [0x0 ~> 0xffffffffffffffff] - * arg3: [0x0 ~> 0xffffffffffffffff] - * Output Bounds: - * out1: [0x0 ~> 0xffffffffffffffff] - * out2: [0x0 ~> 0x1] - */ -static FIAT_NP224_FIAT_INLINE void fiat_np224_addcarryx_u64(uint64_t* out1, fiat_np224_uint1* out2, fiat_np224_uint1 arg1, uint64_t arg2, uint64_t arg3) { - fiat_np224_uint128 x1; - uint64_t x2; - fiat_np224_uint1 x3; - x1 = ((arg1 + (fiat_np224_uint128)arg2) + arg3); - x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff)); - x3 = (fiat_np224_uint1)(x1 >> 64); - *out1 = x2; - *out2 = x3; -} - -/* - * The function fiat_np224_subborrowx_u64 is a subtraction with borrow. - * - * Postconditions: - * out1 = (-arg1 + arg2 + -arg3) mod 2^64 - * out2 = -⌊(-arg1 + arg2 + -arg3) / 2^64⌋ - * - * Input Bounds: - * arg1: [0x0 ~> 0x1] - * arg2: [0x0 ~> 0xffffffffffffffff] - * arg3: [0x0 ~> 0xffffffffffffffff] - * Output Bounds: - * out1: [0x0 ~> 0xffffffffffffffff] - * out2: [0x0 ~> 0x1] - */ -static FIAT_NP224_FIAT_INLINE void fiat_np224_subborrowx_u64(uint64_t* out1, fiat_np224_uint1* out2, fiat_np224_uint1 arg1, uint64_t arg2, uint64_t arg3) { - fiat_np224_int128 x1; - fiat_np224_int1 x2; - uint64_t x3; - x1 = ((arg2 - (fiat_np224_int128)arg1) - arg3); - x2 = (fiat_np224_int1)(x1 >> 64); - x3 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff)); - *out1 = x3; - *out2 = (fiat_np224_uint1)(0x0 - x2); -} - -/* - * The function fiat_np224_mulx_u64 is a multiplication, returning the full double-width result. - * - * Postconditions: - * out1 = (arg1 * arg2) mod 2^64 - * out2 = ⌊arg1 * arg2 / 2^64⌋ - * - * Input Bounds: - * arg1: [0x0 ~> 0xffffffffffffffff] - * arg2: [0x0 ~> 0xffffffffffffffff] - * Output Bounds: - * out1: [0x0 ~> 0xffffffffffffffff] - * out2: [0x0 ~> 0xffffffffffffffff] - */ -static FIAT_NP224_FIAT_INLINE void fiat_np224_mulx_u64(uint64_t* out1, uint64_t* out2, uint64_t arg1, uint64_t arg2) { - fiat_np224_uint128 x1; - uint64_t x2; - uint64_t x3; - x1 = ((fiat_np224_uint128)arg1 * arg2); - x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff)); - x3 = (uint64_t)(x1 >> 64); - *out1 = x2; - *out2 = x3; -} - -/* - * The function fiat_np224_cmovznz_u64 is a single-word conditional move. - * - * Postconditions: - * out1 = (if arg1 = 0 then arg2 else arg3) - * - * Input Bounds: - * arg1: [0x0 ~> 0x1] - * arg2: [0x0 ~> 0xffffffffffffffff] - * arg3: [0x0 ~> 0xffffffffffffffff] - * Output Bounds: - * out1: [0x0 ~> 0xffffffffffffffff] - */ -static FIAT_NP224_FIAT_INLINE void fiat_np224_cmovznz_u64(uint64_t* out1, fiat_np224_uint1 arg1, uint64_t arg2, uint64_t arg3) { - fiat_np224_uint1 x1; - uint64_t x2; - uint64_t x3; - x1 = (!(!arg1)); - x2 = ((fiat_np224_int1)(0x0 - x1) & UINT64_C(0xffffffffffffffff)); - x3 = ((fiat_np224_value_barrier_u64(x2) & arg3) | (fiat_np224_value_barrier_u64((~x2)) & arg2)); - *out1 = x3; -} - -/* - * The function fiat_np224_mul multiplies two field elements in the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * 0 ≤ eval arg2 < m - * Postconditions: - * eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_np224_mul(fiat_np224_montgomery_domain_field_element out1, const fiat_np224_montgomery_domain_field_element arg1, const fiat_np224_montgomery_domain_field_element arg2) { - uint64_t x1; - uint64_t x2; - uint64_t x3; - uint64_t x4; - uint64_t x5; - uint64_t x6; - uint64_t x7; - uint64_t x8; - uint64_t x9; - uint64_t x10; - uint64_t x11; - uint64_t x12; - uint64_t x13; - fiat_np224_uint1 x14; - uint64_t x15; - fiat_np224_uint1 x16; - uint64_t x17; - fiat_np224_uint1 x18; - uint64_t x19; - uint64_t x20; - uint64_t x21; - uint64_t x22; - uint64_t x23; - uint64_t x24; - uint64_t x25; - uint64_t x26; - uint64_t x27; - uint64_t x28; - uint64_t x29; - uint64_t x30; - fiat_np224_uint1 x31; - uint64_t x32; - fiat_np224_uint1 x33; - uint64_t x34; - fiat_np224_uint1 x35; - uint64_t x36; - uint64_t x37; - fiat_np224_uint1 x38; - uint64_t x39; - fiat_np224_uint1 x40; - uint64_t x41; - fiat_np224_uint1 x42; - uint64_t x43; - fiat_np224_uint1 x44; - uint64_t x45; - fiat_np224_uint1 x46; - uint64_t x47; - uint64_t x48; - uint64_t x49; - uint64_t x50; - uint64_t x51; - uint64_t x52; - uint64_t x53; - uint64_t x54; - uint64_t x55; - fiat_np224_uint1 x56; - uint64_t x57; - fiat_np224_uint1 x58; - uint64_t x59; - fiat_np224_uint1 x60; - uint64_t x61; - uint64_t x62; - fiat_np224_uint1 x63; - uint64_t x64; - fiat_np224_uint1 x65; - uint64_t x66; - fiat_np224_uint1 x67; - uint64_t x68; - fiat_np224_uint1 x69; - uint64_t x70; - fiat_np224_uint1 x71; - uint64_t x72; - uint64_t x73; - uint64_t x74; - uint64_t x75; - uint64_t x76; - uint64_t x77; - uint64_t x78; - uint64_t x79; - uint64_t x80; - uint64_t x81; - uint64_t x82; - fiat_np224_uint1 x83; - uint64_t x84; - fiat_np224_uint1 x85; - uint64_t x86; - fiat_np224_uint1 x87; - uint64_t x88; - uint64_t x89; - fiat_np224_uint1 x90; - uint64_t x91; - fiat_np224_uint1 x92; - uint64_t x93; - fiat_np224_uint1 x94; - uint64_t x95; - fiat_np224_uint1 x96; - uint64_t x97; - fiat_np224_uint1 x98; - uint64_t x99; - uint64_t x100; - uint64_t x101; - uint64_t x102; - uint64_t x103; - uint64_t x104; - uint64_t x105; - uint64_t x106; - uint64_t x107; - uint64_t x108; - fiat_np224_uint1 x109; - uint64_t x110; - fiat_np224_uint1 x111; - uint64_t x112; - fiat_np224_uint1 x113; - uint64_t x114; - uint64_t x115; - fiat_np224_uint1 x116; - uint64_t x117; - fiat_np224_uint1 x118; - uint64_t x119; - fiat_np224_uint1 x120; - uint64_t x121; - fiat_np224_uint1 x122; - uint64_t x123; - fiat_np224_uint1 x124; - uint64_t x125; - uint64_t x126; - uint64_t x127; - uint64_t x128; - uint64_t x129; - uint64_t x130; - uint64_t x131; - uint64_t x132; - uint64_t x133; - uint64_t x134; - uint64_t x135; - fiat_np224_uint1 x136; - uint64_t x137; - fiat_np224_uint1 x138; - uint64_t x139; - fiat_np224_uint1 x140; - uint64_t x141; - uint64_t x142; - fiat_np224_uint1 x143; - uint64_t x144; - fiat_np224_uint1 x145; - uint64_t x146; - fiat_np224_uint1 x147; - uint64_t x148; - fiat_np224_uint1 x149; - uint64_t x150; - fiat_np224_uint1 x151; - uint64_t x152; - uint64_t x153; - uint64_t x154; - uint64_t x155; - uint64_t x156; - uint64_t x157; - uint64_t x158; - uint64_t x159; - uint64_t x160; - uint64_t x161; - fiat_np224_uint1 x162; - uint64_t x163; - fiat_np224_uint1 x164; - uint64_t x165; - fiat_np224_uint1 x166; - uint64_t x167; - uint64_t x168; - fiat_np224_uint1 x169; - uint64_t x170; - fiat_np224_uint1 x171; - uint64_t x172; - fiat_np224_uint1 x173; - uint64_t x174; - fiat_np224_uint1 x175; - uint64_t x176; - fiat_np224_uint1 x177; - uint64_t x178; - uint64_t x179; - uint64_t x180; - uint64_t x181; - uint64_t x182; - uint64_t x183; - uint64_t x184; - uint64_t x185; - uint64_t x186; - uint64_t x187; - uint64_t x188; - fiat_np224_uint1 x189; - uint64_t x190; - fiat_np224_uint1 x191; - uint64_t x192; - fiat_np224_uint1 x193; - uint64_t x194; - uint64_t x195; - fiat_np224_uint1 x196; - uint64_t x197; - fiat_np224_uint1 x198; - uint64_t x199; - fiat_np224_uint1 x200; - uint64_t x201; - fiat_np224_uint1 x202; - uint64_t x203; - fiat_np224_uint1 x204; - uint64_t x205; - uint64_t x206; - fiat_np224_uint1 x207; - uint64_t x208; - fiat_np224_uint1 x209; - uint64_t x210; - fiat_np224_uint1 x211; - uint64_t x212; - fiat_np224_uint1 x213; - uint64_t x214; - fiat_np224_uint1 x215; - uint64_t x216; - uint64_t x217; - uint64_t x218; - uint64_t x219; - x1 = (arg1[1]); - x2 = (arg1[2]); - x3 = (arg1[3]); - x4 = (arg1[0]); - fiat_np224_mulx_u64(&x5, &x6, x4, (arg2[3])); - fiat_np224_mulx_u64(&x7, &x8, x4, (arg2[2])); - fiat_np224_mulx_u64(&x9, &x10, x4, (arg2[1])); - fiat_np224_mulx_u64(&x11, &x12, x4, (arg2[0])); - fiat_np224_addcarryx_u64(&x13, &x14, 0x0, x12, x9); - fiat_np224_addcarryx_u64(&x15, &x16, x14, x10, x7); - fiat_np224_addcarryx_u64(&x17, &x18, x16, x8, x5); - x19 = (x18 + x6); - fiat_np224_mulx_u64(&x20, &x21, x11, UINT64_C(0xd6e242706a1fc2eb)); - fiat_np224_mulx_u64(&x22, &x23, x20, UINT32_C(0xffffffff)); - fiat_np224_mulx_u64(&x24, &x25, x20, UINT64_C(0xffffffffffffffff)); - fiat_np224_mulx_u64(&x26, &x27, x20, UINT64_C(0xffff16a2e0b8f03e)); - fiat_np224_mulx_u64(&x28, &x29, x20, UINT64_C(0x13dd29455c5c2a3d)); - fiat_np224_addcarryx_u64(&x30, &x31, 0x0, x29, x26); - fiat_np224_addcarryx_u64(&x32, &x33, x31, x27, x24); - fiat_np224_addcarryx_u64(&x34, &x35, x33, x25, x22); - x36 = (x35 + x23); - fiat_np224_addcarryx_u64(&x37, &x38, 0x0, x11, x28); - fiat_np224_addcarryx_u64(&x39, &x40, x38, x13, x30); - fiat_np224_addcarryx_u64(&x41, &x42, x40, x15, x32); - fiat_np224_addcarryx_u64(&x43, &x44, x42, x17, x34); - fiat_np224_addcarryx_u64(&x45, &x46, x44, x19, x36); - fiat_np224_mulx_u64(&x47, &x48, x1, (arg2[3])); - fiat_np224_mulx_u64(&x49, &x50, x1, (arg2[2])); - fiat_np224_mulx_u64(&x51, &x52, x1, (arg2[1])); - fiat_np224_mulx_u64(&x53, &x54, x1, (arg2[0])); - fiat_np224_addcarryx_u64(&x55, &x56, 0x0, x54, x51); - fiat_np224_addcarryx_u64(&x57, &x58, x56, x52, x49); - fiat_np224_addcarryx_u64(&x59, &x60, x58, x50, x47); - x61 = (x60 + x48); - fiat_np224_addcarryx_u64(&x62, &x63, 0x0, x39, x53); - fiat_np224_addcarryx_u64(&x64, &x65, x63, x41, x55); - fiat_np224_addcarryx_u64(&x66, &x67, x65, x43, x57); - fiat_np224_addcarryx_u64(&x68, &x69, x67, x45, x59); - fiat_np224_addcarryx_u64(&x70, &x71, x69, x46, x61); - fiat_np224_mulx_u64(&x72, &x73, x62, UINT64_C(0xd6e242706a1fc2eb)); - fiat_np224_mulx_u64(&x74, &x75, x72, UINT32_C(0xffffffff)); - fiat_np224_mulx_u64(&x76, &x77, x72, UINT64_C(0xffffffffffffffff)); - fiat_np224_mulx_u64(&x78, &x79, x72, UINT64_C(0xffff16a2e0b8f03e)); - fiat_np224_mulx_u64(&x80, &x81, x72, UINT64_C(0x13dd29455c5c2a3d)); - fiat_np224_addcarryx_u64(&x82, &x83, 0x0, x81, x78); - fiat_np224_addcarryx_u64(&x84, &x85, x83, x79, x76); - fiat_np224_addcarryx_u64(&x86, &x87, x85, x77, x74); - x88 = (x87 + x75); - fiat_np224_addcarryx_u64(&x89, &x90, 0x0, x62, x80); - fiat_np224_addcarryx_u64(&x91, &x92, x90, x64, x82); - fiat_np224_addcarryx_u64(&x93, &x94, x92, x66, x84); - fiat_np224_addcarryx_u64(&x95, &x96, x94, x68, x86); - fiat_np224_addcarryx_u64(&x97, &x98, x96, x70, x88); - x99 = ((uint64_t)x98 + x71); - fiat_np224_mulx_u64(&x100, &x101, x2, (arg2[3])); - fiat_np224_mulx_u64(&x102, &x103, x2, (arg2[2])); - fiat_np224_mulx_u64(&x104, &x105, x2, (arg2[1])); - fiat_np224_mulx_u64(&x106, &x107, x2, (arg2[0])); - fiat_np224_addcarryx_u64(&x108, &x109, 0x0, x107, x104); - fiat_np224_addcarryx_u64(&x110, &x111, x109, x105, x102); - fiat_np224_addcarryx_u64(&x112, &x113, x111, x103, x100); - x114 = (x113 + x101); - fiat_np224_addcarryx_u64(&x115, &x116, 0x0, x91, x106); - fiat_np224_addcarryx_u64(&x117, &x118, x116, x93, x108); - fiat_np224_addcarryx_u64(&x119, &x120, x118, x95, x110); - fiat_np224_addcarryx_u64(&x121, &x122, x120, x97, x112); - fiat_np224_addcarryx_u64(&x123, &x124, x122, x99, x114); - fiat_np224_mulx_u64(&x125, &x126, x115, UINT64_C(0xd6e242706a1fc2eb)); - fiat_np224_mulx_u64(&x127, &x128, x125, UINT32_C(0xffffffff)); - fiat_np224_mulx_u64(&x129, &x130, x125, UINT64_C(0xffffffffffffffff)); - fiat_np224_mulx_u64(&x131, &x132, x125, UINT64_C(0xffff16a2e0b8f03e)); - fiat_np224_mulx_u64(&x133, &x134, x125, UINT64_C(0x13dd29455c5c2a3d)); - fiat_np224_addcarryx_u64(&x135, &x136, 0x0, x134, x131); - fiat_np224_addcarryx_u64(&x137, &x138, x136, x132, x129); - fiat_np224_addcarryx_u64(&x139, &x140, x138, x130, x127); - x141 = (x140 + x128); - fiat_np224_addcarryx_u64(&x142, &x143, 0x0, x115, x133); - fiat_np224_addcarryx_u64(&x144, &x145, x143, x117, x135); - fiat_np224_addcarryx_u64(&x146, &x147, x145, x119, x137); - fiat_np224_addcarryx_u64(&x148, &x149, x147, x121, x139); - fiat_np224_addcarryx_u64(&x150, &x151, x149, x123, x141); - x152 = ((uint64_t)x151 + x124); - fiat_np224_mulx_u64(&x153, &x154, x3, (arg2[3])); - fiat_np224_mulx_u64(&x155, &x156, x3, (arg2[2])); - fiat_np224_mulx_u64(&x157, &x158, x3, (arg2[1])); - fiat_np224_mulx_u64(&x159, &x160, x3, (arg2[0])); - fiat_np224_addcarryx_u64(&x161, &x162, 0x0, x160, x157); - fiat_np224_addcarryx_u64(&x163, &x164, x162, x158, x155); - fiat_np224_addcarryx_u64(&x165, &x166, x164, x156, x153); - x167 = (x166 + x154); - fiat_np224_addcarryx_u64(&x168, &x169, 0x0, x144, x159); - fiat_np224_addcarryx_u64(&x170, &x171, x169, x146, x161); - fiat_np224_addcarryx_u64(&x172, &x173, x171, x148, x163); - fiat_np224_addcarryx_u64(&x174, &x175, x173, x150, x165); - fiat_np224_addcarryx_u64(&x176, &x177, x175, x152, x167); - fiat_np224_mulx_u64(&x178, &x179, x168, UINT64_C(0xd6e242706a1fc2eb)); - fiat_np224_mulx_u64(&x180, &x181, x178, UINT32_C(0xffffffff)); - fiat_np224_mulx_u64(&x182, &x183, x178, UINT64_C(0xffffffffffffffff)); - fiat_np224_mulx_u64(&x184, &x185, x178, UINT64_C(0xffff16a2e0b8f03e)); - fiat_np224_mulx_u64(&x186, &x187, x178, UINT64_C(0x13dd29455c5c2a3d)); - fiat_np224_addcarryx_u64(&x188, &x189, 0x0, x187, x184); - fiat_np224_addcarryx_u64(&x190, &x191, x189, x185, x182); - fiat_np224_addcarryx_u64(&x192, &x193, x191, x183, x180); - x194 = (x193 + x181); - fiat_np224_addcarryx_u64(&x195, &x196, 0x0, x168, x186); - fiat_np224_addcarryx_u64(&x197, &x198, x196, x170, x188); - fiat_np224_addcarryx_u64(&x199, &x200, x198, x172, x190); - fiat_np224_addcarryx_u64(&x201, &x202, x200, x174, x192); - fiat_np224_addcarryx_u64(&x203, &x204, x202, x176, x194); - x205 = ((uint64_t)x204 + x177); - fiat_np224_subborrowx_u64(&x206, &x207, 0x0, x197, UINT64_C(0x13dd29455c5c2a3d)); - fiat_np224_subborrowx_u64(&x208, &x209, x207, x199, UINT64_C(0xffff16a2e0b8f03e)); - fiat_np224_subborrowx_u64(&x210, &x211, x209, x201, UINT64_C(0xffffffffffffffff)); - fiat_np224_subborrowx_u64(&x212, &x213, x211, x203, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u64(&x214, &x215, x213, x205, 0x0); - fiat_np224_cmovznz_u64(&x216, x215, x206, x197); - fiat_np224_cmovznz_u64(&x217, x215, x208, x199); - fiat_np224_cmovznz_u64(&x218, x215, x210, x201); - fiat_np224_cmovznz_u64(&x219, x215, x212, x203); - out1[0] = x216; - out1[1] = x217; - out1[2] = x218; - out1[3] = x219; -} - -/* - * The function fiat_np224_add adds two field elements in the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * 0 ≤ eval arg2 < m - * Postconditions: - * eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_np224_add(fiat_np224_montgomery_domain_field_element out1, const fiat_np224_montgomery_domain_field_element arg1, const fiat_np224_montgomery_domain_field_element arg2) { - uint64_t x1; - fiat_np224_uint1 x2; - uint64_t x3; - fiat_np224_uint1 x4; - uint64_t x5; - fiat_np224_uint1 x6; - uint64_t x7; - fiat_np224_uint1 x8; - uint64_t x9; - fiat_np224_uint1 x10; - uint64_t x11; - fiat_np224_uint1 x12; - uint64_t x13; - fiat_np224_uint1 x14; - uint64_t x15; - fiat_np224_uint1 x16; - uint64_t x17; - fiat_np224_uint1 x18; - uint64_t x19; - uint64_t x20; - uint64_t x21; - uint64_t x22; - fiat_np224_addcarryx_u64(&x1, &x2, 0x0, (arg1[0]), (arg2[0])); - fiat_np224_addcarryx_u64(&x3, &x4, x2, (arg1[1]), (arg2[1])); - fiat_np224_addcarryx_u64(&x5, &x6, x4, (arg1[2]), (arg2[2])); - fiat_np224_addcarryx_u64(&x7, &x8, x6, (arg1[3]), (arg2[3])); - fiat_np224_subborrowx_u64(&x9, &x10, 0x0, x1, UINT64_C(0x13dd29455c5c2a3d)); - fiat_np224_subborrowx_u64(&x11, &x12, x10, x3, UINT64_C(0xffff16a2e0b8f03e)); - fiat_np224_subborrowx_u64(&x13, &x14, x12, x5, UINT64_C(0xffffffffffffffff)); - fiat_np224_subborrowx_u64(&x15, &x16, x14, x7, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u64(&x17, &x18, x16, x8, 0x0); - fiat_np224_cmovznz_u64(&x19, x18, x9, x1); - fiat_np224_cmovznz_u64(&x20, x18, x11, x3); - fiat_np224_cmovznz_u64(&x21, x18, x13, x5); - fiat_np224_cmovznz_u64(&x22, x18, x15, x7); - out1[0] = x19; - out1[1] = x20; - out1[2] = x21; - out1[3] = x22; -} - -/* - * The function fiat_np224_opp negates a field element in the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * Postconditions: - * eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_np224_opp(fiat_np224_montgomery_domain_field_element out1, const fiat_np224_montgomery_domain_field_element arg1) { - uint64_t x1; - fiat_np224_uint1 x2; - uint64_t x3; - fiat_np224_uint1 x4; - uint64_t x5; - fiat_np224_uint1 x6; - uint64_t x7; - fiat_np224_uint1 x8; - uint64_t x9; - uint64_t x10; - fiat_np224_uint1 x11; - uint64_t x12; - fiat_np224_uint1 x13; - uint64_t x14; - fiat_np224_uint1 x15; - uint64_t x16; - fiat_np224_uint1 x17; - fiat_np224_subborrowx_u64(&x1, &x2, 0x0, 0x0, (arg1[0])); - fiat_np224_subborrowx_u64(&x3, &x4, x2, 0x0, (arg1[1])); - fiat_np224_subborrowx_u64(&x5, &x6, x4, 0x0, (arg1[2])); - fiat_np224_subborrowx_u64(&x7, &x8, x6, 0x0, (arg1[3])); - fiat_np224_cmovznz_u64(&x9, x8, 0x0, UINT64_C(0xffffffffffffffff)); - fiat_np224_addcarryx_u64(&x10, &x11, 0x0, x1, (x9 & UINT64_C(0x13dd29455c5c2a3d))); - fiat_np224_addcarryx_u64(&x12, &x13, x11, x3, (x9 & UINT64_C(0xffff16a2e0b8f03e))); - fiat_np224_addcarryx_u64(&x14, &x15, x13, x5, x9); - fiat_np224_addcarryx_u64(&x16, &x17, x15, x7, (x9 & UINT32_C(0xffffffff))); - out1[0] = x10; - out1[1] = x12; - out1[2] = x14; - out1[3] = x16; -} - -/* - * The function fiat_np224_from_montgomery translates a field element out of the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * Postconditions: - * eval out1 mod m = (eval arg1 * ((2^64)⁻¹ mod m)^4) mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_np224_from_montgomery(fiat_np224_non_montgomery_domain_field_element out1, const fiat_np224_montgomery_domain_field_element arg1) { - uint64_t x1; - uint64_t x2; - uint64_t x3; - uint64_t x4; - uint64_t x5; - uint64_t x6; - uint64_t x7; - uint64_t x8; - uint64_t x9; - uint64_t x10; - uint64_t x11; - uint64_t x12; - fiat_np224_uint1 x13; - uint64_t x14; - fiat_np224_uint1 x15; - uint64_t x16; - fiat_np224_uint1 x17; - uint64_t x18; - fiat_np224_uint1 x19; - uint64_t x20; - fiat_np224_uint1 x21; - uint64_t x22; - fiat_np224_uint1 x23; - uint64_t x24; - fiat_np224_uint1 x25; - uint64_t x26; - fiat_np224_uint1 x27; - uint64_t x28; - fiat_np224_uint1 x29; - uint64_t x30; - fiat_np224_uint1 x31; - uint64_t x32; - uint64_t x33; - uint64_t x34; - uint64_t x35; - uint64_t x36; - uint64_t x37; - uint64_t x38; - uint64_t x39; - uint64_t x40; - uint64_t x41; - uint64_t x42; - fiat_np224_uint1 x43; - uint64_t x44; - fiat_np224_uint1 x45; - uint64_t x46; - fiat_np224_uint1 x47; - uint64_t x48; - fiat_np224_uint1 x49; - uint64_t x50; - fiat_np224_uint1 x51; - uint64_t x52; - fiat_np224_uint1 x53; - uint64_t x54; - fiat_np224_uint1 x55; - uint64_t x56; - fiat_np224_uint1 x57; - uint64_t x58; - fiat_np224_uint1 x59; - uint64_t x60; - fiat_np224_uint1 x61; - uint64_t x62; - uint64_t x63; - uint64_t x64; - uint64_t x65; - uint64_t x66; - uint64_t x67; - uint64_t x68; - uint64_t x69; - uint64_t x70; - uint64_t x71; - uint64_t x72; - fiat_np224_uint1 x73; - uint64_t x74; - fiat_np224_uint1 x75; - uint64_t x76; - fiat_np224_uint1 x77; - uint64_t x78; - fiat_np224_uint1 x79; - uint64_t x80; - fiat_np224_uint1 x81; - uint64_t x82; - fiat_np224_uint1 x83; - uint64_t x84; - fiat_np224_uint1 x85; - uint64_t x86; - fiat_np224_uint1 x87; - uint64_t x88; - fiat_np224_uint1 x89; - uint64_t x90; - fiat_np224_uint1 x91; - uint64_t x92; - uint64_t x93; - uint64_t x94; - uint64_t x95; - uint64_t x96; - uint64_t x97; - uint64_t x98; - uint64_t x99; - uint64_t x100; - uint64_t x101; - uint64_t x102; - fiat_np224_uint1 x103; - uint64_t x104; - fiat_np224_uint1 x105; - uint64_t x106; - fiat_np224_uint1 x107; - uint64_t x108; - fiat_np224_uint1 x109; - uint64_t x110; - fiat_np224_uint1 x111; - uint64_t x112; - fiat_np224_uint1 x113; - uint64_t x114; - fiat_np224_uint1 x115; - uint64_t x116; - uint64_t x117; - fiat_np224_uint1 x118; - uint64_t x119; - fiat_np224_uint1 x120; - uint64_t x121; - fiat_np224_uint1 x122; - uint64_t x123; - fiat_np224_uint1 x124; - uint64_t x125; - fiat_np224_uint1 x126; - uint64_t x127; - uint64_t x128; - uint64_t x129; - uint64_t x130; - x1 = (arg1[0]); - fiat_np224_mulx_u64(&x2, &x3, x1, UINT64_C(0xd6e242706a1fc2eb)); - fiat_np224_mulx_u64(&x4, &x5, x2, UINT32_C(0xffffffff)); - fiat_np224_mulx_u64(&x6, &x7, x2, UINT64_C(0xffffffffffffffff)); - fiat_np224_mulx_u64(&x8, &x9, x2, UINT64_C(0xffff16a2e0b8f03e)); - fiat_np224_mulx_u64(&x10, &x11, x2, UINT64_C(0x13dd29455c5c2a3d)); - fiat_np224_addcarryx_u64(&x12, &x13, 0x0, x11, x8); - fiat_np224_addcarryx_u64(&x14, &x15, x13, x9, x6); - fiat_np224_addcarryx_u64(&x16, &x17, x15, x7, x4); - fiat_np224_addcarryx_u64(&x18, &x19, 0x0, x1, x10); - fiat_np224_addcarryx_u64(&x20, &x21, x19, 0x0, x12); - fiat_np224_addcarryx_u64(&x22, &x23, x21, 0x0, x14); - fiat_np224_addcarryx_u64(&x24, &x25, x23, 0x0, x16); - fiat_np224_addcarryx_u64(&x26, &x27, 0x0, x20, (arg1[1])); - fiat_np224_addcarryx_u64(&x28, &x29, x27, x22, 0x0); - fiat_np224_addcarryx_u64(&x30, &x31, x29, x24, 0x0); - fiat_np224_mulx_u64(&x32, &x33, x26, UINT64_C(0xd6e242706a1fc2eb)); - fiat_np224_mulx_u64(&x34, &x35, x32, UINT32_C(0xffffffff)); - fiat_np224_mulx_u64(&x36, &x37, x32, UINT64_C(0xffffffffffffffff)); - fiat_np224_mulx_u64(&x38, &x39, x32, UINT64_C(0xffff16a2e0b8f03e)); - fiat_np224_mulx_u64(&x40, &x41, x32, UINT64_C(0x13dd29455c5c2a3d)); - fiat_np224_addcarryx_u64(&x42, &x43, 0x0, x41, x38); - fiat_np224_addcarryx_u64(&x44, &x45, x43, x39, x36); - fiat_np224_addcarryx_u64(&x46, &x47, x45, x37, x34); - fiat_np224_addcarryx_u64(&x48, &x49, 0x0, x26, x40); - fiat_np224_addcarryx_u64(&x50, &x51, x49, x28, x42); - fiat_np224_addcarryx_u64(&x52, &x53, x51, x30, x44); - fiat_np224_addcarryx_u64(&x54, &x55, x53, (x31 + (x25 + (x17 + x5))), x46); - fiat_np224_addcarryx_u64(&x56, &x57, 0x0, x50, (arg1[2])); - fiat_np224_addcarryx_u64(&x58, &x59, x57, x52, 0x0); - fiat_np224_addcarryx_u64(&x60, &x61, x59, x54, 0x0); - fiat_np224_mulx_u64(&x62, &x63, x56, UINT64_C(0xd6e242706a1fc2eb)); - fiat_np224_mulx_u64(&x64, &x65, x62, UINT32_C(0xffffffff)); - fiat_np224_mulx_u64(&x66, &x67, x62, UINT64_C(0xffffffffffffffff)); - fiat_np224_mulx_u64(&x68, &x69, x62, UINT64_C(0xffff16a2e0b8f03e)); - fiat_np224_mulx_u64(&x70, &x71, x62, UINT64_C(0x13dd29455c5c2a3d)); - fiat_np224_addcarryx_u64(&x72, &x73, 0x0, x71, x68); - fiat_np224_addcarryx_u64(&x74, &x75, x73, x69, x66); - fiat_np224_addcarryx_u64(&x76, &x77, x75, x67, x64); - fiat_np224_addcarryx_u64(&x78, &x79, 0x0, x56, x70); - fiat_np224_addcarryx_u64(&x80, &x81, x79, x58, x72); - fiat_np224_addcarryx_u64(&x82, &x83, x81, x60, x74); - fiat_np224_addcarryx_u64(&x84, &x85, x83, (x61 + (x55 + (x47 + x35))), x76); - fiat_np224_addcarryx_u64(&x86, &x87, 0x0, x80, (arg1[3])); - fiat_np224_addcarryx_u64(&x88, &x89, x87, x82, 0x0); - fiat_np224_addcarryx_u64(&x90, &x91, x89, x84, 0x0); - fiat_np224_mulx_u64(&x92, &x93, x86, UINT64_C(0xd6e242706a1fc2eb)); - fiat_np224_mulx_u64(&x94, &x95, x92, UINT32_C(0xffffffff)); - fiat_np224_mulx_u64(&x96, &x97, x92, UINT64_C(0xffffffffffffffff)); - fiat_np224_mulx_u64(&x98, &x99, x92, UINT64_C(0xffff16a2e0b8f03e)); - fiat_np224_mulx_u64(&x100, &x101, x92, UINT64_C(0x13dd29455c5c2a3d)); - fiat_np224_addcarryx_u64(&x102, &x103, 0x0, x101, x98); - fiat_np224_addcarryx_u64(&x104, &x105, x103, x99, x96); - fiat_np224_addcarryx_u64(&x106, &x107, x105, x97, x94); - fiat_np224_addcarryx_u64(&x108, &x109, 0x0, x86, x100); - fiat_np224_addcarryx_u64(&x110, &x111, x109, x88, x102); - fiat_np224_addcarryx_u64(&x112, &x113, x111, x90, x104); - fiat_np224_addcarryx_u64(&x114, &x115, x113, (x91 + (x85 + (x77 + x65))), x106); - x116 = (x115 + (x107 + x95)); - fiat_np224_subborrowx_u64(&x117, &x118, 0x0, x110, UINT64_C(0x13dd29455c5c2a3d)); - fiat_np224_subborrowx_u64(&x119, &x120, x118, x112, UINT64_C(0xffff16a2e0b8f03e)); - fiat_np224_subborrowx_u64(&x121, &x122, x120, x114, UINT64_C(0xffffffffffffffff)); - fiat_np224_subborrowx_u64(&x123, &x124, x122, x116, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u64(&x125, &x126, x124, 0x0, 0x0); - fiat_np224_cmovznz_u64(&x127, x126, x117, x110); - fiat_np224_cmovznz_u64(&x128, x126, x119, x112); - fiat_np224_cmovznz_u64(&x129, x126, x121, x114); - fiat_np224_cmovznz_u64(&x130, x126, x123, x116); - out1[0] = x127; - out1[1] = x128; - out1[2] = x129; - out1[3] = x130; -} - -/* - * The function fiat_np224_to_montgomery translates a field element into the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * Postconditions: - * eval (from_montgomery out1) mod m = eval arg1 mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_np224_to_montgomery(fiat_np224_montgomery_domain_field_element out1, const fiat_np224_non_montgomery_domain_field_element arg1) { - uint64_t x1; - uint64_t x2; - uint64_t x3; - uint64_t x4; - uint64_t x5; - uint64_t x6; - uint64_t x7; - uint64_t x8; - uint64_t x9; - uint64_t x10; - uint64_t x11; - uint64_t x12; - uint64_t x13; - fiat_np224_uint1 x14; - uint64_t x15; - fiat_np224_uint1 x16; - uint64_t x17; - fiat_np224_uint1 x18; - uint64_t x19; - uint64_t x20; - uint64_t x21; - uint64_t x22; - uint64_t x23; - uint64_t x24; - uint64_t x25; - uint64_t x26; - uint64_t x27; - uint64_t x28; - uint64_t x29; - fiat_np224_uint1 x30; - uint64_t x31; - fiat_np224_uint1 x32; - uint64_t x33; - fiat_np224_uint1 x34; - uint64_t x35; - fiat_np224_uint1 x36; - uint64_t x37; - fiat_np224_uint1 x38; - uint64_t x39; - fiat_np224_uint1 x40; - uint64_t x41; - fiat_np224_uint1 x42; - uint64_t x43; - uint64_t x44; - uint64_t x45; - uint64_t x46; - uint64_t x47; - uint64_t x48; - uint64_t x49; - uint64_t x50; - uint64_t x51; - fiat_np224_uint1 x52; - uint64_t x53; - fiat_np224_uint1 x54; - uint64_t x55; - fiat_np224_uint1 x56; - uint64_t x57; - fiat_np224_uint1 x58; - uint64_t x59; - fiat_np224_uint1 x60; - uint64_t x61; - fiat_np224_uint1 x62; - uint64_t x63; - fiat_np224_uint1 x64; - uint64_t x65; - uint64_t x66; - uint64_t x67; - uint64_t x68; - uint64_t x69; - uint64_t x70; - uint64_t x71; - uint64_t x72; - uint64_t x73; - uint64_t x74; - uint64_t x75; - fiat_np224_uint1 x76; - uint64_t x77; - fiat_np224_uint1 x78; - uint64_t x79; - fiat_np224_uint1 x80; - uint64_t x81; - fiat_np224_uint1 x82; - uint64_t x83; - fiat_np224_uint1 x84; - uint64_t x85; - fiat_np224_uint1 x86; - uint64_t x87; - fiat_np224_uint1 x88; - uint64_t x89; - uint64_t x90; - uint64_t x91; - uint64_t x92; - uint64_t x93; - uint64_t x94; - uint64_t x95; - uint64_t x96; - uint64_t x97; - fiat_np224_uint1 x98; - uint64_t x99; - fiat_np224_uint1 x100; - uint64_t x101; - fiat_np224_uint1 x102; - uint64_t x103; - fiat_np224_uint1 x104; - uint64_t x105; - fiat_np224_uint1 x106; - uint64_t x107; - fiat_np224_uint1 x108; - uint64_t x109; - fiat_np224_uint1 x110; - uint64_t x111; - uint64_t x112; - uint64_t x113; - uint64_t x114; - uint64_t x115; - uint64_t x116; - uint64_t x117; - uint64_t x118; - uint64_t x119; - uint64_t x120; - uint64_t x121; - fiat_np224_uint1 x122; - uint64_t x123; - fiat_np224_uint1 x124; - uint64_t x125; - fiat_np224_uint1 x126; - uint64_t x127; - fiat_np224_uint1 x128; - uint64_t x129; - fiat_np224_uint1 x130; - uint64_t x131; - fiat_np224_uint1 x132; - uint64_t x133; - fiat_np224_uint1 x134; - uint64_t x135; - uint64_t x136; - uint64_t x137; - uint64_t x138; - uint64_t x139; - uint64_t x140; - uint64_t x141; - uint64_t x142; - uint64_t x143; - fiat_np224_uint1 x144; - uint64_t x145; - fiat_np224_uint1 x146; - uint64_t x147; - fiat_np224_uint1 x148; - uint64_t x149; - fiat_np224_uint1 x150; - uint64_t x151; - fiat_np224_uint1 x152; - uint64_t x153; - fiat_np224_uint1 x154; - uint64_t x155; - fiat_np224_uint1 x156; - uint64_t x157; - uint64_t x158; - uint64_t x159; - uint64_t x160; - uint64_t x161; - uint64_t x162; - uint64_t x163; - uint64_t x164; - uint64_t x165; - uint64_t x166; - uint64_t x167; - fiat_np224_uint1 x168; - uint64_t x169; - fiat_np224_uint1 x170; - uint64_t x171; - fiat_np224_uint1 x172; - uint64_t x173; - fiat_np224_uint1 x174; - uint64_t x175; - fiat_np224_uint1 x176; - uint64_t x177; - fiat_np224_uint1 x178; - uint64_t x179; - fiat_np224_uint1 x180; - uint64_t x181; - uint64_t x182; - fiat_np224_uint1 x183; - uint64_t x184; - fiat_np224_uint1 x185; - uint64_t x186; - fiat_np224_uint1 x187; - uint64_t x188; - fiat_np224_uint1 x189; - uint64_t x190; - fiat_np224_uint1 x191; - uint64_t x192; - uint64_t x193; - uint64_t x194; - uint64_t x195; - x1 = (arg1[1]); - x2 = (arg1[2]); - x3 = (arg1[3]); - x4 = (arg1[0]); - fiat_np224_mulx_u64(&x5, &x6, x4, UINT32_C(0xb1e97961)); - fiat_np224_mulx_u64(&x7, &x8, x4, UINT64_C(0x6ad15f7cd9714856)); - fiat_np224_mulx_u64(&x9, &x10, x4, UINT64_C(0xabc8ff5931d63f4b)); - fiat_np224_mulx_u64(&x11, &x12, x4, UINT64_C(0x29947a695f517d15)); - fiat_np224_addcarryx_u64(&x13, &x14, 0x0, x12, x9); - fiat_np224_addcarryx_u64(&x15, &x16, x14, x10, x7); - fiat_np224_addcarryx_u64(&x17, &x18, x16, x8, x5); - fiat_np224_mulx_u64(&x19, &x20, x11, UINT64_C(0xd6e242706a1fc2eb)); - fiat_np224_mulx_u64(&x21, &x22, x19, UINT32_C(0xffffffff)); - fiat_np224_mulx_u64(&x23, &x24, x19, UINT64_C(0xffffffffffffffff)); - fiat_np224_mulx_u64(&x25, &x26, x19, UINT64_C(0xffff16a2e0b8f03e)); - fiat_np224_mulx_u64(&x27, &x28, x19, UINT64_C(0x13dd29455c5c2a3d)); - fiat_np224_addcarryx_u64(&x29, &x30, 0x0, x28, x25); - fiat_np224_addcarryx_u64(&x31, &x32, x30, x26, x23); - fiat_np224_addcarryx_u64(&x33, &x34, x32, x24, x21); - fiat_np224_addcarryx_u64(&x35, &x36, 0x0, x11, x27); - fiat_np224_addcarryx_u64(&x37, &x38, x36, x13, x29); - fiat_np224_addcarryx_u64(&x39, &x40, x38, x15, x31); - fiat_np224_addcarryx_u64(&x41, &x42, x40, x17, x33); - fiat_np224_mulx_u64(&x43, &x44, x1, UINT32_C(0xb1e97961)); - fiat_np224_mulx_u64(&x45, &x46, x1, UINT64_C(0x6ad15f7cd9714856)); - fiat_np224_mulx_u64(&x47, &x48, x1, UINT64_C(0xabc8ff5931d63f4b)); - fiat_np224_mulx_u64(&x49, &x50, x1, UINT64_C(0x29947a695f517d15)); - fiat_np224_addcarryx_u64(&x51, &x52, 0x0, x50, x47); - fiat_np224_addcarryx_u64(&x53, &x54, x52, x48, x45); - fiat_np224_addcarryx_u64(&x55, &x56, x54, x46, x43); - fiat_np224_addcarryx_u64(&x57, &x58, 0x0, x37, x49); - fiat_np224_addcarryx_u64(&x59, &x60, x58, x39, x51); - fiat_np224_addcarryx_u64(&x61, &x62, x60, x41, x53); - fiat_np224_addcarryx_u64(&x63, &x64, x62, ((x42 + (x18 + x6)) + (x34 + x22)), x55); - fiat_np224_mulx_u64(&x65, &x66, x57, UINT64_C(0xd6e242706a1fc2eb)); - fiat_np224_mulx_u64(&x67, &x68, x65, UINT32_C(0xffffffff)); - fiat_np224_mulx_u64(&x69, &x70, x65, UINT64_C(0xffffffffffffffff)); - fiat_np224_mulx_u64(&x71, &x72, x65, UINT64_C(0xffff16a2e0b8f03e)); - fiat_np224_mulx_u64(&x73, &x74, x65, UINT64_C(0x13dd29455c5c2a3d)); - fiat_np224_addcarryx_u64(&x75, &x76, 0x0, x74, x71); - fiat_np224_addcarryx_u64(&x77, &x78, x76, x72, x69); - fiat_np224_addcarryx_u64(&x79, &x80, x78, x70, x67); - fiat_np224_addcarryx_u64(&x81, &x82, 0x0, x57, x73); - fiat_np224_addcarryx_u64(&x83, &x84, x82, x59, x75); - fiat_np224_addcarryx_u64(&x85, &x86, x84, x61, x77); - fiat_np224_addcarryx_u64(&x87, &x88, x86, x63, x79); - fiat_np224_mulx_u64(&x89, &x90, x2, UINT32_C(0xb1e97961)); - fiat_np224_mulx_u64(&x91, &x92, x2, UINT64_C(0x6ad15f7cd9714856)); - fiat_np224_mulx_u64(&x93, &x94, x2, UINT64_C(0xabc8ff5931d63f4b)); - fiat_np224_mulx_u64(&x95, &x96, x2, UINT64_C(0x29947a695f517d15)); - fiat_np224_addcarryx_u64(&x97, &x98, 0x0, x96, x93); - fiat_np224_addcarryx_u64(&x99, &x100, x98, x94, x91); - fiat_np224_addcarryx_u64(&x101, &x102, x100, x92, x89); - fiat_np224_addcarryx_u64(&x103, &x104, 0x0, x83, x95); - fiat_np224_addcarryx_u64(&x105, &x106, x104, x85, x97); - fiat_np224_addcarryx_u64(&x107, &x108, x106, x87, x99); - fiat_np224_addcarryx_u64(&x109, &x110, x108, ((x88 + (x64 + (x56 + x44))) + (x80 + x68)), x101); - fiat_np224_mulx_u64(&x111, &x112, x103, UINT64_C(0xd6e242706a1fc2eb)); - fiat_np224_mulx_u64(&x113, &x114, x111, UINT32_C(0xffffffff)); - fiat_np224_mulx_u64(&x115, &x116, x111, UINT64_C(0xffffffffffffffff)); - fiat_np224_mulx_u64(&x117, &x118, x111, UINT64_C(0xffff16a2e0b8f03e)); - fiat_np224_mulx_u64(&x119, &x120, x111, UINT64_C(0x13dd29455c5c2a3d)); - fiat_np224_addcarryx_u64(&x121, &x122, 0x0, x120, x117); - fiat_np224_addcarryx_u64(&x123, &x124, x122, x118, x115); - fiat_np224_addcarryx_u64(&x125, &x126, x124, x116, x113); - fiat_np224_addcarryx_u64(&x127, &x128, 0x0, x103, x119); - fiat_np224_addcarryx_u64(&x129, &x130, x128, x105, x121); - fiat_np224_addcarryx_u64(&x131, &x132, x130, x107, x123); - fiat_np224_addcarryx_u64(&x133, &x134, x132, x109, x125); - fiat_np224_mulx_u64(&x135, &x136, x3, UINT32_C(0xb1e97961)); - fiat_np224_mulx_u64(&x137, &x138, x3, UINT64_C(0x6ad15f7cd9714856)); - fiat_np224_mulx_u64(&x139, &x140, x3, UINT64_C(0xabc8ff5931d63f4b)); - fiat_np224_mulx_u64(&x141, &x142, x3, UINT64_C(0x29947a695f517d15)); - fiat_np224_addcarryx_u64(&x143, &x144, 0x0, x142, x139); - fiat_np224_addcarryx_u64(&x145, &x146, x144, x140, x137); - fiat_np224_addcarryx_u64(&x147, &x148, x146, x138, x135); - fiat_np224_addcarryx_u64(&x149, &x150, 0x0, x129, x141); - fiat_np224_addcarryx_u64(&x151, &x152, x150, x131, x143); - fiat_np224_addcarryx_u64(&x153, &x154, x152, x133, x145); - fiat_np224_addcarryx_u64(&x155, &x156, x154, ((x134 + (x110 + (x102 + x90))) + (x126 + x114)), x147); - fiat_np224_mulx_u64(&x157, &x158, x149, UINT64_C(0xd6e242706a1fc2eb)); - fiat_np224_mulx_u64(&x159, &x160, x157, UINT32_C(0xffffffff)); - fiat_np224_mulx_u64(&x161, &x162, x157, UINT64_C(0xffffffffffffffff)); - fiat_np224_mulx_u64(&x163, &x164, x157, UINT64_C(0xffff16a2e0b8f03e)); - fiat_np224_mulx_u64(&x165, &x166, x157, UINT64_C(0x13dd29455c5c2a3d)); - fiat_np224_addcarryx_u64(&x167, &x168, 0x0, x166, x163); - fiat_np224_addcarryx_u64(&x169, &x170, x168, x164, x161); - fiat_np224_addcarryx_u64(&x171, &x172, x170, x162, x159); - fiat_np224_addcarryx_u64(&x173, &x174, 0x0, x149, x165); - fiat_np224_addcarryx_u64(&x175, &x176, x174, x151, x167); - fiat_np224_addcarryx_u64(&x177, &x178, x176, x153, x169); - fiat_np224_addcarryx_u64(&x179, &x180, x178, x155, x171); - x181 = ((x180 + (x156 + (x148 + x136))) + (x172 + x160)); - fiat_np224_subborrowx_u64(&x182, &x183, 0x0, x175, UINT64_C(0x13dd29455c5c2a3d)); - fiat_np224_subborrowx_u64(&x184, &x185, x183, x177, UINT64_C(0xffff16a2e0b8f03e)); - fiat_np224_subborrowx_u64(&x186, &x187, x185, x179, UINT64_C(0xffffffffffffffff)); - fiat_np224_subborrowx_u64(&x188, &x189, x187, x181, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u64(&x190, &x191, x189, 0x0, 0x0); - fiat_np224_cmovznz_u64(&x192, x191, x182, x175); - fiat_np224_cmovznz_u64(&x193, x191, x184, x177); - fiat_np224_cmovznz_u64(&x194, x191, x186, x179); - fiat_np224_cmovznz_u64(&x195, x191, x188, x181); - out1[0] = x192; - out1[1] = x193; - out1[2] = x194; - out1[3] = x195; -} - -/* - * The function fiat_np224_set_one returns the field element one in the Montgomery domain. - * - * Postconditions: - * eval (from_montgomery out1) mod m = 1 mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_np224_set_one(fiat_np224_montgomery_domain_field_element out1) { - out1[0] = UINT64_C(0xa3a3d5c300000000); - out1[1] = UINT64_C(0x1f470fc1ec22d6ba); - out1[2] = UINT16_C(0xe95d); - out1[3] = 0x0; -} - -/* - * The function fiat_np224_msat returns the saturated representation of the prime modulus. - * - * Postconditions: - * twos_complement_eval out1 = m - * 0 ≤ eval out1 < m - * - * Output Bounds: - * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - */ -static void fiat_np224_msat(uint64_t out1[5]) { - out1[0] = UINT64_C(0x13dd29455c5c2a3d); - out1[1] = UINT64_C(0xffff16a2e0b8f03e); - out1[2] = UINT64_C(0xffffffffffffffff); - out1[3] = UINT32_C(0xffffffff); - out1[4] = 0x0; -} - -/* - * The function fiat_np224_divstep_precomp returns the precomputed value for Bernstein-Yang-inversion (in montgomery form). - * - * Postconditions: - * eval (from_montgomery out1) = ⌊(m - 1) / 2⌋^(if ⌊log2 m⌋ + 1 < 46 then ⌊(49 * (⌊log2 m⌋ + 1) + 80) / 17⌋ else ⌊(49 * (⌊log2 m⌋ + 1) + 57) / 17⌋) - * 0 ≤ eval out1 < m - * - * Output Bounds: - * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - */ -static void fiat_np224_divstep_precomp(uint64_t out1[4]) { - out1[0] = UINT64_C(0x74ecb6e5a4954cc); - out1[1] = UINT64_C(0x26a7844030955df6); - out1[2] = UINT64_C(0xef16fedba3350f94); - out1[3] = UINT32_C(0x4704d6d8); -} - -/* - * The function fiat_np224_divstep computes a divstep. - * - * Preconditions: - * 0 ≤ eval arg4 < m - * 0 ≤ eval arg5 < m - * Postconditions: - * out1 = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then 1 - arg1 else 1 + arg1) - * twos_complement_eval out2 = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then twos_complement_eval arg3 else twos_complement_eval arg2) - * twos_complement_eval out3 = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then ⌊(twos_complement_eval arg3 - twos_complement_eval arg2) / 2⌋ else ⌊(twos_complement_eval arg3 + (twos_complement_eval arg3 mod 2) * twos_complement_eval arg2) / 2⌋) - * eval (from_montgomery out4) mod m = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then (2 * eval (from_montgomery arg5)) mod m else (2 * eval (from_montgomery arg4)) mod m) - * eval (from_montgomery out5) mod m = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then (eval (from_montgomery arg4) - eval (from_montgomery arg4)) mod m else (eval (from_montgomery arg5) + (twos_complement_eval arg3 mod 2) * eval (from_montgomery arg4)) mod m) - * 0 ≤ eval out5 < m - * 0 ≤ eval out5 < m - * 0 ≤ eval out2 < m - * 0 ≤ eval out3 < m - * - * Input Bounds: - * arg1: [0x0 ~> 0xffffffffffffffff] - * arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - * arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - * arg4: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - * arg5: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - * Output Bounds: - * out1: [0x0 ~> 0xffffffffffffffff] - * out2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - * out3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - * out4: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - * out5: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - */ -static void fiat_np224_divstep(uint64_t* out1, uint64_t out2[5], uint64_t out3[5], uint64_t out4[4], uint64_t out5[4], uint64_t arg1, const uint64_t arg2[5], const uint64_t arg3[5], const uint64_t arg4[4], const uint64_t arg5[4]) { - uint64_t x1; - fiat_np224_uint1 x2; - fiat_np224_uint1 x3; - uint64_t x4; - fiat_np224_uint1 x5; - uint64_t x6; - uint64_t x7; - uint64_t x8; - uint64_t x9; - uint64_t x10; - uint64_t x11; - uint64_t x12; - fiat_np224_uint1 x13; - uint64_t x14; - fiat_np224_uint1 x15; - uint64_t x16; - fiat_np224_uint1 x17; - uint64_t x18; - fiat_np224_uint1 x19; - uint64_t x20; - fiat_np224_uint1 x21; - uint64_t x22; - uint64_t x23; - uint64_t x24; - uint64_t x25; - uint64_t x26; - uint64_t x27; - uint64_t x28; - uint64_t x29; - uint64_t x30; - uint64_t x31; - fiat_np224_uint1 x32; - uint64_t x33; - fiat_np224_uint1 x34; - uint64_t x35; - fiat_np224_uint1 x36; - uint64_t x37; - fiat_np224_uint1 x38; - uint64_t x39; - fiat_np224_uint1 x40; - uint64_t x41; - fiat_np224_uint1 x42; - uint64_t x43; - fiat_np224_uint1 x44; - uint64_t x45; - fiat_np224_uint1 x46; - uint64_t x47; - fiat_np224_uint1 x48; - uint64_t x49; - uint64_t x50; - uint64_t x51; - uint64_t x52; - uint64_t x53; - fiat_np224_uint1 x54; - uint64_t x55; - fiat_np224_uint1 x56; - uint64_t x57; - fiat_np224_uint1 x58; - uint64_t x59; - fiat_np224_uint1 x60; - uint64_t x61; - uint64_t x62; - fiat_np224_uint1 x63; - uint64_t x64; - fiat_np224_uint1 x65; - uint64_t x66; - fiat_np224_uint1 x67; - uint64_t x68; - fiat_np224_uint1 x69; - uint64_t x70; - uint64_t x71; - uint64_t x72; - uint64_t x73; - fiat_np224_uint1 x74; - uint64_t x75; - uint64_t x76; - uint64_t x77; - uint64_t x78; - uint64_t x79; - uint64_t x80; - fiat_np224_uint1 x81; - uint64_t x82; - fiat_np224_uint1 x83; - uint64_t x84; - fiat_np224_uint1 x85; - uint64_t x86; - fiat_np224_uint1 x87; - uint64_t x88; - fiat_np224_uint1 x89; - uint64_t x90; - uint64_t x91; - uint64_t x92; - uint64_t x93; - uint64_t x94; - fiat_np224_uint1 x95; - uint64_t x96; - fiat_np224_uint1 x97; - uint64_t x98; - fiat_np224_uint1 x99; - uint64_t x100; - fiat_np224_uint1 x101; - uint64_t x102; - fiat_np224_uint1 x103; - uint64_t x104; - fiat_np224_uint1 x105; - uint64_t x106; - fiat_np224_uint1 x107; - uint64_t x108; - fiat_np224_uint1 x109; - uint64_t x110; - fiat_np224_uint1 x111; - uint64_t x112; - fiat_np224_uint1 x113; - uint64_t x114; - uint64_t x115; - uint64_t x116; - uint64_t x117; - uint64_t x118; - uint64_t x119; - uint64_t x120; - uint64_t x121; - uint64_t x122; - uint64_t x123; - uint64_t x124; - uint64_t x125; - uint64_t x126; - fiat_np224_addcarryx_u64(&x1, &x2, 0x0, (~arg1), 0x1); - x3 = (fiat_np224_uint1)((fiat_np224_uint1)(x1 >> 63) & (fiat_np224_uint1)((arg3[0]) & 0x1)); - fiat_np224_addcarryx_u64(&x4, &x5, 0x0, (~arg1), 0x1); - fiat_np224_cmovznz_u64(&x6, x3, arg1, x4); - fiat_np224_cmovznz_u64(&x7, x3, (arg2[0]), (arg3[0])); - fiat_np224_cmovznz_u64(&x8, x3, (arg2[1]), (arg3[1])); - fiat_np224_cmovznz_u64(&x9, x3, (arg2[2]), (arg3[2])); - fiat_np224_cmovznz_u64(&x10, x3, (arg2[3]), (arg3[3])); - fiat_np224_cmovznz_u64(&x11, x3, (arg2[4]), (arg3[4])); - fiat_np224_addcarryx_u64(&x12, &x13, 0x0, 0x1, (~(arg2[0]))); - fiat_np224_addcarryx_u64(&x14, &x15, x13, 0x0, (~(arg2[1]))); - fiat_np224_addcarryx_u64(&x16, &x17, x15, 0x0, (~(arg2[2]))); - fiat_np224_addcarryx_u64(&x18, &x19, x17, 0x0, (~(arg2[3]))); - fiat_np224_addcarryx_u64(&x20, &x21, x19, 0x0, (~(arg2[4]))); - fiat_np224_cmovznz_u64(&x22, x3, (arg3[0]), x12); - fiat_np224_cmovznz_u64(&x23, x3, (arg3[1]), x14); - fiat_np224_cmovznz_u64(&x24, x3, (arg3[2]), x16); - fiat_np224_cmovznz_u64(&x25, x3, (arg3[3]), x18); - fiat_np224_cmovznz_u64(&x26, x3, (arg3[4]), x20); - fiat_np224_cmovznz_u64(&x27, x3, (arg4[0]), (arg5[0])); - fiat_np224_cmovznz_u64(&x28, x3, (arg4[1]), (arg5[1])); - fiat_np224_cmovznz_u64(&x29, x3, (arg4[2]), (arg5[2])); - fiat_np224_cmovznz_u64(&x30, x3, (arg4[3]), (arg5[3])); - fiat_np224_addcarryx_u64(&x31, &x32, 0x0, x27, x27); - fiat_np224_addcarryx_u64(&x33, &x34, x32, x28, x28); - fiat_np224_addcarryx_u64(&x35, &x36, x34, x29, x29); - fiat_np224_addcarryx_u64(&x37, &x38, x36, x30, x30); - fiat_np224_subborrowx_u64(&x39, &x40, 0x0, x31, UINT64_C(0x13dd29455c5c2a3d)); - fiat_np224_subborrowx_u64(&x41, &x42, x40, x33, UINT64_C(0xffff16a2e0b8f03e)); - fiat_np224_subborrowx_u64(&x43, &x44, x42, x35, UINT64_C(0xffffffffffffffff)); - fiat_np224_subborrowx_u64(&x45, &x46, x44, x37, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u64(&x47, &x48, x46, x38, 0x0); - x49 = (arg4[3]); - x50 = (arg4[2]); - x51 = (arg4[1]); - x52 = (arg4[0]); - fiat_np224_subborrowx_u64(&x53, &x54, 0x0, 0x0, x52); - fiat_np224_subborrowx_u64(&x55, &x56, x54, 0x0, x51); - fiat_np224_subborrowx_u64(&x57, &x58, x56, 0x0, x50); - fiat_np224_subborrowx_u64(&x59, &x60, x58, 0x0, x49); - fiat_np224_cmovznz_u64(&x61, x60, 0x0, UINT64_C(0xffffffffffffffff)); - fiat_np224_addcarryx_u64(&x62, &x63, 0x0, x53, (x61 & UINT64_C(0x13dd29455c5c2a3d))); - fiat_np224_addcarryx_u64(&x64, &x65, x63, x55, (x61 & UINT64_C(0xffff16a2e0b8f03e))); - fiat_np224_addcarryx_u64(&x66, &x67, x65, x57, x61); - fiat_np224_addcarryx_u64(&x68, &x69, x67, x59, (x61 & UINT32_C(0xffffffff))); - fiat_np224_cmovznz_u64(&x70, x3, (arg5[0]), x62); - fiat_np224_cmovznz_u64(&x71, x3, (arg5[1]), x64); - fiat_np224_cmovznz_u64(&x72, x3, (arg5[2]), x66); - fiat_np224_cmovznz_u64(&x73, x3, (arg5[3]), x68); - x74 = (fiat_np224_uint1)(x22 & 0x1); - fiat_np224_cmovznz_u64(&x75, x74, 0x0, x7); - fiat_np224_cmovznz_u64(&x76, x74, 0x0, x8); - fiat_np224_cmovznz_u64(&x77, x74, 0x0, x9); - fiat_np224_cmovznz_u64(&x78, x74, 0x0, x10); - fiat_np224_cmovznz_u64(&x79, x74, 0x0, x11); - fiat_np224_addcarryx_u64(&x80, &x81, 0x0, x22, x75); - fiat_np224_addcarryx_u64(&x82, &x83, x81, x23, x76); - fiat_np224_addcarryx_u64(&x84, &x85, x83, x24, x77); - fiat_np224_addcarryx_u64(&x86, &x87, x85, x25, x78); - fiat_np224_addcarryx_u64(&x88, &x89, x87, x26, x79); - fiat_np224_cmovznz_u64(&x90, x74, 0x0, x27); - fiat_np224_cmovznz_u64(&x91, x74, 0x0, x28); - fiat_np224_cmovznz_u64(&x92, x74, 0x0, x29); - fiat_np224_cmovznz_u64(&x93, x74, 0x0, x30); - fiat_np224_addcarryx_u64(&x94, &x95, 0x0, x70, x90); - fiat_np224_addcarryx_u64(&x96, &x97, x95, x71, x91); - fiat_np224_addcarryx_u64(&x98, &x99, x97, x72, x92); - fiat_np224_addcarryx_u64(&x100, &x101, x99, x73, x93); - fiat_np224_subborrowx_u64(&x102, &x103, 0x0, x94, UINT64_C(0x13dd29455c5c2a3d)); - fiat_np224_subborrowx_u64(&x104, &x105, x103, x96, UINT64_C(0xffff16a2e0b8f03e)); - fiat_np224_subborrowx_u64(&x106, &x107, x105, x98, UINT64_C(0xffffffffffffffff)); - fiat_np224_subborrowx_u64(&x108, &x109, x107, x100, UINT32_C(0xffffffff)); - fiat_np224_subborrowx_u64(&x110, &x111, x109, x101, 0x0); - fiat_np224_addcarryx_u64(&x112, &x113, 0x0, x6, 0x1); - x114 = ((x80 >> 1) | ((x82 << 63) & UINT64_C(0xffffffffffffffff))); - x115 = ((x82 >> 1) | ((x84 << 63) & UINT64_C(0xffffffffffffffff))); - x116 = ((x84 >> 1) | ((x86 << 63) & UINT64_C(0xffffffffffffffff))); - x117 = ((x86 >> 1) | ((x88 << 63) & UINT64_C(0xffffffffffffffff))); - x118 = ((x88 & UINT64_C(0x8000000000000000)) | (x88 >> 1)); - fiat_np224_cmovznz_u64(&x119, x48, x39, x31); - fiat_np224_cmovznz_u64(&x120, x48, x41, x33); - fiat_np224_cmovznz_u64(&x121, x48, x43, x35); - fiat_np224_cmovznz_u64(&x122, x48, x45, x37); - fiat_np224_cmovznz_u64(&x123, x111, x102, x94); - fiat_np224_cmovznz_u64(&x124, x111, x104, x96); - fiat_np224_cmovznz_u64(&x125, x111, x106, x98); - fiat_np224_cmovznz_u64(&x126, x111, x108, x100); - *out1 = x112; - out2[0] = x7; - out2[1] = x8; - out2[2] = x9; - out2[3] = x10; - out2[4] = x11; - out3[0] = x114; - out3[1] = x115; - out3[2] = x116; - out3[3] = x117; - out3[4] = x118; - out4[0] = x119; - out4[1] = x120; - out4[2] = x121; - out4[3] = x122; - out5[0] = x123; - out5[1] = x124; - out5[2] = x125; - out5[3] = x126; -} - -/* - * The function fiat_np224_to_bytes serializes a field element NOT in the Montgomery domain to bytes in little-endian order. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * Postconditions: - * out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..27] - * - * Input Bounds: - * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffff]] - * Output Bounds: - * out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]] - */ -static void fiat_np224_to_bytes(uint8_t out1[28], const uint64_t arg1[4]) { - uint64_t x1; - uint64_t x2; - uint64_t x3; - uint64_t x4; - uint8_t x5; - uint64_t x6; - uint8_t x7; - uint64_t x8; - uint8_t x9; - uint64_t x10; - uint8_t x11; - uint64_t x12; - uint8_t x13; - uint64_t x14; - uint8_t x15; - uint64_t x16; - uint8_t x17; - uint8_t x18; - uint8_t x19; - uint64_t x20; - uint8_t x21; - uint64_t x22; - uint8_t x23; - uint64_t x24; - uint8_t x25; - uint64_t x26; - uint8_t x27; - uint64_t x28; - uint8_t x29; - uint64_t x30; - uint8_t x31; - uint8_t x32; - uint8_t x33; - uint64_t x34; - uint8_t x35; - uint64_t x36; - uint8_t x37; - uint64_t x38; - uint8_t x39; - uint64_t x40; - uint8_t x41; - uint64_t x42; - uint8_t x43; - uint64_t x44; - uint8_t x45; - uint8_t x46; - uint8_t x47; - uint64_t x48; - uint8_t x49; - uint64_t x50; - uint8_t x51; - uint8_t x52; - x1 = (arg1[3]); - x2 = (arg1[2]); - x3 = (arg1[1]); - x4 = (arg1[0]); - x5 = (uint8_t)(x4 & UINT8_C(0xff)); - x6 = (x4 >> 8); - x7 = (uint8_t)(x6 & UINT8_C(0xff)); - x8 = (x6 >> 8); - x9 = (uint8_t)(x8 & UINT8_C(0xff)); - x10 = (x8 >> 8); - x11 = (uint8_t)(x10 & UINT8_C(0xff)); - x12 = (x10 >> 8); - x13 = (uint8_t)(x12 & UINT8_C(0xff)); - x14 = (x12 >> 8); - x15 = (uint8_t)(x14 & UINT8_C(0xff)); - x16 = (x14 >> 8); - x17 = (uint8_t)(x16 & UINT8_C(0xff)); - x18 = (uint8_t)(x16 >> 8); - x19 = (uint8_t)(x3 & UINT8_C(0xff)); - x20 = (x3 >> 8); - x21 = (uint8_t)(x20 & UINT8_C(0xff)); - x22 = (x20 >> 8); - x23 = (uint8_t)(x22 & UINT8_C(0xff)); - x24 = (x22 >> 8); - x25 = (uint8_t)(x24 & UINT8_C(0xff)); - x26 = (x24 >> 8); - x27 = (uint8_t)(x26 & UINT8_C(0xff)); - x28 = (x26 >> 8); - x29 = (uint8_t)(x28 & UINT8_C(0xff)); - x30 = (x28 >> 8); - x31 = (uint8_t)(x30 & UINT8_C(0xff)); - x32 = (uint8_t)(x30 >> 8); - x33 = (uint8_t)(x2 & UINT8_C(0xff)); - x34 = (x2 >> 8); - x35 = (uint8_t)(x34 & UINT8_C(0xff)); - x36 = (x34 >> 8); - x37 = (uint8_t)(x36 & UINT8_C(0xff)); - x38 = (x36 >> 8); - x39 = (uint8_t)(x38 & UINT8_C(0xff)); - x40 = (x38 >> 8); - x41 = (uint8_t)(x40 & UINT8_C(0xff)); - x42 = (x40 >> 8); - x43 = (uint8_t)(x42 & UINT8_C(0xff)); - x44 = (x42 >> 8); - x45 = (uint8_t)(x44 & UINT8_C(0xff)); - x46 = (uint8_t)(x44 >> 8); - x47 = (uint8_t)(x1 & UINT8_C(0xff)); - x48 = (x1 >> 8); - x49 = (uint8_t)(x48 & UINT8_C(0xff)); - x50 = (x48 >> 8); - x51 = (uint8_t)(x50 & UINT8_C(0xff)); - x52 = (uint8_t)(x50 >> 8); - out1[0] = x5; - out1[1] = x7; - out1[2] = x9; - out1[3] = x11; - out1[4] = x13; - out1[5] = x15; - out1[6] = x17; - out1[7] = x18; - out1[8] = x19; - out1[9] = x21; - out1[10] = x23; - out1[11] = x25; - out1[12] = x27; - out1[13] = x29; - out1[14] = x31; - out1[15] = x32; - out1[16] = x33; - out1[17] = x35; - out1[18] = x37; - out1[19] = x39; - out1[20] = x41; - out1[21] = x43; - out1[22] = x45; - out1[23] = x46; - out1[24] = x47; - out1[25] = x49; - out1[26] = x51; - out1[27] = x52; -} - -/* - * The function fiat_np224_from_bytes deserializes a field element NOT in the Montgomery domain from bytes in little-endian order. - * - * Preconditions: - * 0 ≤ bytes_eval arg1 < m - * Postconditions: - * eval out1 mod m = bytes_eval arg1 mod m - * 0 ≤ eval out1 < m - * - * Input Bounds: - * arg1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]] - * Output Bounds: - * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffff]] - */ -static void fiat_np224_from_bytes(uint64_t out1[4], const uint8_t arg1[28]) { - uint64_t x1; - uint64_t x2; - uint64_t x3; - uint8_t x4; - uint64_t x5; - uint64_t x6; - uint64_t x7; - uint64_t x8; - uint64_t x9; - uint64_t x10; - uint64_t x11; - uint8_t x12; - uint64_t x13; - uint64_t x14; - uint64_t x15; - uint64_t x16; - uint64_t x17; - uint64_t x18; - uint64_t x19; - uint8_t x20; - uint64_t x21; - uint64_t x22; - uint64_t x23; - uint64_t x24; - uint64_t x25; - uint64_t x26; - uint64_t x27; - uint8_t x28; - uint64_t x29; - uint64_t x30; - uint64_t x31; - uint64_t x32; - uint64_t x33; - uint64_t x34; - uint64_t x35; - uint64_t x36; - uint64_t x37; - uint64_t x38; - uint64_t x39; - uint64_t x40; - uint64_t x41; - uint64_t x42; - uint64_t x43; - uint64_t x44; - uint64_t x45; - uint64_t x46; - uint64_t x47; - uint64_t x48; - uint64_t x49; - uint64_t x50; - uint64_t x51; - uint64_t x52; - x1 = ((uint64_t)(arg1[27]) << 24); - x2 = ((uint64_t)(arg1[26]) << 16); - x3 = ((uint64_t)(arg1[25]) << 8); - x4 = (arg1[24]); - x5 = ((uint64_t)(arg1[23]) << 56); - x6 = ((uint64_t)(arg1[22]) << 48); - x7 = ((uint64_t)(arg1[21]) << 40); - x8 = ((uint64_t)(arg1[20]) << 32); - x9 = ((uint64_t)(arg1[19]) << 24); - x10 = ((uint64_t)(arg1[18]) << 16); - x11 = ((uint64_t)(arg1[17]) << 8); - x12 = (arg1[16]); - x13 = ((uint64_t)(arg1[15]) << 56); - x14 = ((uint64_t)(arg1[14]) << 48); - x15 = ((uint64_t)(arg1[13]) << 40); - x16 = ((uint64_t)(arg1[12]) << 32); - x17 = ((uint64_t)(arg1[11]) << 24); - x18 = ((uint64_t)(arg1[10]) << 16); - x19 = ((uint64_t)(arg1[9]) << 8); - x20 = (arg1[8]); - x21 = ((uint64_t)(arg1[7]) << 56); - x22 = ((uint64_t)(arg1[6]) << 48); - x23 = ((uint64_t)(arg1[5]) << 40); - x24 = ((uint64_t)(arg1[4]) << 32); - x25 = ((uint64_t)(arg1[3]) << 24); - x26 = ((uint64_t)(arg1[2]) << 16); - x27 = ((uint64_t)(arg1[1]) << 8); - x28 = (arg1[0]); - x29 = (x27 + (uint64_t)x28); - x30 = (x26 + x29); - x31 = (x25 + x30); - x32 = (x24 + x31); - x33 = (x23 + x32); - x34 = (x22 + x33); - x35 = (x21 + x34); - x36 = (x19 + (uint64_t)x20); - x37 = (x18 + x36); - x38 = (x17 + x37); - x39 = (x16 + x38); - x40 = (x15 + x39); - x41 = (x14 + x40); - x42 = (x13 + x41); - x43 = (x11 + (uint64_t)x12); - x44 = (x10 + x43); - x45 = (x9 + x44); - x46 = (x8 + x45); - x47 = (x7 + x46); - x48 = (x6 + x47); - x49 = (x5 + x48); - x50 = (x3 + (uint64_t)x4); - x51 = (x2 + x50); - x52 = (x1 + x51); - out1[0] = x35; - out1[1] = x42; - out1[2] = x49; - out1[3] = x52; -} - -/* - * The function fiat_np224_selectznz is a multi-limb conditional select. - * - * Postconditions: - * out1 = (if arg1 = 0 then arg2 else arg3) - * - * Input Bounds: - * arg1: [0x0 ~> 0x1] - * arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - * arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - * Output Bounds: - * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - */ -static void fiat_np224_selectznz(uint64_t out1[4], fiat_np224_uint1 arg1, const uint64_t arg2[4], const uint64_t arg3[4]) { - uint64_t x1; - uint64_t x2; - uint64_t x3; - uint64_t x4; - fiat_np224_cmovznz_u64(&x1, arg1, (arg2[0]), (arg3[0])); - fiat_np224_cmovznz_u64(&x2, arg1, (arg2[1]), (arg3[1])); - fiat_np224_cmovznz_u64(&x3, arg1, (arg2[2]), (arg3[2])); - fiat_np224_cmovznz_u64(&x4, arg1, (arg2[3]), (arg3[3])); - out1[0] = x1; - out1[1] = x2; - out1[2] = x3; - out1[3] = x4; -} diff --git a/ec/native/np224_stubs.c b/ec/native/np224_stubs.c deleted file mode 100644 index f51b5ee5..00000000 --- a/ec/native/np224_stubs.c +++ /dev/null @@ -1,79 +0,0 @@ -#include "mirage_crypto.h" - -/* Microsoft compiler does not support 128-bit integers. Drop down to - * 32-bit for MSVC. - */ -#if defined(ARCH_64BIT) && !defined(_MSC_VER) -#include "np224_64.h" -#define LIMBS 4 -#define WORD uint64_t -#define WORDSIZE 64 -#else -#include "np224_32.h" -#define LIMBS 7 -#define WORD uint32_t -#define WORDSIZE 32 -#endif - -#define LEN_PRIME 224 -#define CURVE_DESCRIPTION fiat_np224 - -#include "inversion_template.h" - -#include - -CAMLprim value mc_np224_inv(value out, value in) -{ - CAMLparam2(out, in); - inversion((WORD*)Bytes_val(out), (const WORD*)String_val(in)); - CAMLreturn(Val_unit); -} - -CAMLprim value mc_np224_mul(value out, value a, value b) -{ - CAMLparam3(out, a, b); - fiat_np224_mul((WORD*)Bytes_val(out), (const WORD*)String_val(a), (const WORD*)String_val(b)); - CAMLreturn(Val_unit); -} - -CAMLprim value mc_np224_add(value out, value a, value b) -{ - CAMLparam3(out, a, b); - fiat_np224_add((WORD*)Bytes_val(out), (const WORD*)String_val(a), (const WORD*)String_val(b)); - CAMLreturn(Val_unit); -} - -CAMLprim value mc_np224_one(value out) -{ - CAMLparam1(out); - fiat_np224_set_one((WORD*)Bytes_val(out)); - CAMLreturn(Val_unit); -} - -CAMLprim value mc_np224_from_bytes(value out, value in) -{ - CAMLparam2(out, in); - fiat_np224_from_bytes((WORD*)Bytes_val(out), _st_uint8(in)); - CAMLreturn(Val_unit); -} - -CAMLprim value mc_np224_to_bytes(value out, value in) -{ - CAMLparam2(out, in); - fiat_np224_to_bytes(Bytes_val(out), (const WORD*)String_val(in)); - CAMLreturn(Val_unit); -} - -CAMLprim value mc_np224_from_montgomery(value out, value in) -{ - CAMLparam2(out, in); - fiat_np224_from_montgomery((WORD*)Bytes_val(out), (const WORD*)String_val(in)); - CAMLreturn(Val_unit); -} - -CAMLprim value mc_np224_to_montgomery(value out, value in) -{ - CAMLparam2(out, in); - fiat_np224_to_montgomery((WORD*)Bytes_val(out), (const WORD*)String_val(in)); - CAMLreturn(Val_unit); -} diff --git a/ec/native/p224_32.h b/ec/native/p224_32.h deleted file mode 100644 index d5777bda..00000000 --- a/ec/native/p224_32.h +++ /dev/null @@ -1,3975 +0,0 @@ -/* Autogenerated: '../fiat-crypto/src/ExtractionOCaml/word_by_word_montgomery' --static --use-value-barrier --inline-internal p224 32 '2^224 - 2^96 + 1' */ -/* curve description: p224 */ -/* machine_wordsize = 32 (from "32") */ -/* requested operations: (all) */ -/* m = 0xffffffffffffffffffffffffffffffff000000000000000000000001 (from "2^224 - 2^96 + 1") */ -/* */ -/* NOTE: In addition to the bounds specified above each function, all */ -/* functions synthesized for this Montgomery arithmetic require the */ -/* input to be strictly less than the prime modulus (m), and also */ -/* require the input to be in the unique saturated representation. */ -/* All functions also ensure that these two properties are true of */ -/* return values. */ -/* */ -/* Computed values: */ -/* eval z = z[0] + (z[1] << 32) + (z[2] << 64) + (z[3] << 96) + (z[4] << 128) + (z[5] << 160) + (z[6] << 192) */ -/* bytes_eval z = z[0] + (z[1] << 8) + (z[2] << 16) + (z[3] << 24) + (z[4] << 32) + (z[5] << 40) + (z[6] << 48) + (z[7] << 56) + (z[8] << 64) + (z[9] << 72) + (z[10] << 80) + (z[11] << 88) + (z[12] << 96) + (z[13] << 104) + (z[14] << 112) + (z[15] << 120) + (z[16] << 128) + (z[17] << 136) + (z[18] << 144) + (z[19] << 152) + (z[20] << 160) + (z[21] << 168) + (z[22] << 176) + (z[23] << 184) + (z[24] << 192) + (z[25] << 200) + (z[26] << 208) + (z[27] << 216) */ -/* twos_complement_eval z = let x1 := z[0] + (z[1] << 32) + (z[2] << 64) + (z[3] << 96) + (z[4] << 128) + (z[5] << 160) + (z[6] << 192) in */ -/* if x1 & (2^224-1) < 2^223 then x1 & (2^224-1) else (x1 & (2^224-1)) - 2^224 */ - -#include -typedef unsigned char fiat_p224_uint1; -typedef signed char fiat_p224_int1; -#if defined(__GNUC__) || defined(__clang__) -# define FIAT_P224_FIAT_INLINE __inline__ -#else -# define FIAT_P224_FIAT_INLINE -#endif - -/* The type fiat_p224_montgomery_domain_field_element is a field element in the Montgomery domain. */ -/* Bounds: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] */ -typedef uint32_t fiat_p224_montgomery_domain_field_element[7]; - -/* The type fiat_p224_non_montgomery_domain_field_element is a field element NOT in the Montgomery domain. */ -/* Bounds: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] */ -typedef uint32_t fiat_p224_non_montgomery_domain_field_element[7]; - -#if (-1 & 3) != 3 -#error "This code only works on a two's complement system" -#endif - -#if !defined(FIAT_P224_NO_ASM) && (defined(__GNUC__) || defined(__clang__)) -static __inline__ uint32_t fiat_p224_value_barrier_u32(uint32_t a) { - __asm__("" : "+r"(a) : /* no inputs */); - return a; -} -#else -# define fiat_p224_value_barrier_u32(x) (x) -#endif - - -/* - * The function fiat_p224_addcarryx_u32 is an addition with carry. - * - * Postconditions: - * out1 = (arg1 + arg2 + arg3) mod 2^32 - * out2 = ⌊(arg1 + arg2 + arg3) / 2^32⌋ - * - * Input Bounds: - * arg1: [0x0 ~> 0x1] - * arg2: [0x0 ~> 0xffffffff] - * arg3: [0x0 ~> 0xffffffff] - * Output Bounds: - * out1: [0x0 ~> 0xffffffff] - * out2: [0x0 ~> 0x1] - */ -static FIAT_P224_FIAT_INLINE void fiat_p224_addcarryx_u32(uint32_t* out1, fiat_p224_uint1* out2, fiat_p224_uint1 arg1, uint32_t arg2, uint32_t arg3) { - uint64_t x1; - uint32_t x2; - fiat_p224_uint1 x3; - x1 = ((arg1 + (uint64_t)arg2) + arg3); - x2 = (uint32_t)(x1 & UINT32_C(0xffffffff)); - x3 = (fiat_p224_uint1)(x1 >> 32); - *out1 = x2; - *out2 = x3; -} - -/* - * The function fiat_p224_subborrowx_u32 is a subtraction with borrow. - * - * Postconditions: - * out1 = (-arg1 + arg2 + -arg3) mod 2^32 - * out2 = -⌊(-arg1 + arg2 + -arg3) / 2^32⌋ - * - * Input Bounds: - * arg1: [0x0 ~> 0x1] - * arg2: [0x0 ~> 0xffffffff] - * arg3: [0x0 ~> 0xffffffff] - * Output Bounds: - * out1: [0x0 ~> 0xffffffff] - * out2: [0x0 ~> 0x1] - */ -static FIAT_P224_FIAT_INLINE void fiat_p224_subborrowx_u32(uint32_t* out1, fiat_p224_uint1* out2, fiat_p224_uint1 arg1, uint32_t arg2, uint32_t arg3) { - int64_t x1; - fiat_p224_int1 x2; - uint32_t x3; - x1 = ((arg2 - (int64_t)arg1) - arg3); - x2 = (fiat_p224_int1)(x1 >> 32); - x3 = (uint32_t)(x1 & UINT32_C(0xffffffff)); - *out1 = x3; - *out2 = (fiat_p224_uint1)(0x0 - x2); -} - -/* - * The function fiat_p224_mulx_u32 is a multiplication, returning the full double-width result. - * - * Postconditions: - * out1 = (arg1 * arg2) mod 2^32 - * out2 = ⌊arg1 * arg2 / 2^32⌋ - * - * Input Bounds: - * arg1: [0x0 ~> 0xffffffff] - * arg2: [0x0 ~> 0xffffffff] - * Output Bounds: - * out1: [0x0 ~> 0xffffffff] - * out2: [0x0 ~> 0xffffffff] - */ -static FIAT_P224_FIAT_INLINE void fiat_p224_mulx_u32(uint32_t* out1, uint32_t* out2, uint32_t arg1, uint32_t arg2) { - uint64_t x1; - uint32_t x2; - uint32_t x3; - x1 = ((uint64_t)arg1 * arg2); - x2 = (uint32_t)(x1 & UINT32_C(0xffffffff)); - x3 = (uint32_t)(x1 >> 32); - *out1 = x2; - *out2 = x3; -} - -/* - * The function fiat_p224_cmovznz_u32 is a single-word conditional move. - * - * Postconditions: - * out1 = (if arg1 = 0 then arg2 else arg3) - * - * Input Bounds: - * arg1: [0x0 ~> 0x1] - * arg2: [0x0 ~> 0xffffffff] - * arg3: [0x0 ~> 0xffffffff] - * Output Bounds: - * out1: [0x0 ~> 0xffffffff] - */ -static FIAT_P224_FIAT_INLINE void fiat_p224_cmovznz_u32(uint32_t* out1, fiat_p224_uint1 arg1, uint32_t arg2, uint32_t arg3) { - fiat_p224_uint1 x1; - uint32_t x2; - uint32_t x3; - x1 = (!(!arg1)); - x2 = ((fiat_p224_int1)(0x0 - x1) & UINT32_C(0xffffffff)); - x3 = ((fiat_p224_value_barrier_u32(x2) & arg3) | (fiat_p224_value_barrier_u32((~x2)) & arg2)); - *out1 = x3; -} - -/* - * The function fiat_p224_mul multiplies two field elements in the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * 0 ≤ eval arg2 < m - * Postconditions: - * eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_p224_mul(fiat_p224_montgomery_domain_field_element out1, const fiat_p224_montgomery_domain_field_element arg1, const fiat_p224_montgomery_domain_field_element arg2) { - uint32_t x1; - uint32_t x2; - uint32_t x3; - uint32_t x4; - uint32_t x5; - uint32_t x6; - uint32_t x7; - uint32_t x8; - uint32_t x9; - uint32_t x10; - uint32_t x11; - uint32_t x12; - uint32_t x13; - uint32_t x14; - uint32_t x15; - uint32_t x16; - uint32_t x17; - uint32_t x18; - uint32_t x19; - uint32_t x20; - uint32_t x21; - uint32_t x22; - fiat_p224_uint1 x23; - uint32_t x24; - fiat_p224_uint1 x25; - uint32_t x26; - fiat_p224_uint1 x27; - uint32_t x28; - fiat_p224_uint1 x29; - uint32_t x30; - fiat_p224_uint1 x31; - uint32_t x32; - fiat_p224_uint1 x33; - uint32_t x34; - uint32_t x35; - uint32_t x36; - uint32_t x37; - uint32_t x38; - uint32_t x39; - uint32_t x40; - uint32_t x41; - uint32_t x42; - uint32_t x43; - uint32_t x44; - uint32_t x45; - fiat_p224_uint1 x46; - uint32_t x47; - fiat_p224_uint1 x48; - uint32_t x49; - fiat_p224_uint1 x50; - uint32_t x51; - uint32_t x52; - fiat_p224_uint1 x53; - uint32_t x54; - fiat_p224_uint1 x55; - uint32_t x56; - fiat_p224_uint1 x57; - uint32_t x58; - fiat_p224_uint1 x59; - uint32_t x60; - fiat_p224_uint1 x61; - uint32_t x62; - fiat_p224_uint1 x63; - uint32_t x64; - fiat_p224_uint1 x65; - uint32_t x66; - fiat_p224_uint1 x67; - uint32_t x68; - uint32_t x69; - uint32_t x70; - uint32_t x71; - uint32_t x72; - uint32_t x73; - uint32_t x74; - uint32_t x75; - uint32_t x76; - uint32_t x77; - uint32_t x78; - uint32_t x79; - uint32_t x80; - uint32_t x81; - uint32_t x82; - fiat_p224_uint1 x83; - uint32_t x84; - fiat_p224_uint1 x85; - uint32_t x86; - fiat_p224_uint1 x87; - uint32_t x88; - fiat_p224_uint1 x89; - uint32_t x90; - fiat_p224_uint1 x91; - uint32_t x92; - fiat_p224_uint1 x93; - uint32_t x94; - uint32_t x95; - fiat_p224_uint1 x96; - uint32_t x97; - fiat_p224_uint1 x98; - uint32_t x99; - fiat_p224_uint1 x100; - uint32_t x101; - fiat_p224_uint1 x102; - uint32_t x103; - fiat_p224_uint1 x104; - uint32_t x105; - fiat_p224_uint1 x106; - uint32_t x107; - fiat_p224_uint1 x108; - uint32_t x109; - fiat_p224_uint1 x110; - uint32_t x111; - uint32_t x112; - uint32_t x113; - uint32_t x114; - uint32_t x115; - uint32_t x116; - uint32_t x117; - uint32_t x118; - uint32_t x119; - uint32_t x120; - uint32_t x121; - fiat_p224_uint1 x122; - uint32_t x123; - fiat_p224_uint1 x124; - uint32_t x125; - fiat_p224_uint1 x126; - uint32_t x127; - uint32_t x128; - fiat_p224_uint1 x129; - uint32_t x130; - fiat_p224_uint1 x131; - uint32_t x132; - fiat_p224_uint1 x133; - uint32_t x134; - fiat_p224_uint1 x135; - uint32_t x136; - fiat_p224_uint1 x137; - uint32_t x138; - fiat_p224_uint1 x139; - uint32_t x140; - fiat_p224_uint1 x141; - uint32_t x142; - fiat_p224_uint1 x143; - uint32_t x144; - uint32_t x145; - uint32_t x146; - uint32_t x147; - uint32_t x148; - uint32_t x149; - uint32_t x150; - uint32_t x151; - uint32_t x152; - uint32_t x153; - uint32_t x154; - uint32_t x155; - uint32_t x156; - uint32_t x157; - uint32_t x158; - uint32_t x159; - fiat_p224_uint1 x160; - uint32_t x161; - fiat_p224_uint1 x162; - uint32_t x163; - fiat_p224_uint1 x164; - uint32_t x165; - fiat_p224_uint1 x166; - uint32_t x167; - fiat_p224_uint1 x168; - uint32_t x169; - fiat_p224_uint1 x170; - uint32_t x171; - uint32_t x172; - fiat_p224_uint1 x173; - uint32_t x174; - fiat_p224_uint1 x175; - uint32_t x176; - fiat_p224_uint1 x177; - uint32_t x178; - fiat_p224_uint1 x179; - uint32_t x180; - fiat_p224_uint1 x181; - uint32_t x182; - fiat_p224_uint1 x183; - uint32_t x184; - fiat_p224_uint1 x185; - uint32_t x186; - fiat_p224_uint1 x187; - uint32_t x188; - uint32_t x189; - uint32_t x190; - uint32_t x191; - uint32_t x192; - uint32_t x193; - uint32_t x194; - uint32_t x195; - uint32_t x196; - uint32_t x197; - uint32_t x198; - fiat_p224_uint1 x199; - uint32_t x200; - fiat_p224_uint1 x201; - uint32_t x202; - fiat_p224_uint1 x203; - uint32_t x204; - uint32_t x205; - fiat_p224_uint1 x206; - uint32_t x207; - fiat_p224_uint1 x208; - uint32_t x209; - fiat_p224_uint1 x210; - uint32_t x211; - fiat_p224_uint1 x212; - uint32_t x213; - fiat_p224_uint1 x214; - uint32_t x215; - fiat_p224_uint1 x216; - uint32_t x217; - fiat_p224_uint1 x218; - uint32_t x219; - fiat_p224_uint1 x220; - uint32_t x221; - uint32_t x222; - uint32_t x223; - uint32_t x224; - uint32_t x225; - uint32_t x226; - uint32_t x227; - uint32_t x228; - uint32_t x229; - uint32_t x230; - uint32_t x231; - uint32_t x232; - uint32_t x233; - uint32_t x234; - uint32_t x235; - uint32_t x236; - fiat_p224_uint1 x237; - uint32_t x238; - fiat_p224_uint1 x239; - uint32_t x240; - fiat_p224_uint1 x241; - uint32_t x242; - fiat_p224_uint1 x243; - uint32_t x244; - fiat_p224_uint1 x245; - uint32_t x246; - fiat_p224_uint1 x247; - uint32_t x248; - uint32_t x249; - fiat_p224_uint1 x250; - uint32_t x251; - fiat_p224_uint1 x252; - uint32_t x253; - fiat_p224_uint1 x254; - uint32_t x255; - fiat_p224_uint1 x256; - uint32_t x257; - fiat_p224_uint1 x258; - uint32_t x259; - fiat_p224_uint1 x260; - uint32_t x261; - fiat_p224_uint1 x262; - uint32_t x263; - fiat_p224_uint1 x264; - uint32_t x265; - uint32_t x266; - uint32_t x267; - uint32_t x268; - uint32_t x269; - uint32_t x270; - uint32_t x271; - uint32_t x272; - uint32_t x273; - uint32_t x274; - uint32_t x275; - fiat_p224_uint1 x276; - uint32_t x277; - fiat_p224_uint1 x278; - uint32_t x279; - fiat_p224_uint1 x280; - uint32_t x281; - uint32_t x282; - fiat_p224_uint1 x283; - uint32_t x284; - fiat_p224_uint1 x285; - uint32_t x286; - fiat_p224_uint1 x287; - uint32_t x288; - fiat_p224_uint1 x289; - uint32_t x290; - fiat_p224_uint1 x291; - uint32_t x292; - fiat_p224_uint1 x293; - uint32_t x294; - fiat_p224_uint1 x295; - uint32_t x296; - fiat_p224_uint1 x297; - uint32_t x298; - uint32_t x299; - uint32_t x300; - uint32_t x301; - uint32_t x302; - uint32_t x303; - uint32_t x304; - uint32_t x305; - uint32_t x306; - uint32_t x307; - uint32_t x308; - uint32_t x309; - uint32_t x310; - uint32_t x311; - uint32_t x312; - uint32_t x313; - fiat_p224_uint1 x314; - uint32_t x315; - fiat_p224_uint1 x316; - uint32_t x317; - fiat_p224_uint1 x318; - uint32_t x319; - fiat_p224_uint1 x320; - uint32_t x321; - fiat_p224_uint1 x322; - uint32_t x323; - fiat_p224_uint1 x324; - uint32_t x325; - uint32_t x326; - fiat_p224_uint1 x327; - uint32_t x328; - fiat_p224_uint1 x329; - uint32_t x330; - fiat_p224_uint1 x331; - uint32_t x332; - fiat_p224_uint1 x333; - uint32_t x334; - fiat_p224_uint1 x335; - uint32_t x336; - fiat_p224_uint1 x337; - uint32_t x338; - fiat_p224_uint1 x339; - uint32_t x340; - fiat_p224_uint1 x341; - uint32_t x342; - uint32_t x343; - uint32_t x344; - uint32_t x345; - uint32_t x346; - uint32_t x347; - uint32_t x348; - uint32_t x349; - uint32_t x350; - uint32_t x351; - uint32_t x352; - fiat_p224_uint1 x353; - uint32_t x354; - fiat_p224_uint1 x355; - uint32_t x356; - fiat_p224_uint1 x357; - uint32_t x358; - uint32_t x359; - fiat_p224_uint1 x360; - uint32_t x361; - fiat_p224_uint1 x362; - uint32_t x363; - fiat_p224_uint1 x364; - uint32_t x365; - fiat_p224_uint1 x366; - uint32_t x367; - fiat_p224_uint1 x368; - uint32_t x369; - fiat_p224_uint1 x370; - uint32_t x371; - fiat_p224_uint1 x372; - uint32_t x373; - fiat_p224_uint1 x374; - uint32_t x375; - uint32_t x376; - uint32_t x377; - uint32_t x378; - uint32_t x379; - uint32_t x380; - uint32_t x381; - uint32_t x382; - uint32_t x383; - uint32_t x384; - uint32_t x385; - uint32_t x386; - uint32_t x387; - uint32_t x388; - uint32_t x389; - uint32_t x390; - fiat_p224_uint1 x391; - uint32_t x392; - fiat_p224_uint1 x393; - uint32_t x394; - fiat_p224_uint1 x395; - uint32_t x396; - fiat_p224_uint1 x397; - uint32_t x398; - fiat_p224_uint1 x399; - uint32_t x400; - fiat_p224_uint1 x401; - uint32_t x402; - uint32_t x403; - fiat_p224_uint1 x404; - uint32_t x405; - fiat_p224_uint1 x406; - uint32_t x407; - fiat_p224_uint1 x408; - uint32_t x409; - fiat_p224_uint1 x410; - uint32_t x411; - fiat_p224_uint1 x412; - uint32_t x413; - fiat_p224_uint1 x414; - uint32_t x415; - fiat_p224_uint1 x416; - uint32_t x417; - fiat_p224_uint1 x418; - uint32_t x419; - uint32_t x420; - uint32_t x421; - uint32_t x422; - uint32_t x423; - uint32_t x424; - uint32_t x425; - uint32_t x426; - uint32_t x427; - uint32_t x428; - uint32_t x429; - fiat_p224_uint1 x430; - uint32_t x431; - fiat_p224_uint1 x432; - uint32_t x433; - fiat_p224_uint1 x434; - uint32_t x435; - uint32_t x436; - fiat_p224_uint1 x437; - uint32_t x438; - fiat_p224_uint1 x439; - uint32_t x440; - fiat_p224_uint1 x441; - uint32_t x442; - fiat_p224_uint1 x443; - uint32_t x444; - fiat_p224_uint1 x445; - uint32_t x446; - fiat_p224_uint1 x447; - uint32_t x448; - fiat_p224_uint1 x449; - uint32_t x450; - fiat_p224_uint1 x451; - uint32_t x452; - uint32_t x453; - uint32_t x454; - uint32_t x455; - uint32_t x456; - uint32_t x457; - uint32_t x458; - uint32_t x459; - uint32_t x460; - uint32_t x461; - uint32_t x462; - uint32_t x463; - uint32_t x464; - uint32_t x465; - uint32_t x466; - uint32_t x467; - fiat_p224_uint1 x468; - uint32_t x469; - fiat_p224_uint1 x470; - uint32_t x471; - fiat_p224_uint1 x472; - uint32_t x473; - fiat_p224_uint1 x474; - uint32_t x475; - fiat_p224_uint1 x476; - uint32_t x477; - fiat_p224_uint1 x478; - uint32_t x479; - uint32_t x480; - fiat_p224_uint1 x481; - uint32_t x482; - fiat_p224_uint1 x483; - uint32_t x484; - fiat_p224_uint1 x485; - uint32_t x486; - fiat_p224_uint1 x487; - uint32_t x488; - fiat_p224_uint1 x489; - uint32_t x490; - fiat_p224_uint1 x491; - uint32_t x492; - fiat_p224_uint1 x493; - uint32_t x494; - fiat_p224_uint1 x495; - uint32_t x496; - uint32_t x497; - uint32_t x498; - uint32_t x499; - uint32_t x500; - uint32_t x501; - uint32_t x502; - uint32_t x503; - uint32_t x504; - uint32_t x505; - uint32_t x506; - fiat_p224_uint1 x507; - uint32_t x508; - fiat_p224_uint1 x509; - uint32_t x510; - fiat_p224_uint1 x511; - uint32_t x512; - uint32_t x513; - fiat_p224_uint1 x514; - uint32_t x515; - fiat_p224_uint1 x516; - uint32_t x517; - fiat_p224_uint1 x518; - uint32_t x519; - fiat_p224_uint1 x520; - uint32_t x521; - fiat_p224_uint1 x522; - uint32_t x523; - fiat_p224_uint1 x524; - uint32_t x525; - fiat_p224_uint1 x526; - uint32_t x527; - fiat_p224_uint1 x528; - uint32_t x529; - uint32_t x530; - fiat_p224_uint1 x531; - uint32_t x532; - fiat_p224_uint1 x533; - uint32_t x534; - fiat_p224_uint1 x535; - uint32_t x536; - fiat_p224_uint1 x537; - uint32_t x538; - fiat_p224_uint1 x539; - uint32_t x540; - fiat_p224_uint1 x541; - uint32_t x542; - fiat_p224_uint1 x543; - uint32_t x544; - fiat_p224_uint1 x545; - uint32_t x546; - uint32_t x547; - uint32_t x548; - uint32_t x549; - uint32_t x550; - uint32_t x551; - uint32_t x552; - x1 = (arg1[1]); - x2 = (arg1[2]); - x3 = (arg1[3]); - x4 = (arg1[4]); - x5 = (arg1[5]); - x6 = (arg1[6]); - x7 = (arg1[0]); - fiat_p224_mulx_u32(&x8, &x9, x7, (arg2[6])); - fiat_p224_mulx_u32(&x10, &x11, x7, (arg2[5])); - fiat_p224_mulx_u32(&x12, &x13, x7, (arg2[4])); - fiat_p224_mulx_u32(&x14, &x15, x7, (arg2[3])); - fiat_p224_mulx_u32(&x16, &x17, x7, (arg2[2])); - fiat_p224_mulx_u32(&x18, &x19, x7, (arg2[1])); - fiat_p224_mulx_u32(&x20, &x21, x7, (arg2[0])); - fiat_p224_addcarryx_u32(&x22, &x23, 0x0, x21, x18); - fiat_p224_addcarryx_u32(&x24, &x25, x23, x19, x16); - fiat_p224_addcarryx_u32(&x26, &x27, x25, x17, x14); - fiat_p224_addcarryx_u32(&x28, &x29, x27, x15, x12); - fiat_p224_addcarryx_u32(&x30, &x31, x29, x13, x10); - fiat_p224_addcarryx_u32(&x32, &x33, x31, x11, x8); - x34 = (x33 + x9); - fiat_p224_mulx_u32(&x35, &x36, x20, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x37, &x38, x35, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x39, &x40, x35, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x41, &x42, x35, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x43, &x44, x35, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x45, &x46, 0x0, x44, x41); - fiat_p224_addcarryx_u32(&x47, &x48, x46, x42, x39); - fiat_p224_addcarryx_u32(&x49, &x50, x48, x40, x37); - x51 = (x50 + x38); - fiat_p224_addcarryx_u32(&x52, &x53, 0x0, x20, x35); - fiat_p224_addcarryx_u32(&x54, &x55, x53, x22, 0x0); - fiat_p224_addcarryx_u32(&x56, &x57, x55, x24, 0x0); - fiat_p224_addcarryx_u32(&x58, &x59, x57, x26, x43); - fiat_p224_addcarryx_u32(&x60, &x61, x59, x28, x45); - fiat_p224_addcarryx_u32(&x62, &x63, x61, x30, x47); - fiat_p224_addcarryx_u32(&x64, &x65, x63, x32, x49); - fiat_p224_addcarryx_u32(&x66, &x67, x65, x34, x51); - fiat_p224_mulx_u32(&x68, &x69, x1, (arg2[6])); - fiat_p224_mulx_u32(&x70, &x71, x1, (arg2[5])); - fiat_p224_mulx_u32(&x72, &x73, x1, (arg2[4])); - fiat_p224_mulx_u32(&x74, &x75, x1, (arg2[3])); - fiat_p224_mulx_u32(&x76, &x77, x1, (arg2[2])); - fiat_p224_mulx_u32(&x78, &x79, x1, (arg2[1])); - fiat_p224_mulx_u32(&x80, &x81, x1, (arg2[0])); - fiat_p224_addcarryx_u32(&x82, &x83, 0x0, x81, x78); - fiat_p224_addcarryx_u32(&x84, &x85, x83, x79, x76); - fiat_p224_addcarryx_u32(&x86, &x87, x85, x77, x74); - fiat_p224_addcarryx_u32(&x88, &x89, x87, x75, x72); - fiat_p224_addcarryx_u32(&x90, &x91, x89, x73, x70); - fiat_p224_addcarryx_u32(&x92, &x93, x91, x71, x68); - x94 = (x93 + x69); - fiat_p224_addcarryx_u32(&x95, &x96, 0x0, x54, x80); - fiat_p224_addcarryx_u32(&x97, &x98, x96, x56, x82); - fiat_p224_addcarryx_u32(&x99, &x100, x98, x58, x84); - fiat_p224_addcarryx_u32(&x101, &x102, x100, x60, x86); - fiat_p224_addcarryx_u32(&x103, &x104, x102, x62, x88); - fiat_p224_addcarryx_u32(&x105, &x106, x104, x64, x90); - fiat_p224_addcarryx_u32(&x107, &x108, x106, x66, x92); - fiat_p224_addcarryx_u32(&x109, &x110, x108, x67, x94); - fiat_p224_mulx_u32(&x111, &x112, x95, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x113, &x114, x111, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x115, &x116, x111, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x117, &x118, x111, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x119, &x120, x111, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x121, &x122, 0x0, x120, x117); - fiat_p224_addcarryx_u32(&x123, &x124, x122, x118, x115); - fiat_p224_addcarryx_u32(&x125, &x126, x124, x116, x113); - x127 = (x126 + x114); - fiat_p224_addcarryx_u32(&x128, &x129, 0x0, x95, x111); - fiat_p224_addcarryx_u32(&x130, &x131, x129, x97, 0x0); - fiat_p224_addcarryx_u32(&x132, &x133, x131, x99, 0x0); - fiat_p224_addcarryx_u32(&x134, &x135, x133, x101, x119); - fiat_p224_addcarryx_u32(&x136, &x137, x135, x103, x121); - fiat_p224_addcarryx_u32(&x138, &x139, x137, x105, x123); - fiat_p224_addcarryx_u32(&x140, &x141, x139, x107, x125); - fiat_p224_addcarryx_u32(&x142, &x143, x141, x109, x127); - x144 = ((uint32_t)x143 + x110); - fiat_p224_mulx_u32(&x145, &x146, x2, (arg2[6])); - fiat_p224_mulx_u32(&x147, &x148, x2, (arg2[5])); - fiat_p224_mulx_u32(&x149, &x150, x2, (arg2[4])); - fiat_p224_mulx_u32(&x151, &x152, x2, (arg2[3])); - fiat_p224_mulx_u32(&x153, &x154, x2, (arg2[2])); - fiat_p224_mulx_u32(&x155, &x156, x2, (arg2[1])); - fiat_p224_mulx_u32(&x157, &x158, x2, (arg2[0])); - fiat_p224_addcarryx_u32(&x159, &x160, 0x0, x158, x155); - fiat_p224_addcarryx_u32(&x161, &x162, x160, x156, x153); - fiat_p224_addcarryx_u32(&x163, &x164, x162, x154, x151); - fiat_p224_addcarryx_u32(&x165, &x166, x164, x152, x149); - fiat_p224_addcarryx_u32(&x167, &x168, x166, x150, x147); - fiat_p224_addcarryx_u32(&x169, &x170, x168, x148, x145); - x171 = (x170 + x146); - fiat_p224_addcarryx_u32(&x172, &x173, 0x0, x130, x157); - fiat_p224_addcarryx_u32(&x174, &x175, x173, x132, x159); - fiat_p224_addcarryx_u32(&x176, &x177, x175, x134, x161); - fiat_p224_addcarryx_u32(&x178, &x179, x177, x136, x163); - fiat_p224_addcarryx_u32(&x180, &x181, x179, x138, x165); - fiat_p224_addcarryx_u32(&x182, &x183, x181, x140, x167); - fiat_p224_addcarryx_u32(&x184, &x185, x183, x142, x169); - fiat_p224_addcarryx_u32(&x186, &x187, x185, x144, x171); - fiat_p224_mulx_u32(&x188, &x189, x172, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x190, &x191, x188, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x192, &x193, x188, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x194, &x195, x188, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x196, &x197, x188, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x198, &x199, 0x0, x197, x194); - fiat_p224_addcarryx_u32(&x200, &x201, x199, x195, x192); - fiat_p224_addcarryx_u32(&x202, &x203, x201, x193, x190); - x204 = (x203 + x191); - fiat_p224_addcarryx_u32(&x205, &x206, 0x0, x172, x188); - fiat_p224_addcarryx_u32(&x207, &x208, x206, x174, 0x0); - fiat_p224_addcarryx_u32(&x209, &x210, x208, x176, 0x0); - fiat_p224_addcarryx_u32(&x211, &x212, x210, x178, x196); - fiat_p224_addcarryx_u32(&x213, &x214, x212, x180, x198); - fiat_p224_addcarryx_u32(&x215, &x216, x214, x182, x200); - fiat_p224_addcarryx_u32(&x217, &x218, x216, x184, x202); - fiat_p224_addcarryx_u32(&x219, &x220, x218, x186, x204); - x221 = ((uint32_t)x220 + x187); - fiat_p224_mulx_u32(&x222, &x223, x3, (arg2[6])); - fiat_p224_mulx_u32(&x224, &x225, x3, (arg2[5])); - fiat_p224_mulx_u32(&x226, &x227, x3, (arg2[4])); - fiat_p224_mulx_u32(&x228, &x229, x3, (arg2[3])); - fiat_p224_mulx_u32(&x230, &x231, x3, (arg2[2])); - fiat_p224_mulx_u32(&x232, &x233, x3, (arg2[1])); - fiat_p224_mulx_u32(&x234, &x235, x3, (arg2[0])); - fiat_p224_addcarryx_u32(&x236, &x237, 0x0, x235, x232); - fiat_p224_addcarryx_u32(&x238, &x239, x237, x233, x230); - fiat_p224_addcarryx_u32(&x240, &x241, x239, x231, x228); - fiat_p224_addcarryx_u32(&x242, &x243, x241, x229, x226); - fiat_p224_addcarryx_u32(&x244, &x245, x243, x227, x224); - fiat_p224_addcarryx_u32(&x246, &x247, x245, x225, x222); - x248 = (x247 + x223); - fiat_p224_addcarryx_u32(&x249, &x250, 0x0, x207, x234); - fiat_p224_addcarryx_u32(&x251, &x252, x250, x209, x236); - fiat_p224_addcarryx_u32(&x253, &x254, x252, x211, x238); - fiat_p224_addcarryx_u32(&x255, &x256, x254, x213, x240); - fiat_p224_addcarryx_u32(&x257, &x258, x256, x215, x242); - fiat_p224_addcarryx_u32(&x259, &x260, x258, x217, x244); - fiat_p224_addcarryx_u32(&x261, &x262, x260, x219, x246); - fiat_p224_addcarryx_u32(&x263, &x264, x262, x221, x248); - fiat_p224_mulx_u32(&x265, &x266, x249, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x267, &x268, x265, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x269, &x270, x265, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x271, &x272, x265, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x273, &x274, x265, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x275, &x276, 0x0, x274, x271); - fiat_p224_addcarryx_u32(&x277, &x278, x276, x272, x269); - fiat_p224_addcarryx_u32(&x279, &x280, x278, x270, x267); - x281 = (x280 + x268); - fiat_p224_addcarryx_u32(&x282, &x283, 0x0, x249, x265); - fiat_p224_addcarryx_u32(&x284, &x285, x283, x251, 0x0); - fiat_p224_addcarryx_u32(&x286, &x287, x285, x253, 0x0); - fiat_p224_addcarryx_u32(&x288, &x289, x287, x255, x273); - fiat_p224_addcarryx_u32(&x290, &x291, x289, x257, x275); - fiat_p224_addcarryx_u32(&x292, &x293, x291, x259, x277); - fiat_p224_addcarryx_u32(&x294, &x295, x293, x261, x279); - fiat_p224_addcarryx_u32(&x296, &x297, x295, x263, x281); - x298 = ((uint32_t)x297 + x264); - fiat_p224_mulx_u32(&x299, &x300, x4, (arg2[6])); - fiat_p224_mulx_u32(&x301, &x302, x4, (arg2[5])); - fiat_p224_mulx_u32(&x303, &x304, x4, (arg2[4])); - fiat_p224_mulx_u32(&x305, &x306, x4, (arg2[3])); - fiat_p224_mulx_u32(&x307, &x308, x4, (arg2[2])); - fiat_p224_mulx_u32(&x309, &x310, x4, (arg2[1])); - fiat_p224_mulx_u32(&x311, &x312, x4, (arg2[0])); - fiat_p224_addcarryx_u32(&x313, &x314, 0x0, x312, x309); - fiat_p224_addcarryx_u32(&x315, &x316, x314, x310, x307); - fiat_p224_addcarryx_u32(&x317, &x318, x316, x308, x305); - fiat_p224_addcarryx_u32(&x319, &x320, x318, x306, x303); - fiat_p224_addcarryx_u32(&x321, &x322, x320, x304, x301); - fiat_p224_addcarryx_u32(&x323, &x324, x322, x302, x299); - x325 = (x324 + x300); - fiat_p224_addcarryx_u32(&x326, &x327, 0x0, x284, x311); - fiat_p224_addcarryx_u32(&x328, &x329, x327, x286, x313); - fiat_p224_addcarryx_u32(&x330, &x331, x329, x288, x315); - fiat_p224_addcarryx_u32(&x332, &x333, x331, x290, x317); - fiat_p224_addcarryx_u32(&x334, &x335, x333, x292, x319); - fiat_p224_addcarryx_u32(&x336, &x337, x335, x294, x321); - fiat_p224_addcarryx_u32(&x338, &x339, x337, x296, x323); - fiat_p224_addcarryx_u32(&x340, &x341, x339, x298, x325); - fiat_p224_mulx_u32(&x342, &x343, x326, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x344, &x345, x342, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x346, &x347, x342, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x348, &x349, x342, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x350, &x351, x342, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x352, &x353, 0x0, x351, x348); - fiat_p224_addcarryx_u32(&x354, &x355, x353, x349, x346); - fiat_p224_addcarryx_u32(&x356, &x357, x355, x347, x344); - x358 = (x357 + x345); - fiat_p224_addcarryx_u32(&x359, &x360, 0x0, x326, x342); - fiat_p224_addcarryx_u32(&x361, &x362, x360, x328, 0x0); - fiat_p224_addcarryx_u32(&x363, &x364, x362, x330, 0x0); - fiat_p224_addcarryx_u32(&x365, &x366, x364, x332, x350); - fiat_p224_addcarryx_u32(&x367, &x368, x366, x334, x352); - fiat_p224_addcarryx_u32(&x369, &x370, x368, x336, x354); - fiat_p224_addcarryx_u32(&x371, &x372, x370, x338, x356); - fiat_p224_addcarryx_u32(&x373, &x374, x372, x340, x358); - x375 = ((uint32_t)x374 + x341); - fiat_p224_mulx_u32(&x376, &x377, x5, (arg2[6])); - fiat_p224_mulx_u32(&x378, &x379, x5, (arg2[5])); - fiat_p224_mulx_u32(&x380, &x381, x5, (arg2[4])); - fiat_p224_mulx_u32(&x382, &x383, x5, (arg2[3])); - fiat_p224_mulx_u32(&x384, &x385, x5, (arg2[2])); - fiat_p224_mulx_u32(&x386, &x387, x5, (arg2[1])); - fiat_p224_mulx_u32(&x388, &x389, x5, (arg2[0])); - fiat_p224_addcarryx_u32(&x390, &x391, 0x0, x389, x386); - fiat_p224_addcarryx_u32(&x392, &x393, x391, x387, x384); - fiat_p224_addcarryx_u32(&x394, &x395, x393, x385, x382); - fiat_p224_addcarryx_u32(&x396, &x397, x395, x383, x380); - fiat_p224_addcarryx_u32(&x398, &x399, x397, x381, x378); - fiat_p224_addcarryx_u32(&x400, &x401, x399, x379, x376); - x402 = (x401 + x377); - fiat_p224_addcarryx_u32(&x403, &x404, 0x0, x361, x388); - fiat_p224_addcarryx_u32(&x405, &x406, x404, x363, x390); - fiat_p224_addcarryx_u32(&x407, &x408, x406, x365, x392); - fiat_p224_addcarryx_u32(&x409, &x410, x408, x367, x394); - fiat_p224_addcarryx_u32(&x411, &x412, x410, x369, x396); - fiat_p224_addcarryx_u32(&x413, &x414, x412, x371, x398); - fiat_p224_addcarryx_u32(&x415, &x416, x414, x373, x400); - fiat_p224_addcarryx_u32(&x417, &x418, x416, x375, x402); - fiat_p224_mulx_u32(&x419, &x420, x403, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x421, &x422, x419, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x423, &x424, x419, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x425, &x426, x419, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x427, &x428, x419, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x429, &x430, 0x0, x428, x425); - fiat_p224_addcarryx_u32(&x431, &x432, x430, x426, x423); - fiat_p224_addcarryx_u32(&x433, &x434, x432, x424, x421); - x435 = (x434 + x422); - fiat_p224_addcarryx_u32(&x436, &x437, 0x0, x403, x419); - fiat_p224_addcarryx_u32(&x438, &x439, x437, x405, 0x0); - fiat_p224_addcarryx_u32(&x440, &x441, x439, x407, 0x0); - fiat_p224_addcarryx_u32(&x442, &x443, x441, x409, x427); - fiat_p224_addcarryx_u32(&x444, &x445, x443, x411, x429); - fiat_p224_addcarryx_u32(&x446, &x447, x445, x413, x431); - fiat_p224_addcarryx_u32(&x448, &x449, x447, x415, x433); - fiat_p224_addcarryx_u32(&x450, &x451, x449, x417, x435); - x452 = ((uint32_t)x451 + x418); - fiat_p224_mulx_u32(&x453, &x454, x6, (arg2[6])); - fiat_p224_mulx_u32(&x455, &x456, x6, (arg2[5])); - fiat_p224_mulx_u32(&x457, &x458, x6, (arg2[4])); - fiat_p224_mulx_u32(&x459, &x460, x6, (arg2[3])); - fiat_p224_mulx_u32(&x461, &x462, x6, (arg2[2])); - fiat_p224_mulx_u32(&x463, &x464, x6, (arg2[1])); - fiat_p224_mulx_u32(&x465, &x466, x6, (arg2[0])); - fiat_p224_addcarryx_u32(&x467, &x468, 0x0, x466, x463); - fiat_p224_addcarryx_u32(&x469, &x470, x468, x464, x461); - fiat_p224_addcarryx_u32(&x471, &x472, x470, x462, x459); - fiat_p224_addcarryx_u32(&x473, &x474, x472, x460, x457); - fiat_p224_addcarryx_u32(&x475, &x476, x474, x458, x455); - fiat_p224_addcarryx_u32(&x477, &x478, x476, x456, x453); - x479 = (x478 + x454); - fiat_p224_addcarryx_u32(&x480, &x481, 0x0, x438, x465); - fiat_p224_addcarryx_u32(&x482, &x483, x481, x440, x467); - fiat_p224_addcarryx_u32(&x484, &x485, x483, x442, x469); - fiat_p224_addcarryx_u32(&x486, &x487, x485, x444, x471); - fiat_p224_addcarryx_u32(&x488, &x489, x487, x446, x473); - fiat_p224_addcarryx_u32(&x490, &x491, x489, x448, x475); - fiat_p224_addcarryx_u32(&x492, &x493, x491, x450, x477); - fiat_p224_addcarryx_u32(&x494, &x495, x493, x452, x479); - fiat_p224_mulx_u32(&x496, &x497, x480, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x498, &x499, x496, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x500, &x501, x496, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x502, &x503, x496, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x504, &x505, x496, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x506, &x507, 0x0, x505, x502); - fiat_p224_addcarryx_u32(&x508, &x509, x507, x503, x500); - fiat_p224_addcarryx_u32(&x510, &x511, x509, x501, x498); - x512 = (x511 + x499); - fiat_p224_addcarryx_u32(&x513, &x514, 0x0, x480, x496); - fiat_p224_addcarryx_u32(&x515, &x516, x514, x482, 0x0); - fiat_p224_addcarryx_u32(&x517, &x518, x516, x484, 0x0); - fiat_p224_addcarryx_u32(&x519, &x520, x518, x486, x504); - fiat_p224_addcarryx_u32(&x521, &x522, x520, x488, x506); - fiat_p224_addcarryx_u32(&x523, &x524, x522, x490, x508); - fiat_p224_addcarryx_u32(&x525, &x526, x524, x492, x510); - fiat_p224_addcarryx_u32(&x527, &x528, x526, x494, x512); - x529 = ((uint32_t)x528 + x495); - fiat_p224_subborrowx_u32(&x530, &x531, 0x0, x515, 0x1); - fiat_p224_subborrowx_u32(&x532, &x533, x531, x517, 0x0); - fiat_p224_subborrowx_u32(&x534, &x535, x533, x519, 0x0); - fiat_p224_subborrowx_u32(&x536, &x537, x535, x521, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x538, &x539, x537, x523, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x540, &x541, x539, x525, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x542, &x543, x541, x527, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x544, &x545, x543, x529, 0x0); - fiat_p224_cmovznz_u32(&x546, x545, x530, x515); - fiat_p224_cmovznz_u32(&x547, x545, x532, x517); - fiat_p224_cmovznz_u32(&x548, x545, x534, x519); - fiat_p224_cmovznz_u32(&x549, x545, x536, x521); - fiat_p224_cmovznz_u32(&x550, x545, x538, x523); - fiat_p224_cmovznz_u32(&x551, x545, x540, x525); - fiat_p224_cmovznz_u32(&x552, x545, x542, x527); - out1[0] = x546; - out1[1] = x547; - out1[2] = x548; - out1[3] = x549; - out1[4] = x550; - out1[5] = x551; - out1[6] = x552; -} - -/* - * The function fiat_p224_square squares a field element in the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * Postconditions: - * eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_p224_square(fiat_p224_montgomery_domain_field_element out1, const fiat_p224_montgomery_domain_field_element arg1) { - uint32_t x1; - uint32_t x2; - uint32_t x3; - uint32_t x4; - uint32_t x5; - uint32_t x6; - uint32_t x7; - uint32_t x8; - uint32_t x9; - uint32_t x10; - uint32_t x11; - uint32_t x12; - uint32_t x13; - uint32_t x14; - uint32_t x15; - uint32_t x16; - uint32_t x17; - uint32_t x18; - uint32_t x19; - uint32_t x20; - uint32_t x21; - uint32_t x22; - fiat_p224_uint1 x23; - uint32_t x24; - fiat_p224_uint1 x25; - uint32_t x26; - fiat_p224_uint1 x27; - uint32_t x28; - fiat_p224_uint1 x29; - uint32_t x30; - fiat_p224_uint1 x31; - uint32_t x32; - fiat_p224_uint1 x33; - uint32_t x34; - uint32_t x35; - uint32_t x36; - uint32_t x37; - uint32_t x38; - uint32_t x39; - uint32_t x40; - uint32_t x41; - uint32_t x42; - uint32_t x43; - uint32_t x44; - uint32_t x45; - fiat_p224_uint1 x46; - uint32_t x47; - fiat_p224_uint1 x48; - uint32_t x49; - fiat_p224_uint1 x50; - uint32_t x51; - uint32_t x52; - fiat_p224_uint1 x53; - uint32_t x54; - fiat_p224_uint1 x55; - uint32_t x56; - fiat_p224_uint1 x57; - uint32_t x58; - fiat_p224_uint1 x59; - uint32_t x60; - fiat_p224_uint1 x61; - uint32_t x62; - fiat_p224_uint1 x63; - uint32_t x64; - fiat_p224_uint1 x65; - uint32_t x66; - fiat_p224_uint1 x67; - uint32_t x68; - uint32_t x69; - uint32_t x70; - uint32_t x71; - uint32_t x72; - uint32_t x73; - uint32_t x74; - uint32_t x75; - uint32_t x76; - uint32_t x77; - uint32_t x78; - uint32_t x79; - uint32_t x80; - uint32_t x81; - uint32_t x82; - fiat_p224_uint1 x83; - uint32_t x84; - fiat_p224_uint1 x85; - uint32_t x86; - fiat_p224_uint1 x87; - uint32_t x88; - fiat_p224_uint1 x89; - uint32_t x90; - fiat_p224_uint1 x91; - uint32_t x92; - fiat_p224_uint1 x93; - uint32_t x94; - uint32_t x95; - fiat_p224_uint1 x96; - uint32_t x97; - fiat_p224_uint1 x98; - uint32_t x99; - fiat_p224_uint1 x100; - uint32_t x101; - fiat_p224_uint1 x102; - uint32_t x103; - fiat_p224_uint1 x104; - uint32_t x105; - fiat_p224_uint1 x106; - uint32_t x107; - fiat_p224_uint1 x108; - uint32_t x109; - fiat_p224_uint1 x110; - uint32_t x111; - uint32_t x112; - uint32_t x113; - uint32_t x114; - uint32_t x115; - uint32_t x116; - uint32_t x117; - uint32_t x118; - uint32_t x119; - uint32_t x120; - uint32_t x121; - fiat_p224_uint1 x122; - uint32_t x123; - fiat_p224_uint1 x124; - uint32_t x125; - fiat_p224_uint1 x126; - uint32_t x127; - uint32_t x128; - fiat_p224_uint1 x129; - uint32_t x130; - fiat_p224_uint1 x131; - uint32_t x132; - fiat_p224_uint1 x133; - uint32_t x134; - fiat_p224_uint1 x135; - uint32_t x136; - fiat_p224_uint1 x137; - uint32_t x138; - fiat_p224_uint1 x139; - uint32_t x140; - fiat_p224_uint1 x141; - uint32_t x142; - fiat_p224_uint1 x143; - uint32_t x144; - uint32_t x145; - uint32_t x146; - uint32_t x147; - uint32_t x148; - uint32_t x149; - uint32_t x150; - uint32_t x151; - uint32_t x152; - uint32_t x153; - uint32_t x154; - uint32_t x155; - uint32_t x156; - uint32_t x157; - uint32_t x158; - uint32_t x159; - fiat_p224_uint1 x160; - uint32_t x161; - fiat_p224_uint1 x162; - uint32_t x163; - fiat_p224_uint1 x164; - uint32_t x165; - fiat_p224_uint1 x166; - uint32_t x167; - fiat_p224_uint1 x168; - uint32_t x169; - fiat_p224_uint1 x170; - uint32_t x171; - uint32_t x172; - fiat_p224_uint1 x173; - uint32_t x174; - fiat_p224_uint1 x175; - uint32_t x176; - fiat_p224_uint1 x177; - uint32_t x178; - fiat_p224_uint1 x179; - uint32_t x180; - fiat_p224_uint1 x181; - uint32_t x182; - fiat_p224_uint1 x183; - uint32_t x184; - fiat_p224_uint1 x185; - uint32_t x186; - fiat_p224_uint1 x187; - uint32_t x188; - uint32_t x189; - uint32_t x190; - uint32_t x191; - uint32_t x192; - uint32_t x193; - uint32_t x194; - uint32_t x195; - uint32_t x196; - uint32_t x197; - uint32_t x198; - fiat_p224_uint1 x199; - uint32_t x200; - fiat_p224_uint1 x201; - uint32_t x202; - fiat_p224_uint1 x203; - uint32_t x204; - uint32_t x205; - fiat_p224_uint1 x206; - uint32_t x207; - fiat_p224_uint1 x208; - uint32_t x209; - fiat_p224_uint1 x210; - uint32_t x211; - fiat_p224_uint1 x212; - uint32_t x213; - fiat_p224_uint1 x214; - uint32_t x215; - fiat_p224_uint1 x216; - uint32_t x217; - fiat_p224_uint1 x218; - uint32_t x219; - fiat_p224_uint1 x220; - uint32_t x221; - uint32_t x222; - uint32_t x223; - uint32_t x224; - uint32_t x225; - uint32_t x226; - uint32_t x227; - uint32_t x228; - uint32_t x229; - uint32_t x230; - uint32_t x231; - uint32_t x232; - uint32_t x233; - uint32_t x234; - uint32_t x235; - uint32_t x236; - fiat_p224_uint1 x237; - uint32_t x238; - fiat_p224_uint1 x239; - uint32_t x240; - fiat_p224_uint1 x241; - uint32_t x242; - fiat_p224_uint1 x243; - uint32_t x244; - fiat_p224_uint1 x245; - uint32_t x246; - fiat_p224_uint1 x247; - uint32_t x248; - uint32_t x249; - fiat_p224_uint1 x250; - uint32_t x251; - fiat_p224_uint1 x252; - uint32_t x253; - fiat_p224_uint1 x254; - uint32_t x255; - fiat_p224_uint1 x256; - uint32_t x257; - fiat_p224_uint1 x258; - uint32_t x259; - fiat_p224_uint1 x260; - uint32_t x261; - fiat_p224_uint1 x262; - uint32_t x263; - fiat_p224_uint1 x264; - uint32_t x265; - uint32_t x266; - uint32_t x267; - uint32_t x268; - uint32_t x269; - uint32_t x270; - uint32_t x271; - uint32_t x272; - uint32_t x273; - uint32_t x274; - uint32_t x275; - fiat_p224_uint1 x276; - uint32_t x277; - fiat_p224_uint1 x278; - uint32_t x279; - fiat_p224_uint1 x280; - uint32_t x281; - uint32_t x282; - fiat_p224_uint1 x283; - uint32_t x284; - fiat_p224_uint1 x285; - uint32_t x286; - fiat_p224_uint1 x287; - uint32_t x288; - fiat_p224_uint1 x289; - uint32_t x290; - fiat_p224_uint1 x291; - uint32_t x292; - fiat_p224_uint1 x293; - uint32_t x294; - fiat_p224_uint1 x295; - uint32_t x296; - fiat_p224_uint1 x297; - uint32_t x298; - uint32_t x299; - uint32_t x300; - uint32_t x301; - uint32_t x302; - uint32_t x303; - uint32_t x304; - uint32_t x305; - uint32_t x306; - uint32_t x307; - uint32_t x308; - uint32_t x309; - uint32_t x310; - uint32_t x311; - uint32_t x312; - uint32_t x313; - fiat_p224_uint1 x314; - uint32_t x315; - fiat_p224_uint1 x316; - uint32_t x317; - fiat_p224_uint1 x318; - uint32_t x319; - fiat_p224_uint1 x320; - uint32_t x321; - fiat_p224_uint1 x322; - uint32_t x323; - fiat_p224_uint1 x324; - uint32_t x325; - uint32_t x326; - fiat_p224_uint1 x327; - uint32_t x328; - fiat_p224_uint1 x329; - uint32_t x330; - fiat_p224_uint1 x331; - uint32_t x332; - fiat_p224_uint1 x333; - uint32_t x334; - fiat_p224_uint1 x335; - uint32_t x336; - fiat_p224_uint1 x337; - uint32_t x338; - fiat_p224_uint1 x339; - uint32_t x340; - fiat_p224_uint1 x341; - uint32_t x342; - uint32_t x343; - uint32_t x344; - uint32_t x345; - uint32_t x346; - uint32_t x347; - uint32_t x348; - uint32_t x349; - uint32_t x350; - uint32_t x351; - uint32_t x352; - fiat_p224_uint1 x353; - uint32_t x354; - fiat_p224_uint1 x355; - uint32_t x356; - fiat_p224_uint1 x357; - uint32_t x358; - uint32_t x359; - fiat_p224_uint1 x360; - uint32_t x361; - fiat_p224_uint1 x362; - uint32_t x363; - fiat_p224_uint1 x364; - uint32_t x365; - fiat_p224_uint1 x366; - uint32_t x367; - fiat_p224_uint1 x368; - uint32_t x369; - fiat_p224_uint1 x370; - uint32_t x371; - fiat_p224_uint1 x372; - uint32_t x373; - fiat_p224_uint1 x374; - uint32_t x375; - uint32_t x376; - uint32_t x377; - uint32_t x378; - uint32_t x379; - uint32_t x380; - uint32_t x381; - uint32_t x382; - uint32_t x383; - uint32_t x384; - uint32_t x385; - uint32_t x386; - uint32_t x387; - uint32_t x388; - uint32_t x389; - uint32_t x390; - fiat_p224_uint1 x391; - uint32_t x392; - fiat_p224_uint1 x393; - uint32_t x394; - fiat_p224_uint1 x395; - uint32_t x396; - fiat_p224_uint1 x397; - uint32_t x398; - fiat_p224_uint1 x399; - uint32_t x400; - fiat_p224_uint1 x401; - uint32_t x402; - uint32_t x403; - fiat_p224_uint1 x404; - uint32_t x405; - fiat_p224_uint1 x406; - uint32_t x407; - fiat_p224_uint1 x408; - uint32_t x409; - fiat_p224_uint1 x410; - uint32_t x411; - fiat_p224_uint1 x412; - uint32_t x413; - fiat_p224_uint1 x414; - uint32_t x415; - fiat_p224_uint1 x416; - uint32_t x417; - fiat_p224_uint1 x418; - uint32_t x419; - uint32_t x420; - uint32_t x421; - uint32_t x422; - uint32_t x423; - uint32_t x424; - uint32_t x425; - uint32_t x426; - uint32_t x427; - uint32_t x428; - uint32_t x429; - fiat_p224_uint1 x430; - uint32_t x431; - fiat_p224_uint1 x432; - uint32_t x433; - fiat_p224_uint1 x434; - uint32_t x435; - uint32_t x436; - fiat_p224_uint1 x437; - uint32_t x438; - fiat_p224_uint1 x439; - uint32_t x440; - fiat_p224_uint1 x441; - uint32_t x442; - fiat_p224_uint1 x443; - uint32_t x444; - fiat_p224_uint1 x445; - uint32_t x446; - fiat_p224_uint1 x447; - uint32_t x448; - fiat_p224_uint1 x449; - uint32_t x450; - fiat_p224_uint1 x451; - uint32_t x452; - uint32_t x453; - uint32_t x454; - uint32_t x455; - uint32_t x456; - uint32_t x457; - uint32_t x458; - uint32_t x459; - uint32_t x460; - uint32_t x461; - uint32_t x462; - uint32_t x463; - uint32_t x464; - uint32_t x465; - uint32_t x466; - uint32_t x467; - fiat_p224_uint1 x468; - uint32_t x469; - fiat_p224_uint1 x470; - uint32_t x471; - fiat_p224_uint1 x472; - uint32_t x473; - fiat_p224_uint1 x474; - uint32_t x475; - fiat_p224_uint1 x476; - uint32_t x477; - fiat_p224_uint1 x478; - uint32_t x479; - uint32_t x480; - fiat_p224_uint1 x481; - uint32_t x482; - fiat_p224_uint1 x483; - uint32_t x484; - fiat_p224_uint1 x485; - uint32_t x486; - fiat_p224_uint1 x487; - uint32_t x488; - fiat_p224_uint1 x489; - uint32_t x490; - fiat_p224_uint1 x491; - uint32_t x492; - fiat_p224_uint1 x493; - uint32_t x494; - fiat_p224_uint1 x495; - uint32_t x496; - uint32_t x497; - uint32_t x498; - uint32_t x499; - uint32_t x500; - uint32_t x501; - uint32_t x502; - uint32_t x503; - uint32_t x504; - uint32_t x505; - uint32_t x506; - fiat_p224_uint1 x507; - uint32_t x508; - fiat_p224_uint1 x509; - uint32_t x510; - fiat_p224_uint1 x511; - uint32_t x512; - uint32_t x513; - fiat_p224_uint1 x514; - uint32_t x515; - fiat_p224_uint1 x516; - uint32_t x517; - fiat_p224_uint1 x518; - uint32_t x519; - fiat_p224_uint1 x520; - uint32_t x521; - fiat_p224_uint1 x522; - uint32_t x523; - fiat_p224_uint1 x524; - uint32_t x525; - fiat_p224_uint1 x526; - uint32_t x527; - fiat_p224_uint1 x528; - uint32_t x529; - uint32_t x530; - fiat_p224_uint1 x531; - uint32_t x532; - fiat_p224_uint1 x533; - uint32_t x534; - fiat_p224_uint1 x535; - uint32_t x536; - fiat_p224_uint1 x537; - uint32_t x538; - fiat_p224_uint1 x539; - uint32_t x540; - fiat_p224_uint1 x541; - uint32_t x542; - fiat_p224_uint1 x543; - uint32_t x544; - fiat_p224_uint1 x545; - uint32_t x546; - uint32_t x547; - uint32_t x548; - uint32_t x549; - uint32_t x550; - uint32_t x551; - uint32_t x552; - x1 = (arg1[1]); - x2 = (arg1[2]); - x3 = (arg1[3]); - x4 = (arg1[4]); - x5 = (arg1[5]); - x6 = (arg1[6]); - x7 = (arg1[0]); - fiat_p224_mulx_u32(&x8, &x9, x7, (arg1[6])); - fiat_p224_mulx_u32(&x10, &x11, x7, (arg1[5])); - fiat_p224_mulx_u32(&x12, &x13, x7, (arg1[4])); - fiat_p224_mulx_u32(&x14, &x15, x7, (arg1[3])); - fiat_p224_mulx_u32(&x16, &x17, x7, (arg1[2])); - fiat_p224_mulx_u32(&x18, &x19, x7, (arg1[1])); - fiat_p224_mulx_u32(&x20, &x21, x7, (arg1[0])); - fiat_p224_addcarryx_u32(&x22, &x23, 0x0, x21, x18); - fiat_p224_addcarryx_u32(&x24, &x25, x23, x19, x16); - fiat_p224_addcarryx_u32(&x26, &x27, x25, x17, x14); - fiat_p224_addcarryx_u32(&x28, &x29, x27, x15, x12); - fiat_p224_addcarryx_u32(&x30, &x31, x29, x13, x10); - fiat_p224_addcarryx_u32(&x32, &x33, x31, x11, x8); - x34 = (x33 + x9); - fiat_p224_mulx_u32(&x35, &x36, x20, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x37, &x38, x35, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x39, &x40, x35, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x41, &x42, x35, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x43, &x44, x35, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x45, &x46, 0x0, x44, x41); - fiat_p224_addcarryx_u32(&x47, &x48, x46, x42, x39); - fiat_p224_addcarryx_u32(&x49, &x50, x48, x40, x37); - x51 = (x50 + x38); - fiat_p224_addcarryx_u32(&x52, &x53, 0x0, x20, x35); - fiat_p224_addcarryx_u32(&x54, &x55, x53, x22, 0x0); - fiat_p224_addcarryx_u32(&x56, &x57, x55, x24, 0x0); - fiat_p224_addcarryx_u32(&x58, &x59, x57, x26, x43); - fiat_p224_addcarryx_u32(&x60, &x61, x59, x28, x45); - fiat_p224_addcarryx_u32(&x62, &x63, x61, x30, x47); - fiat_p224_addcarryx_u32(&x64, &x65, x63, x32, x49); - fiat_p224_addcarryx_u32(&x66, &x67, x65, x34, x51); - fiat_p224_mulx_u32(&x68, &x69, x1, (arg1[6])); - fiat_p224_mulx_u32(&x70, &x71, x1, (arg1[5])); - fiat_p224_mulx_u32(&x72, &x73, x1, (arg1[4])); - fiat_p224_mulx_u32(&x74, &x75, x1, (arg1[3])); - fiat_p224_mulx_u32(&x76, &x77, x1, (arg1[2])); - fiat_p224_mulx_u32(&x78, &x79, x1, (arg1[1])); - fiat_p224_mulx_u32(&x80, &x81, x1, (arg1[0])); - fiat_p224_addcarryx_u32(&x82, &x83, 0x0, x81, x78); - fiat_p224_addcarryx_u32(&x84, &x85, x83, x79, x76); - fiat_p224_addcarryx_u32(&x86, &x87, x85, x77, x74); - fiat_p224_addcarryx_u32(&x88, &x89, x87, x75, x72); - fiat_p224_addcarryx_u32(&x90, &x91, x89, x73, x70); - fiat_p224_addcarryx_u32(&x92, &x93, x91, x71, x68); - x94 = (x93 + x69); - fiat_p224_addcarryx_u32(&x95, &x96, 0x0, x54, x80); - fiat_p224_addcarryx_u32(&x97, &x98, x96, x56, x82); - fiat_p224_addcarryx_u32(&x99, &x100, x98, x58, x84); - fiat_p224_addcarryx_u32(&x101, &x102, x100, x60, x86); - fiat_p224_addcarryx_u32(&x103, &x104, x102, x62, x88); - fiat_p224_addcarryx_u32(&x105, &x106, x104, x64, x90); - fiat_p224_addcarryx_u32(&x107, &x108, x106, x66, x92); - fiat_p224_addcarryx_u32(&x109, &x110, x108, x67, x94); - fiat_p224_mulx_u32(&x111, &x112, x95, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x113, &x114, x111, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x115, &x116, x111, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x117, &x118, x111, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x119, &x120, x111, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x121, &x122, 0x0, x120, x117); - fiat_p224_addcarryx_u32(&x123, &x124, x122, x118, x115); - fiat_p224_addcarryx_u32(&x125, &x126, x124, x116, x113); - x127 = (x126 + x114); - fiat_p224_addcarryx_u32(&x128, &x129, 0x0, x95, x111); - fiat_p224_addcarryx_u32(&x130, &x131, x129, x97, 0x0); - fiat_p224_addcarryx_u32(&x132, &x133, x131, x99, 0x0); - fiat_p224_addcarryx_u32(&x134, &x135, x133, x101, x119); - fiat_p224_addcarryx_u32(&x136, &x137, x135, x103, x121); - fiat_p224_addcarryx_u32(&x138, &x139, x137, x105, x123); - fiat_p224_addcarryx_u32(&x140, &x141, x139, x107, x125); - fiat_p224_addcarryx_u32(&x142, &x143, x141, x109, x127); - x144 = ((uint32_t)x143 + x110); - fiat_p224_mulx_u32(&x145, &x146, x2, (arg1[6])); - fiat_p224_mulx_u32(&x147, &x148, x2, (arg1[5])); - fiat_p224_mulx_u32(&x149, &x150, x2, (arg1[4])); - fiat_p224_mulx_u32(&x151, &x152, x2, (arg1[3])); - fiat_p224_mulx_u32(&x153, &x154, x2, (arg1[2])); - fiat_p224_mulx_u32(&x155, &x156, x2, (arg1[1])); - fiat_p224_mulx_u32(&x157, &x158, x2, (arg1[0])); - fiat_p224_addcarryx_u32(&x159, &x160, 0x0, x158, x155); - fiat_p224_addcarryx_u32(&x161, &x162, x160, x156, x153); - fiat_p224_addcarryx_u32(&x163, &x164, x162, x154, x151); - fiat_p224_addcarryx_u32(&x165, &x166, x164, x152, x149); - fiat_p224_addcarryx_u32(&x167, &x168, x166, x150, x147); - fiat_p224_addcarryx_u32(&x169, &x170, x168, x148, x145); - x171 = (x170 + x146); - fiat_p224_addcarryx_u32(&x172, &x173, 0x0, x130, x157); - fiat_p224_addcarryx_u32(&x174, &x175, x173, x132, x159); - fiat_p224_addcarryx_u32(&x176, &x177, x175, x134, x161); - fiat_p224_addcarryx_u32(&x178, &x179, x177, x136, x163); - fiat_p224_addcarryx_u32(&x180, &x181, x179, x138, x165); - fiat_p224_addcarryx_u32(&x182, &x183, x181, x140, x167); - fiat_p224_addcarryx_u32(&x184, &x185, x183, x142, x169); - fiat_p224_addcarryx_u32(&x186, &x187, x185, x144, x171); - fiat_p224_mulx_u32(&x188, &x189, x172, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x190, &x191, x188, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x192, &x193, x188, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x194, &x195, x188, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x196, &x197, x188, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x198, &x199, 0x0, x197, x194); - fiat_p224_addcarryx_u32(&x200, &x201, x199, x195, x192); - fiat_p224_addcarryx_u32(&x202, &x203, x201, x193, x190); - x204 = (x203 + x191); - fiat_p224_addcarryx_u32(&x205, &x206, 0x0, x172, x188); - fiat_p224_addcarryx_u32(&x207, &x208, x206, x174, 0x0); - fiat_p224_addcarryx_u32(&x209, &x210, x208, x176, 0x0); - fiat_p224_addcarryx_u32(&x211, &x212, x210, x178, x196); - fiat_p224_addcarryx_u32(&x213, &x214, x212, x180, x198); - fiat_p224_addcarryx_u32(&x215, &x216, x214, x182, x200); - fiat_p224_addcarryx_u32(&x217, &x218, x216, x184, x202); - fiat_p224_addcarryx_u32(&x219, &x220, x218, x186, x204); - x221 = ((uint32_t)x220 + x187); - fiat_p224_mulx_u32(&x222, &x223, x3, (arg1[6])); - fiat_p224_mulx_u32(&x224, &x225, x3, (arg1[5])); - fiat_p224_mulx_u32(&x226, &x227, x3, (arg1[4])); - fiat_p224_mulx_u32(&x228, &x229, x3, (arg1[3])); - fiat_p224_mulx_u32(&x230, &x231, x3, (arg1[2])); - fiat_p224_mulx_u32(&x232, &x233, x3, (arg1[1])); - fiat_p224_mulx_u32(&x234, &x235, x3, (arg1[0])); - fiat_p224_addcarryx_u32(&x236, &x237, 0x0, x235, x232); - fiat_p224_addcarryx_u32(&x238, &x239, x237, x233, x230); - fiat_p224_addcarryx_u32(&x240, &x241, x239, x231, x228); - fiat_p224_addcarryx_u32(&x242, &x243, x241, x229, x226); - fiat_p224_addcarryx_u32(&x244, &x245, x243, x227, x224); - fiat_p224_addcarryx_u32(&x246, &x247, x245, x225, x222); - x248 = (x247 + x223); - fiat_p224_addcarryx_u32(&x249, &x250, 0x0, x207, x234); - fiat_p224_addcarryx_u32(&x251, &x252, x250, x209, x236); - fiat_p224_addcarryx_u32(&x253, &x254, x252, x211, x238); - fiat_p224_addcarryx_u32(&x255, &x256, x254, x213, x240); - fiat_p224_addcarryx_u32(&x257, &x258, x256, x215, x242); - fiat_p224_addcarryx_u32(&x259, &x260, x258, x217, x244); - fiat_p224_addcarryx_u32(&x261, &x262, x260, x219, x246); - fiat_p224_addcarryx_u32(&x263, &x264, x262, x221, x248); - fiat_p224_mulx_u32(&x265, &x266, x249, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x267, &x268, x265, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x269, &x270, x265, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x271, &x272, x265, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x273, &x274, x265, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x275, &x276, 0x0, x274, x271); - fiat_p224_addcarryx_u32(&x277, &x278, x276, x272, x269); - fiat_p224_addcarryx_u32(&x279, &x280, x278, x270, x267); - x281 = (x280 + x268); - fiat_p224_addcarryx_u32(&x282, &x283, 0x0, x249, x265); - fiat_p224_addcarryx_u32(&x284, &x285, x283, x251, 0x0); - fiat_p224_addcarryx_u32(&x286, &x287, x285, x253, 0x0); - fiat_p224_addcarryx_u32(&x288, &x289, x287, x255, x273); - fiat_p224_addcarryx_u32(&x290, &x291, x289, x257, x275); - fiat_p224_addcarryx_u32(&x292, &x293, x291, x259, x277); - fiat_p224_addcarryx_u32(&x294, &x295, x293, x261, x279); - fiat_p224_addcarryx_u32(&x296, &x297, x295, x263, x281); - x298 = ((uint32_t)x297 + x264); - fiat_p224_mulx_u32(&x299, &x300, x4, (arg1[6])); - fiat_p224_mulx_u32(&x301, &x302, x4, (arg1[5])); - fiat_p224_mulx_u32(&x303, &x304, x4, (arg1[4])); - fiat_p224_mulx_u32(&x305, &x306, x4, (arg1[3])); - fiat_p224_mulx_u32(&x307, &x308, x4, (arg1[2])); - fiat_p224_mulx_u32(&x309, &x310, x4, (arg1[1])); - fiat_p224_mulx_u32(&x311, &x312, x4, (arg1[0])); - fiat_p224_addcarryx_u32(&x313, &x314, 0x0, x312, x309); - fiat_p224_addcarryx_u32(&x315, &x316, x314, x310, x307); - fiat_p224_addcarryx_u32(&x317, &x318, x316, x308, x305); - fiat_p224_addcarryx_u32(&x319, &x320, x318, x306, x303); - fiat_p224_addcarryx_u32(&x321, &x322, x320, x304, x301); - fiat_p224_addcarryx_u32(&x323, &x324, x322, x302, x299); - x325 = (x324 + x300); - fiat_p224_addcarryx_u32(&x326, &x327, 0x0, x284, x311); - fiat_p224_addcarryx_u32(&x328, &x329, x327, x286, x313); - fiat_p224_addcarryx_u32(&x330, &x331, x329, x288, x315); - fiat_p224_addcarryx_u32(&x332, &x333, x331, x290, x317); - fiat_p224_addcarryx_u32(&x334, &x335, x333, x292, x319); - fiat_p224_addcarryx_u32(&x336, &x337, x335, x294, x321); - fiat_p224_addcarryx_u32(&x338, &x339, x337, x296, x323); - fiat_p224_addcarryx_u32(&x340, &x341, x339, x298, x325); - fiat_p224_mulx_u32(&x342, &x343, x326, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x344, &x345, x342, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x346, &x347, x342, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x348, &x349, x342, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x350, &x351, x342, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x352, &x353, 0x0, x351, x348); - fiat_p224_addcarryx_u32(&x354, &x355, x353, x349, x346); - fiat_p224_addcarryx_u32(&x356, &x357, x355, x347, x344); - x358 = (x357 + x345); - fiat_p224_addcarryx_u32(&x359, &x360, 0x0, x326, x342); - fiat_p224_addcarryx_u32(&x361, &x362, x360, x328, 0x0); - fiat_p224_addcarryx_u32(&x363, &x364, x362, x330, 0x0); - fiat_p224_addcarryx_u32(&x365, &x366, x364, x332, x350); - fiat_p224_addcarryx_u32(&x367, &x368, x366, x334, x352); - fiat_p224_addcarryx_u32(&x369, &x370, x368, x336, x354); - fiat_p224_addcarryx_u32(&x371, &x372, x370, x338, x356); - fiat_p224_addcarryx_u32(&x373, &x374, x372, x340, x358); - x375 = ((uint32_t)x374 + x341); - fiat_p224_mulx_u32(&x376, &x377, x5, (arg1[6])); - fiat_p224_mulx_u32(&x378, &x379, x5, (arg1[5])); - fiat_p224_mulx_u32(&x380, &x381, x5, (arg1[4])); - fiat_p224_mulx_u32(&x382, &x383, x5, (arg1[3])); - fiat_p224_mulx_u32(&x384, &x385, x5, (arg1[2])); - fiat_p224_mulx_u32(&x386, &x387, x5, (arg1[1])); - fiat_p224_mulx_u32(&x388, &x389, x5, (arg1[0])); - fiat_p224_addcarryx_u32(&x390, &x391, 0x0, x389, x386); - fiat_p224_addcarryx_u32(&x392, &x393, x391, x387, x384); - fiat_p224_addcarryx_u32(&x394, &x395, x393, x385, x382); - fiat_p224_addcarryx_u32(&x396, &x397, x395, x383, x380); - fiat_p224_addcarryx_u32(&x398, &x399, x397, x381, x378); - fiat_p224_addcarryx_u32(&x400, &x401, x399, x379, x376); - x402 = (x401 + x377); - fiat_p224_addcarryx_u32(&x403, &x404, 0x0, x361, x388); - fiat_p224_addcarryx_u32(&x405, &x406, x404, x363, x390); - fiat_p224_addcarryx_u32(&x407, &x408, x406, x365, x392); - fiat_p224_addcarryx_u32(&x409, &x410, x408, x367, x394); - fiat_p224_addcarryx_u32(&x411, &x412, x410, x369, x396); - fiat_p224_addcarryx_u32(&x413, &x414, x412, x371, x398); - fiat_p224_addcarryx_u32(&x415, &x416, x414, x373, x400); - fiat_p224_addcarryx_u32(&x417, &x418, x416, x375, x402); - fiat_p224_mulx_u32(&x419, &x420, x403, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x421, &x422, x419, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x423, &x424, x419, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x425, &x426, x419, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x427, &x428, x419, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x429, &x430, 0x0, x428, x425); - fiat_p224_addcarryx_u32(&x431, &x432, x430, x426, x423); - fiat_p224_addcarryx_u32(&x433, &x434, x432, x424, x421); - x435 = (x434 + x422); - fiat_p224_addcarryx_u32(&x436, &x437, 0x0, x403, x419); - fiat_p224_addcarryx_u32(&x438, &x439, x437, x405, 0x0); - fiat_p224_addcarryx_u32(&x440, &x441, x439, x407, 0x0); - fiat_p224_addcarryx_u32(&x442, &x443, x441, x409, x427); - fiat_p224_addcarryx_u32(&x444, &x445, x443, x411, x429); - fiat_p224_addcarryx_u32(&x446, &x447, x445, x413, x431); - fiat_p224_addcarryx_u32(&x448, &x449, x447, x415, x433); - fiat_p224_addcarryx_u32(&x450, &x451, x449, x417, x435); - x452 = ((uint32_t)x451 + x418); - fiat_p224_mulx_u32(&x453, &x454, x6, (arg1[6])); - fiat_p224_mulx_u32(&x455, &x456, x6, (arg1[5])); - fiat_p224_mulx_u32(&x457, &x458, x6, (arg1[4])); - fiat_p224_mulx_u32(&x459, &x460, x6, (arg1[3])); - fiat_p224_mulx_u32(&x461, &x462, x6, (arg1[2])); - fiat_p224_mulx_u32(&x463, &x464, x6, (arg1[1])); - fiat_p224_mulx_u32(&x465, &x466, x6, (arg1[0])); - fiat_p224_addcarryx_u32(&x467, &x468, 0x0, x466, x463); - fiat_p224_addcarryx_u32(&x469, &x470, x468, x464, x461); - fiat_p224_addcarryx_u32(&x471, &x472, x470, x462, x459); - fiat_p224_addcarryx_u32(&x473, &x474, x472, x460, x457); - fiat_p224_addcarryx_u32(&x475, &x476, x474, x458, x455); - fiat_p224_addcarryx_u32(&x477, &x478, x476, x456, x453); - x479 = (x478 + x454); - fiat_p224_addcarryx_u32(&x480, &x481, 0x0, x438, x465); - fiat_p224_addcarryx_u32(&x482, &x483, x481, x440, x467); - fiat_p224_addcarryx_u32(&x484, &x485, x483, x442, x469); - fiat_p224_addcarryx_u32(&x486, &x487, x485, x444, x471); - fiat_p224_addcarryx_u32(&x488, &x489, x487, x446, x473); - fiat_p224_addcarryx_u32(&x490, &x491, x489, x448, x475); - fiat_p224_addcarryx_u32(&x492, &x493, x491, x450, x477); - fiat_p224_addcarryx_u32(&x494, &x495, x493, x452, x479); - fiat_p224_mulx_u32(&x496, &x497, x480, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x498, &x499, x496, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x500, &x501, x496, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x502, &x503, x496, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x504, &x505, x496, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x506, &x507, 0x0, x505, x502); - fiat_p224_addcarryx_u32(&x508, &x509, x507, x503, x500); - fiat_p224_addcarryx_u32(&x510, &x511, x509, x501, x498); - x512 = (x511 + x499); - fiat_p224_addcarryx_u32(&x513, &x514, 0x0, x480, x496); - fiat_p224_addcarryx_u32(&x515, &x516, x514, x482, 0x0); - fiat_p224_addcarryx_u32(&x517, &x518, x516, x484, 0x0); - fiat_p224_addcarryx_u32(&x519, &x520, x518, x486, x504); - fiat_p224_addcarryx_u32(&x521, &x522, x520, x488, x506); - fiat_p224_addcarryx_u32(&x523, &x524, x522, x490, x508); - fiat_p224_addcarryx_u32(&x525, &x526, x524, x492, x510); - fiat_p224_addcarryx_u32(&x527, &x528, x526, x494, x512); - x529 = ((uint32_t)x528 + x495); - fiat_p224_subborrowx_u32(&x530, &x531, 0x0, x515, 0x1); - fiat_p224_subborrowx_u32(&x532, &x533, x531, x517, 0x0); - fiat_p224_subborrowx_u32(&x534, &x535, x533, x519, 0x0); - fiat_p224_subborrowx_u32(&x536, &x537, x535, x521, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x538, &x539, x537, x523, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x540, &x541, x539, x525, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x542, &x543, x541, x527, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x544, &x545, x543, x529, 0x0); - fiat_p224_cmovznz_u32(&x546, x545, x530, x515); - fiat_p224_cmovznz_u32(&x547, x545, x532, x517); - fiat_p224_cmovznz_u32(&x548, x545, x534, x519); - fiat_p224_cmovznz_u32(&x549, x545, x536, x521); - fiat_p224_cmovznz_u32(&x550, x545, x538, x523); - fiat_p224_cmovznz_u32(&x551, x545, x540, x525); - fiat_p224_cmovznz_u32(&x552, x545, x542, x527); - out1[0] = x546; - out1[1] = x547; - out1[2] = x548; - out1[3] = x549; - out1[4] = x550; - out1[5] = x551; - out1[6] = x552; -} - -/* - * The function fiat_p224_add adds two field elements in the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * 0 ≤ eval arg2 < m - * Postconditions: - * eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_p224_add(fiat_p224_montgomery_domain_field_element out1, const fiat_p224_montgomery_domain_field_element arg1, const fiat_p224_montgomery_domain_field_element arg2) { - uint32_t x1; - fiat_p224_uint1 x2; - uint32_t x3; - fiat_p224_uint1 x4; - uint32_t x5; - fiat_p224_uint1 x6; - uint32_t x7; - fiat_p224_uint1 x8; - uint32_t x9; - fiat_p224_uint1 x10; - uint32_t x11; - fiat_p224_uint1 x12; - uint32_t x13; - fiat_p224_uint1 x14; - uint32_t x15; - fiat_p224_uint1 x16; - uint32_t x17; - fiat_p224_uint1 x18; - uint32_t x19; - fiat_p224_uint1 x20; - uint32_t x21; - fiat_p224_uint1 x22; - uint32_t x23; - fiat_p224_uint1 x24; - uint32_t x25; - fiat_p224_uint1 x26; - uint32_t x27; - fiat_p224_uint1 x28; - uint32_t x29; - fiat_p224_uint1 x30; - uint32_t x31; - uint32_t x32; - uint32_t x33; - uint32_t x34; - uint32_t x35; - uint32_t x36; - uint32_t x37; - fiat_p224_addcarryx_u32(&x1, &x2, 0x0, (arg1[0]), (arg2[0])); - fiat_p224_addcarryx_u32(&x3, &x4, x2, (arg1[1]), (arg2[1])); - fiat_p224_addcarryx_u32(&x5, &x6, x4, (arg1[2]), (arg2[2])); - fiat_p224_addcarryx_u32(&x7, &x8, x6, (arg1[3]), (arg2[3])); - fiat_p224_addcarryx_u32(&x9, &x10, x8, (arg1[4]), (arg2[4])); - fiat_p224_addcarryx_u32(&x11, &x12, x10, (arg1[5]), (arg2[5])); - fiat_p224_addcarryx_u32(&x13, &x14, x12, (arg1[6]), (arg2[6])); - fiat_p224_subborrowx_u32(&x15, &x16, 0x0, x1, 0x1); - fiat_p224_subborrowx_u32(&x17, &x18, x16, x3, 0x0); - fiat_p224_subborrowx_u32(&x19, &x20, x18, x5, 0x0); - fiat_p224_subborrowx_u32(&x21, &x22, x20, x7, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x23, &x24, x22, x9, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x25, &x26, x24, x11, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x27, &x28, x26, x13, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x29, &x30, x28, x14, 0x0); - fiat_p224_cmovznz_u32(&x31, x30, x15, x1); - fiat_p224_cmovznz_u32(&x32, x30, x17, x3); - fiat_p224_cmovznz_u32(&x33, x30, x19, x5); - fiat_p224_cmovznz_u32(&x34, x30, x21, x7); - fiat_p224_cmovznz_u32(&x35, x30, x23, x9); - fiat_p224_cmovznz_u32(&x36, x30, x25, x11); - fiat_p224_cmovznz_u32(&x37, x30, x27, x13); - out1[0] = x31; - out1[1] = x32; - out1[2] = x33; - out1[3] = x34; - out1[4] = x35; - out1[5] = x36; - out1[6] = x37; -} - -/* - * The function fiat_p224_sub subtracts two field elements in the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * 0 ≤ eval arg2 < m - * Postconditions: - * eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_p224_sub(fiat_p224_montgomery_domain_field_element out1, const fiat_p224_montgomery_domain_field_element arg1, const fiat_p224_montgomery_domain_field_element arg2) { - uint32_t x1; - fiat_p224_uint1 x2; - uint32_t x3; - fiat_p224_uint1 x4; - uint32_t x5; - fiat_p224_uint1 x6; - uint32_t x7; - fiat_p224_uint1 x8; - uint32_t x9; - fiat_p224_uint1 x10; - uint32_t x11; - fiat_p224_uint1 x12; - uint32_t x13; - fiat_p224_uint1 x14; - uint32_t x15; - uint32_t x16; - fiat_p224_uint1 x17; - uint32_t x18; - fiat_p224_uint1 x19; - uint32_t x20; - fiat_p224_uint1 x21; - uint32_t x22; - fiat_p224_uint1 x23; - uint32_t x24; - fiat_p224_uint1 x25; - uint32_t x26; - fiat_p224_uint1 x27; - uint32_t x28; - fiat_p224_uint1 x29; - fiat_p224_subborrowx_u32(&x1, &x2, 0x0, (arg1[0]), (arg2[0])); - fiat_p224_subborrowx_u32(&x3, &x4, x2, (arg1[1]), (arg2[1])); - fiat_p224_subborrowx_u32(&x5, &x6, x4, (arg1[2]), (arg2[2])); - fiat_p224_subborrowx_u32(&x7, &x8, x6, (arg1[3]), (arg2[3])); - fiat_p224_subborrowx_u32(&x9, &x10, x8, (arg1[4]), (arg2[4])); - fiat_p224_subborrowx_u32(&x11, &x12, x10, (arg1[5]), (arg2[5])); - fiat_p224_subborrowx_u32(&x13, &x14, x12, (arg1[6]), (arg2[6])); - fiat_p224_cmovznz_u32(&x15, x14, 0x0, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x16, &x17, 0x0, x1, (fiat_p224_uint1)(x15 & 0x1)); - fiat_p224_addcarryx_u32(&x18, &x19, x17, x3, 0x0); - fiat_p224_addcarryx_u32(&x20, &x21, x19, x5, 0x0); - fiat_p224_addcarryx_u32(&x22, &x23, x21, x7, x15); - fiat_p224_addcarryx_u32(&x24, &x25, x23, x9, x15); - fiat_p224_addcarryx_u32(&x26, &x27, x25, x11, x15); - fiat_p224_addcarryx_u32(&x28, &x29, x27, x13, x15); - out1[0] = x16; - out1[1] = x18; - out1[2] = x20; - out1[3] = x22; - out1[4] = x24; - out1[5] = x26; - out1[6] = x28; -} - -/* - * The function fiat_p224_opp negates a field element in the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * Postconditions: - * eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_p224_opp(fiat_p224_montgomery_domain_field_element out1, const fiat_p224_montgomery_domain_field_element arg1) { - uint32_t x1; - fiat_p224_uint1 x2; - uint32_t x3; - fiat_p224_uint1 x4; - uint32_t x5; - fiat_p224_uint1 x6; - uint32_t x7; - fiat_p224_uint1 x8; - uint32_t x9; - fiat_p224_uint1 x10; - uint32_t x11; - fiat_p224_uint1 x12; - uint32_t x13; - fiat_p224_uint1 x14; - uint32_t x15; - uint32_t x16; - fiat_p224_uint1 x17; - uint32_t x18; - fiat_p224_uint1 x19; - uint32_t x20; - fiat_p224_uint1 x21; - uint32_t x22; - fiat_p224_uint1 x23; - uint32_t x24; - fiat_p224_uint1 x25; - uint32_t x26; - fiat_p224_uint1 x27; - uint32_t x28; - fiat_p224_uint1 x29; - fiat_p224_subborrowx_u32(&x1, &x2, 0x0, 0x0, (arg1[0])); - fiat_p224_subborrowx_u32(&x3, &x4, x2, 0x0, (arg1[1])); - fiat_p224_subborrowx_u32(&x5, &x6, x4, 0x0, (arg1[2])); - fiat_p224_subborrowx_u32(&x7, &x8, x6, 0x0, (arg1[3])); - fiat_p224_subborrowx_u32(&x9, &x10, x8, 0x0, (arg1[4])); - fiat_p224_subborrowx_u32(&x11, &x12, x10, 0x0, (arg1[5])); - fiat_p224_subborrowx_u32(&x13, &x14, x12, 0x0, (arg1[6])); - fiat_p224_cmovznz_u32(&x15, x14, 0x0, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x16, &x17, 0x0, x1, (fiat_p224_uint1)(x15 & 0x1)); - fiat_p224_addcarryx_u32(&x18, &x19, x17, x3, 0x0); - fiat_p224_addcarryx_u32(&x20, &x21, x19, x5, 0x0); - fiat_p224_addcarryx_u32(&x22, &x23, x21, x7, x15); - fiat_p224_addcarryx_u32(&x24, &x25, x23, x9, x15); - fiat_p224_addcarryx_u32(&x26, &x27, x25, x11, x15); - fiat_p224_addcarryx_u32(&x28, &x29, x27, x13, x15); - out1[0] = x16; - out1[1] = x18; - out1[2] = x20; - out1[3] = x22; - out1[4] = x24; - out1[5] = x26; - out1[6] = x28; -} - -/* - * The function fiat_p224_from_montgomery translates a field element out of the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * Postconditions: - * eval out1 mod m = (eval arg1 * ((2^32)⁻¹ mod m)^7) mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_p224_from_montgomery(fiat_p224_non_montgomery_domain_field_element out1, const fiat_p224_montgomery_domain_field_element arg1) { - uint32_t x1; - uint32_t x2; - uint32_t x3; - uint32_t x4; - uint32_t x5; - uint32_t x6; - uint32_t x7; - uint32_t x8; - uint32_t x9; - uint32_t x10; - uint32_t x11; - uint32_t x12; - fiat_p224_uint1 x13; - uint32_t x14; - fiat_p224_uint1 x15; - uint32_t x16; - fiat_p224_uint1 x17; - uint32_t x18; - fiat_p224_uint1 x19; - uint32_t x20; - fiat_p224_uint1 x21; - uint32_t x22; - uint32_t x23; - uint32_t x24; - uint32_t x25; - uint32_t x26; - uint32_t x27; - uint32_t x28; - uint32_t x29; - uint32_t x30; - uint32_t x31; - uint32_t x32; - fiat_p224_uint1 x33; - uint32_t x34; - fiat_p224_uint1 x35; - uint32_t x36; - fiat_p224_uint1 x37; - uint32_t x38; - fiat_p224_uint1 x39; - uint32_t x40; - fiat_p224_uint1 x41; - uint32_t x42; - fiat_p224_uint1 x43; - uint32_t x44; - fiat_p224_uint1 x45; - uint32_t x46; - fiat_p224_uint1 x47; - uint32_t x48; - fiat_p224_uint1 x49; - uint32_t x50; - fiat_p224_uint1 x51; - uint32_t x52; - fiat_p224_uint1 x53; - uint32_t x54; - fiat_p224_uint1 x55; - uint32_t x56; - fiat_p224_uint1 x57; - uint32_t x58; - fiat_p224_uint1 x59; - uint32_t x60; - fiat_p224_uint1 x61; - uint32_t x62; - fiat_p224_uint1 x63; - uint32_t x64; - uint32_t x65; - uint32_t x66; - uint32_t x67; - uint32_t x68; - uint32_t x69; - uint32_t x70; - uint32_t x71; - uint32_t x72; - uint32_t x73; - uint32_t x74; - fiat_p224_uint1 x75; - uint32_t x76; - fiat_p224_uint1 x77; - uint32_t x78; - fiat_p224_uint1 x79; - uint32_t x80; - fiat_p224_uint1 x81; - uint32_t x82; - fiat_p224_uint1 x83; - uint32_t x84; - fiat_p224_uint1 x85; - uint32_t x86; - fiat_p224_uint1 x87; - uint32_t x88; - fiat_p224_uint1 x89; - uint32_t x90; - fiat_p224_uint1 x91; - uint32_t x92; - fiat_p224_uint1 x93; - uint32_t x94; - fiat_p224_uint1 x95; - uint32_t x96; - fiat_p224_uint1 x97; - uint32_t x98; - fiat_p224_uint1 x99; - uint32_t x100; - fiat_p224_uint1 x101; - uint32_t x102; - fiat_p224_uint1 x103; - uint32_t x104; - fiat_p224_uint1 x105; - uint32_t x106; - fiat_p224_uint1 x107; - uint32_t x108; - fiat_p224_uint1 x109; - uint32_t x110; - uint32_t x111; - uint32_t x112; - uint32_t x113; - uint32_t x114; - uint32_t x115; - uint32_t x116; - uint32_t x117; - uint32_t x118; - uint32_t x119; - uint32_t x120; - fiat_p224_uint1 x121; - uint32_t x122; - fiat_p224_uint1 x123; - uint32_t x124; - fiat_p224_uint1 x125; - uint32_t x126; - fiat_p224_uint1 x127; - uint32_t x128; - fiat_p224_uint1 x129; - uint32_t x130; - fiat_p224_uint1 x131; - uint32_t x132; - fiat_p224_uint1 x133; - uint32_t x134; - fiat_p224_uint1 x135; - uint32_t x136; - fiat_p224_uint1 x137; - uint32_t x138; - fiat_p224_uint1 x139; - uint32_t x140; - fiat_p224_uint1 x141; - uint32_t x142; - fiat_p224_uint1 x143; - uint32_t x144; - fiat_p224_uint1 x145; - uint32_t x146; - fiat_p224_uint1 x147; - uint32_t x148; - fiat_p224_uint1 x149; - uint32_t x150; - fiat_p224_uint1 x151; - uint32_t x152; - fiat_p224_uint1 x153; - uint32_t x154; - fiat_p224_uint1 x155; - uint32_t x156; - uint32_t x157; - uint32_t x158; - uint32_t x159; - uint32_t x160; - uint32_t x161; - uint32_t x162; - uint32_t x163; - uint32_t x164; - uint32_t x165; - uint32_t x166; - fiat_p224_uint1 x167; - uint32_t x168; - fiat_p224_uint1 x169; - uint32_t x170; - fiat_p224_uint1 x171; - uint32_t x172; - fiat_p224_uint1 x173; - uint32_t x174; - fiat_p224_uint1 x175; - uint32_t x176; - fiat_p224_uint1 x177; - uint32_t x178; - fiat_p224_uint1 x179; - uint32_t x180; - fiat_p224_uint1 x181; - uint32_t x182; - fiat_p224_uint1 x183; - uint32_t x184; - fiat_p224_uint1 x185; - uint32_t x186; - fiat_p224_uint1 x187; - uint32_t x188; - fiat_p224_uint1 x189; - uint32_t x190; - fiat_p224_uint1 x191; - uint32_t x192; - fiat_p224_uint1 x193; - uint32_t x194; - fiat_p224_uint1 x195; - uint32_t x196; - fiat_p224_uint1 x197; - uint32_t x198; - fiat_p224_uint1 x199; - uint32_t x200; - fiat_p224_uint1 x201; - uint32_t x202; - uint32_t x203; - uint32_t x204; - uint32_t x205; - uint32_t x206; - uint32_t x207; - uint32_t x208; - uint32_t x209; - uint32_t x210; - uint32_t x211; - uint32_t x212; - fiat_p224_uint1 x213; - uint32_t x214; - fiat_p224_uint1 x215; - uint32_t x216; - fiat_p224_uint1 x217; - uint32_t x218; - fiat_p224_uint1 x219; - uint32_t x220; - fiat_p224_uint1 x221; - uint32_t x222; - fiat_p224_uint1 x223; - uint32_t x224; - fiat_p224_uint1 x225; - uint32_t x226; - fiat_p224_uint1 x227; - uint32_t x228; - fiat_p224_uint1 x229; - uint32_t x230; - fiat_p224_uint1 x231; - uint32_t x232; - fiat_p224_uint1 x233; - uint32_t x234; - fiat_p224_uint1 x235; - uint32_t x236; - fiat_p224_uint1 x237; - uint32_t x238; - fiat_p224_uint1 x239; - uint32_t x240; - fiat_p224_uint1 x241; - uint32_t x242; - fiat_p224_uint1 x243; - uint32_t x244; - fiat_p224_uint1 x245; - uint32_t x246; - fiat_p224_uint1 x247; - uint32_t x248; - uint32_t x249; - uint32_t x250; - uint32_t x251; - uint32_t x252; - uint32_t x253; - uint32_t x254; - uint32_t x255; - uint32_t x256; - uint32_t x257; - uint32_t x258; - fiat_p224_uint1 x259; - uint32_t x260; - fiat_p224_uint1 x261; - uint32_t x262; - fiat_p224_uint1 x263; - uint32_t x264; - fiat_p224_uint1 x265; - uint32_t x266; - fiat_p224_uint1 x267; - uint32_t x268; - fiat_p224_uint1 x269; - uint32_t x270; - fiat_p224_uint1 x271; - uint32_t x272; - fiat_p224_uint1 x273; - uint32_t x274; - fiat_p224_uint1 x275; - uint32_t x276; - fiat_p224_uint1 x277; - uint32_t x278; - fiat_p224_uint1 x279; - uint32_t x280; - fiat_p224_uint1 x281; - uint32_t x282; - fiat_p224_uint1 x283; - uint32_t x284; - fiat_p224_uint1 x285; - uint32_t x286; - fiat_p224_uint1 x287; - uint32_t x288; - fiat_p224_uint1 x289; - uint32_t x290; - fiat_p224_uint1 x291; - uint32_t x292; - fiat_p224_uint1 x293; - uint32_t x294; - fiat_p224_uint1 x295; - uint32_t x296; - uint32_t x297; - uint32_t x298; - uint32_t x299; - uint32_t x300; - uint32_t x301; - uint32_t x302; - x1 = (arg1[0]); - fiat_p224_mulx_u32(&x2, &x3, x1, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x4, &x5, x2, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x6, &x7, x2, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x8, &x9, x2, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x10, &x11, x2, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x12, &x13, 0x0, x11, x8); - fiat_p224_addcarryx_u32(&x14, &x15, x13, x9, x6); - fiat_p224_addcarryx_u32(&x16, &x17, x15, x7, x4); - fiat_p224_addcarryx_u32(&x18, &x19, 0x0, x1, x2); - fiat_p224_addcarryx_u32(&x20, &x21, 0x0, x19, (arg1[1])); - fiat_p224_mulx_u32(&x22, &x23, x20, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x24, &x25, x22, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x26, &x27, x22, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x28, &x29, x22, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x30, &x31, x22, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x32, &x33, 0x0, x31, x28); - fiat_p224_addcarryx_u32(&x34, &x35, x33, x29, x26); - fiat_p224_addcarryx_u32(&x36, &x37, x35, x27, x24); - fiat_p224_addcarryx_u32(&x38, &x39, 0x0, x12, x30); - fiat_p224_addcarryx_u32(&x40, &x41, x39, x14, x32); - fiat_p224_addcarryx_u32(&x42, &x43, x41, x16, x34); - fiat_p224_addcarryx_u32(&x44, &x45, x43, (x17 + x5), x36); - fiat_p224_addcarryx_u32(&x46, &x47, x45, 0x0, (x37 + x25)); - fiat_p224_addcarryx_u32(&x48, &x49, 0x0, x20, x22); - fiat_p224_addcarryx_u32(&x50, &x51, 0x0, ((uint32_t)x49 + x21), (arg1[2])); - fiat_p224_addcarryx_u32(&x52, &x53, x51, x10, 0x0); - fiat_p224_addcarryx_u32(&x54, &x55, x53, x38, 0x0); - fiat_p224_addcarryx_u32(&x56, &x57, x55, x40, 0x0); - fiat_p224_addcarryx_u32(&x58, &x59, x57, x42, 0x0); - fiat_p224_addcarryx_u32(&x60, &x61, x59, x44, 0x0); - fiat_p224_addcarryx_u32(&x62, &x63, x61, x46, 0x0); - fiat_p224_mulx_u32(&x64, &x65, x50, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x66, &x67, x64, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x68, &x69, x64, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x70, &x71, x64, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x72, &x73, x64, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x74, &x75, 0x0, x73, x70); - fiat_p224_addcarryx_u32(&x76, &x77, x75, x71, x68); - fiat_p224_addcarryx_u32(&x78, &x79, x77, x69, x66); - fiat_p224_addcarryx_u32(&x80, &x81, 0x0, x50, x64); - fiat_p224_addcarryx_u32(&x82, &x83, x81, x52, 0x0); - fiat_p224_addcarryx_u32(&x84, &x85, x83, x54, 0x0); - fiat_p224_addcarryx_u32(&x86, &x87, x85, x56, x72); - fiat_p224_addcarryx_u32(&x88, &x89, x87, x58, x74); - fiat_p224_addcarryx_u32(&x90, &x91, x89, x60, x76); - fiat_p224_addcarryx_u32(&x92, &x93, x91, x62, x78); - fiat_p224_addcarryx_u32(&x94, &x95, x93, ((uint32_t)x63 + x47), (x79 + x67)); - fiat_p224_addcarryx_u32(&x96, &x97, 0x0, x82, (arg1[3])); - fiat_p224_addcarryx_u32(&x98, &x99, x97, x84, 0x0); - fiat_p224_addcarryx_u32(&x100, &x101, x99, x86, 0x0); - fiat_p224_addcarryx_u32(&x102, &x103, x101, x88, 0x0); - fiat_p224_addcarryx_u32(&x104, &x105, x103, x90, 0x0); - fiat_p224_addcarryx_u32(&x106, &x107, x105, x92, 0x0); - fiat_p224_addcarryx_u32(&x108, &x109, x107, x94, 0x0); - fiat_p224_mulx_u32(&x110, &x111, x96, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x112, &x113, x110, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x114, &x115, x110, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x116, &x117, x110, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x118, &x119, x110, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x120, &x121, 0x0, x119, x116); - fiat_p224_addcarryx_u32(&x122, &x123, x121, x117, x114); - fiat_p224_addcarryx_u32(&x124, &x125, x123, x115, x112); - fiat_p224_addcarryx_u32(&x126, &x127, 0x0, x96, x110); - fiat_p224_addcarryx_u32(&x128, &x129, x127, x98, 0x0); - fiat_p224_addcarryx_u32(&x130, &x131, x129, x100, 0x0); - fiat_p224_addcarryx_u32(&x132, &x133, x131, x102, x118); - fiat_p224_addcarryx_u32(&x134, &x135, x133, x104, x120); - fiat_p224_addcarryx_u32(&x136, &x137, x135, x106, x122); - fiat_p224_addcarryx_u32(&x138, &x139, x137, x108, x124); - fiat_p224_addcarryx_u32(&x140, &x141, x139, ((uint32_t)x109 + x95), (x125 + x113)); - fiat_p224_addcarryx_u32(&x142, &x143, 0x0, x128, (arg1[4])); - fiat_p224_addcarryx_u32(&x144, &x145, x143, x130, 0x0); - fiat_p224_addcarryx_u32(&x146, &x147, x145, x132, 0x0); - fiat_p224_addcarryx_u32(&x148, &x149, x147, x134, 0x0); - fiat_p224_addcarryx_u32(&x150, &x151, x149, x136, 0x0); - fiat_p224_addcarryx_u32(&x152, &x153, x151, x138, 0x0); - fiat_p224_addcarryx_u32(&x154, &x155, x153, x140, 0x0); - fiat_p224_mulx_u32(&x156, &x157, x142, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x158, &x159, x156, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x160, &x161, x156, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x162, &x163, x156, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x164, &x165, x156, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x166, &x167, 0x0, x165, x162); - fiat_p224_addcarryx_u32(&x168, &x169, x167, x163, x160); - fiat_p224_addcarryx_u32(&x170, &x171, x169, x161, x158); - fiat_p224_addcarryx_u32(&x172, &x173, 0x0, x142, x156); - fiat_p224_addcarryx_u32(&x174, &x175, x173, x144, 0x0); - fiat_p224_addcarryx_u32(&x176, &x177, x175, x146, 0x0); - fiat_p224_addcarryx_u32(&x178, &x179, x177, x148, x164); - fiat_p224_addcarryx_u32(&x180, &x181, x179, x150, x166); - fiat_p224_addcarryx_u32(&x182, &x183, x181, x152, x168); - fiat_p224_addcarryx_u32(&x184, &x185, x183, x154, x170); - fiat_p224_addcarryx_u32(&x186, &x187, x185, ((uint32_t)x155 + x141), (x171 + x159)); - fiat_p224_addcarryx_u32(&x188, &x189, 0x0, x174, (arg1[5])); - fiat_p224_addcarryx_u32(&x190, &x191, x189, x176, 0x0); - fiat_p224_addcarryx_u32(&x192, &x193, x191, x178, 0x0); - fiat_p224_addcarryx_u32(&x194, &x195, x193, x180, 0x0); - fiat_p224_addcarryx_u32(&x196, &x197, x195, x182, 0x0); - fiat_p224_addcarryx_u32(&x198, &x199, x197, x184, 0x0); - fiat_p224_addcarryx_u32(&x200, &x201, x199, x186, 0x0); - fiat_p224_mulx_u32(&x202, &x203, x188, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x204, &x205, x202, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x206, &x207, x202, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x208, &x209, x202, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x210, &x211, x202, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x212, &x213, 0x0, x211, x208); - fiat_p224_addcarryx_u32(&x214, &x215, x213, x209, x206); - fiat_p224_addcarryx_u32(&x216, &x217, x215, x207, x204); - fiat_p224_addcarryx_u32(&x218, &x219, 0x0, x188, x202); - fiat_p224_addcarryx_u32(&x220, &x221, x219, x190, 0x0); - fiat_p224_addcarryx_u32(&x222, &x223, x221, x192, 0x0); - fiat_p224_addcarryx_u32(&x224, &x225, x223, x194, x210); - fiat_p224_addcarryx_u32(&x226, &x227, x225, x196, x212); - fiat_p224_addcarryx_u32(&x228, &x229, x227, x198, x214); - fiat_p224_addcarryx_u32(&x230, &x231, x229, x200, x216); - fiat_p224_addcarryx_u32(&x232, &x233, x231, ((uint32_t)x201 + x187), (x217 + x205)); - fiat_p224_addcarryx_u32(&x234, &x235, 0x0, x220, (arg1[6])); - fiat_p224_addcarryx_u32(&x236, &x237, x235, x222, 0x0); - fiat_p224_addcarryx_u32(&x238, &x239, x237, x224, 0x0); - fiat_p224_addcarryx_u32(&x240, &x241, x239, x226, 0x0); - fiat_p224_addcarryx_u32(&x242, &x243, x241, x228, 0x0); - fiat_p224_addcarryx_u32(&x244, &x245, x243, x230, 0x0); - fiat_p224_addcarryx_u32(&x246, &x247, x245, x232, 0x0); - fiat_p224_mulx_u32(&x248, &x249, x234, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x250, &x251, x248, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x252, &x253, x248, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x254, &x255, x248, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x256, &x257, x248, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x258, &x259, 0x0, x257, x254); - fiat_p224_addcarryx_u32(&x260, &x261, x259, x255, x252); - fiat_p224_addcarryx_u32(&x262, &x263, x261, x253, x250); - fiat_p224_addcarryx_u32(&x264, &x265, 0x0, x234, x248); - fiat_p224_addcarryx_u32(&x266, &x267, x265, x236, 0x0); - fiat_p224_addcarryx_u32(&x268, &x269, x267, x238, 0x0); - fiat_p224_addcarryx_u32(&x270, &x271, x269, x240, x256); - fiat_p224_addcarryx_u32(&x272, &x273, x271, x242, x258); - fiat_p224_addcarryx_u32(&x274, &x275, x273, x244, x260); - fiat_p224_addcarryx_u32(&x276, &x277, x275, x246, x262); - fiat_p224_addcarryx_u32(&x278, &x279, x277, ((uint32_t)x247 + x233), (x263 + x251)); - fiat_p224_subborrowx_u32(&x280, &x281, 0x0, x266, 0x1); - fiat_p224_subborrowx_u32(&x282, &x283, x281, x268, 0x0); - fiat_p224_subborrowx_u32(&x284, &x285, x283, x270, 0x0); - fiat_p224_subborrowx_u32(&x286, &x287, x285, x272, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x288, &x289, x287, x274, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x290, &x291, x289, x276, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x292, &x293, x291, x278, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x294, &x295, x293, x279, 0x0); - fiat_p224_cmovznz_u32(&x296, x295, x280, x266); - fiat_p224_cmovznz_u32(&x297, x295, x282, x268); - fiat_p224_cmovznz_u32(&x298, x295, x284, x270); - fiat_p224_cmovznz_u32(&x299, x295, x286, x272); - fiat_p224_cmovznz_u32(&x300, x295, x288, x274); - fiat_p224_cmovznz_u32(&x301, x295, x290, x276); - fiat_p224_cmovznz_u32(&x302, x295, x292, x278); - out1[0] = x296; - out1[1] = x297; - out1[2] = x298; - out1[3] = x299; - out1[4] = x300; - out1[5] = x301; - out1[6] = x302; -} - -/* - * The function fiat_p224_to_montgomery translates a field element into the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * Postconditions: - * eval (from_montgomery out1) mod m = eval arg1 mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_p224_to_montgomery(fiat_p224_montgomery_domain_field_element out1, const fiat_p224_non_montgomery_domain_field_element arg1) { - uint32_t x1; - uint32_t x2; - uint32_t x3; - uint32_t x4; - uint32_t x5; - uint32_t x6; - uint32_t x7; - uint32_t x8; - uint32_t x9; - uint32_t x10; - uint32_t x11; - uint32_t x12; - uint32_t x13; - uint32_t x14; - fiat_p224_uint1 x15; - uint32_t x16; - fiat_p224_uint1 x17; - uint32_t x18; - uint32_t x19; - uint32_t x20; - uint32_t x21; - uint32_t x22; - uint32_t x23; - uint32_t x24; - uint32_t x25; - uint32_t x26; - uint32_t x27; - uint32_t x28; - fiat_p224_uint1 x29; - uint32_t x30; - fiat_p224_uint1 x31; - uint32_t x32; - fiat_p224_uint1 x33; - uint32_t x34; - fiat_p224_uint1 x35; - uint32_t x36; - fiat_p224_uint1 x37; - uint32_t x38; - fiat_p224_uint1 x39; - uint32_t x40; - fiat_p224_uint1 x41; - uint32_t x42; - fiat_p224_uint1 x43; - uint32_t x44; - uint32_t x45; - uint32_t x46; - uint32_t x47; - uint32_t x48; - uint32_t x49; - uint32_t x50; - fiat_p224_uint1 x51; - uint32_t x52; - fiat_p224_uint1 x53; - uint32_t x54; - fiat_p224_uint1 x55; - uint32_t x56; - fiat_p224_uint1 x57; - uint32_t x58; - fiat_p224_uint1 x59; - uint32_t x60; - fiat_p224_uint1 x61; - uint32_t x62; - fiat_p224_uint1 x63; - uint32_t x64; - fiat_p224_uint1 x65; - uint32_t x66; - uint32_t x67; - uint32_t x68; - uint32_t x69; - uint32_t x70; - uint32_t x71; - uint32_t x72; - uint32_t x73; - uint32_t x74; - uint32_t x75; - uint32_t x76; - fiat_p224_uint1 x77; - uint32_t x78; - fiat_p224_uint1 x79; - uint32_t x80; - fiat_p224_uint1 x81; - uint32_t x82; - fiat_p224_uint1 x83; - uint32_t x84; - fiat_p224_uint1 x85; - uint32_t x86; - fiat_p224_uint1 x87; - uint32_t x88; - fiat_p224_uint1 x89; - uint32_t x90; - fiat_p224_uint1 x91; - uint32_t x92; - uint32_t x93; - uint32_t x94; - uint32_t x95; - uint32_t x96; - uint32_t x97; - uint32_t x98; - fiat_p224_uint1 x99; - uint32_t x100; - fiat_p224_uint1 x101; - uint32_t x102; - fiat_p224_uint1 x103; - uint32_t x104; - fiat_p224_uint1 x105; - uint32_t x106; - fiat_p224_uint1 x107; - uint32_t x108; - fiat_p224_uint1 x109; - uint32_t x110; - fiat_p224_uint1 x111; - uint32_t x112; - fiat_p224_uint1 x113; - uint32_t x114; - fiat_p224_uint1 x115; - uint32_t x116; - fiat_p224_uint1 x117; - uint32_t x118; - uint32_t x119; - uint32_t x120; - uint32_t x121; - uint32_t x122; - uint32_t x123; - uint32_t x124; - uint32_t x125; - uint32_t x126; - uint32_t x127; - uint32_t x128; - fiat_p224_uint1 x129; - uint32_t x130; - fiat_p224_uint1 x131; - uint32_t x132; - fiat_p224_uint1 x133; - uint32_t x134; - fiat_p224_uint1 x135; - uint32_t x136; - fiat_p224_uint1 x137; - uint32_t x138; - fiat_p224_uint1 x139; - uint32_t x140; - fiat_p224_uint1 x141; - uint32_t x142; - fiat_p224_uint1 x143; - uint32_t x144; - fiat_p224_uint1 x145; - uint32_t x146; - fiat_p224_uint1 x147; - uint32_t x148; - fiat_p224_uint1 x149; - uint32_t x150; - uint32_t x151; - uint32_t x152; - uint32_t x153; - uint32_t x154; - uint32_t x155; - uint32_t x156; - fiat_p224_uint1 x157; - uint32_t x158; - fiat_p224_uint1 x159; - uint32_t x160; - fiat_p224_uint1 x161; - uint32_t x162; - fiat_p224_uint1 x163; - uint32_t x164; - fiat_p224_uint1 x165; - uint32_t x166; - fiat_p224_uint1 x167; - uint32_t x168; - fiat_p224_uint1 x169; - uint32_t x170; - fiat_p224_uint1 x171; - uint32_t x172; - fiat_p224_uint1 x173; - uint32_t x174; - uint32_t x175; - uint32_t x176; - uint32_t x177; - uint32_t x178; - uint32_t x179; - uint32_t x180; - uint32_t x181; - uint32_t x182; - uint32_t x183; - uint32_t x184; - fiat_p224_uint1 x185; - uint32_t x186; - fiat_p224_uint1 x187; - uint32_t x188; - fiat_p224_uint1 x189; - uint32_t x190; - fiat_p224_uint1 x191; - uint32_t x192; - fiat_p224_uint1 x193; - uint32_t x194; - fiat_p224_uint1 x195; - uint32_t x196; - fiat_p224_uint1 x197; - uint32_t x198; - fiat_p224_uint1 x199; - uint32_t x200; - fiat_p224_uint1 x201; - uint32_t x202; - fiat_p224_uint1 x203; - uint32_t x204; - fiat_p224_uint1 x205; - uint32_t x206; - uint32_t x207; - uint32_t x208; - uint32_t x209; - uint32_t x210; - uint32_t x211; - uint32_t x212; - fiat_p224_uint1 x213; - uint32_t x214; - fiat_p224_uint1 x215; - uint32_t x216; - fiat_p224_uint1 x217; - uint32_t x218; - fiat_p224_uint1 x219; - uint32_t x220; - fiat_p224_uint1 x221; - uint32_t x222; - fiat_p224_uint1 x223; - uint32_t x224; - fiat_p224_uint1 x225; - uint32_t x226; - fiat_p224_uint1 x227; - uint32_t x228; - fiat_p224_uint1 x229; - uint32_t x230; - uint32_t x231; - uint32_t x232; - uint32_t x233; - uint32_t x234; - uint32_t x235; - uint32_t x236; - uint32_t x237; - uint32_t x238; - uint32_t x239; - uint32_t x240; - fiat_p224_uint1 x241; - uint32_t x242; - fiat_p224_uint1 x243; - uint32_t x244; - fiat_p224_uint1 x245; - uint32_t x246; - fiat_p224_uint1 x247; - uint32_t x248; - fiat_p224_uint1 x249; - uint32_t x250; - fiat_p224_uint1 x251; - uint32_t x252; - fiat_p224_uint1 x253; - uint32_t x254; - fiat_p224_uint1 x255; - uint32_t x256; - fiat_p224_uint1 x257; - uint32_t x258; - fiat_p224_uint1 x259; - uint32_t x260; - fiat_p224_uint1 x261; - uint32_t x262; - uint32_t x263; - uint32_t x264; - uint32_t x265; - uint32_t x266; - uint32_t x267; - uint32_t x268; - fiat_p224_uint1 x269; - uint32_t x270; - fiat_p224_uint1 x271; - uint32_t x272; - fiat_p224_uint1 x273; - uint32_t x274; - fiat_p224_uint1 x275; - uint32_t x276; - fiat_p224_uint1 x277; - uint32_t x278; - fiat_p224_uint1 x279; - uint32_t x280; - fiat_p224_uint1 x281; - uint32_t x282; - fiat_p224_uint1 x283; - uint32_t x284; - fiat_p224_uint1 x285; - uint32_t x286; - uint32_t x287; - uint32_t x288; - uint32_t x289; - uint32_t x290; - uint32_t x291; - uint32_t x292; - uint32_t x293; - uint32_t x294; - uint32_t x295; - uint32_t x296; - fiat_p224_uint1 x297; - uint32_t x298; - fiat_p224_uint1 x299; - uint32_t x300; - fiat_p224_uint1 x301; - uint32_t x302; - fiat_p224_uint1 x303; - uint32_t x304; - fiat_p224_uint1 x305; - uint32_t x306; - fiat_p224_uint1 x307; - uint32_t x308; - fiat_p224_uint1 x309; - uint32_t x310; - fiat_p224_uint1 x311; - uint32_t x312; - fiat_p224_uint1 x313; - uint32_t x314; - fiat_p224_uint1 x315; - uint32_t x316; - fiat_p224_uint1 x317; - uint32_t x318; - uint32_t x319; - uint32_t x320; - uint32_t x321; - uint32_t x322; - uint32_t x323; - uint32_t x324; - fiat_p224_uint1 x325; - uint32_t x326; - fiat_p224_uint1 x327; - uint32_t x328; - fiat_p224_uint1 x329; - uint32_t x330; - fiat_p224_uint1 x331; - uint32_t x332; - fiat_p224_uint1 x333; - uint32_t x334; - fiat_p224_uint1 x335; - uint32_t x336; - fiat_p224_uint1 x337; - uint32_t x338; - fiat_p224_uint1 x339; - uint32_t x340; - fiat_p224_uint1 x341; - uint32_t x342; - uint32_t x343; - uint32_t x344; - uint32_t x345; - uint32_t x346; - uint32_t x347; - uint32_t x348; - uint32_t x349; - uint32_t x350; - uint32_t x351; - uint32_t x352; - fiat_p224_uint1 x353; - uint32_t x354; - fiat_p224_uint1 x355; - uint32_t x356; - fiat_p224_uint1 x357; - uint32_t x358; - fiat_p224_uint1 x359; - uint32_t x360; - fiat_p224_uint1 x361; - uint32_t x362; - fiat_p224_uint1 x363; - uint32_t x364; - fiat_p224_uint1 x365; - uint32_t x366; - fiat_p224_uint1 x367; - uint32_t x368; - fiat_p224_uint1 x369; - uint32_t x370; - fiat_p224_uint1 x371; - uint32_t x372; - fiat_p224_uint1 x373; - uint32_t x374; - fiat_p224_uint1 x375; - uint32_t x376; - fiat_p224_uint1 x377; - uint32_t x378; - fiat_p224_uint1 x379; - uint32_t x380; - fiat_p224_uint1 x381; - uint32_t x382; - fiat_p224_uint1 x383; - uint32_t x384; - fiat_p224_uint1 x385; - uint32_t x386; - fiat_p224_uint1 x387; - uint32_t x388; - fiat_p224_uint1 x389; - uint32_t x390; - uint32_t x391; - uint32_t x392; - uint32_t x393; - uint32_t x394; - uint32_t x395; - uint32_t x396; - x1 = (arg1[1]); - x2 = (arg1[2]); - x3 = (arg1[3]); - x4 = (arg1[4]); - x5 = (arg1[5]); - x6 = (arg1[6]); - x7 = (arg1[0]); - fiat_p224_mulx_u32(&x8, &x9, x7, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x10, &x11, x7, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x12, &x13, x7, UINT32_C(0xfffffffe)); - fiat_p224_addcarryx_u32(&x14, &x15, 0x0, x13, x10); - fiat_p224_addcarryx_u32(&x16, &x17, x15, x11, x8); - fiat_p224_mulx_u32(&x18, &x19, x7, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x20, &x21, x18, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x22, &x23, x18, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x24, &x25, x18, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x26, &x27, x18, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x28, &x29, 0x0, x27, x24); - fiat_p224_addcarryx_u32(&x30, &x31, x29, x25, x22); - fiat_p224_addcarryx_u32(&x32, &x33, x31, x23, x20); - fiat_p224_addcarryx_u32(&x34, &x35, 0x0, x12, x26); - fiat_p224_addcarryx_u32(&x36, &x37, x35, x14, x28); - fiat_p224_addcarryx_u32(&x38, &x39, x37, x16, x30); - fiat_p224_addcarryx_u32(&x40, &x41, x39, (x17 + x9), x32); - fiat_p224_addcarryx_u32(&x42, &x43, x41, 0x0, (x33 + x21)); - fiat_p224_mulx_u32(&x44, &x45, x1, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x46, &x47, x1, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x48, &x49, x1, UINT32_C(0xfffffffe)); - fiat_p224_addcarryx_u32(&x50, &x51, 0x0, x49, x46); - fiat_p224_addcarryx_u32(&x52, &x53, x51, x47, x44); - fiat_p224_addcarryx_u32(&x54, &x55, 0x0, x7, x18); - fiat_p224_addcarryx_u32(&x56, &x57, 0x0, x55, x1); - fiat_p224_addcarryx_u32(&x58, &x59, 0x0, x36, x48); - fiat_p224_addcarryx_u32(&x60, &x61, x59, x38, x50); - fiat_p224_addcarryx_u32(&x62, &x63, x61, x40, x52); - fiat_p224_addcarryx_u32(&x64, &x65, x63, x42, (x53 + x45)); - fiat_p224_mulx_u32(&x66, &x67, x56, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x68, &x69, x66, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x70, &x71, x66, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x72, &x73, x66, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x74, &x75, x66, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x76, &x77, 0x0, x75, x72); - fiat_p224_addcarryx_u32(&x78, &x79, x77, x73, x70); - fiat_p224_addcarryx_u32(&x80, &x81, x79, x71, x68); - fiat_p224_addcarryx_u32(&x82, &x83, 0x0, x58, x74); - fiat_p224_addcarryx_u32(&x84, &x85, x83, x60, x76); - fiat_p224_addcarryx_u32(&x86, &x87, x85, x62, x78); - fiat_p224_addcarryx_u32(&x88, &x89, x87, x64, x80); - fiat_p224_addcarryx_u32(&x90, &x91, x89, ((uint32_t)x65 + x43), (x81 + x69)); - fiat_p224_mulx_u32(&x92, &x93, x2, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x94, &x95, x2, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x96, &x97, x2, UINT32_C(0xfffffffe)); - fiat_p224_addcarryx_u32(&x98, &x99, 0x0, x97, x94); - fiat_p224_addcarryx_u32(&x100, &x101, x99, x95, x92); - fiat_p224_addcarryx_u32(&x102, &x103, 0x0, x56, x66); - fiat_p224_addcarryx_u32(&x104, &x105, 0x0, ((uint32_t)x103 + x57), x2); - fiat_p224_addcarryx_u32(&x106, &x107, x105, x34, 0x0); - fiat_p224_addcarryx_u32(&x108, &x109, x107, x82, 0x0); - fiat_p224_addcarryx_u32(&x110, &x111, x109, x84, x96); - fiat_p224_addcarryx_u32(&x112, &x113, x111, x86, x98); - fiat_p224_addcarryx_u32(&x114, &x115, x113, x88, x100); - fiat_p224_addcarryx_u32(&x116, &x117, x115, x90, (x101 + x93)); - fiat_p224_mulx_u32(&x118, &x119, x104, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x120, &x121, x118, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x122, &x123, x118, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x124, &x125, x118, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x126, &x127, x118, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x128, &x129, 0x0, x127, x124); - fiat_p224_addcarryx_u32(&x130, &x131, x129, x125, x122); - fiat_p224_addcarryx_u32(&x132, &x133, x131, x123, x120); - fiat_p224_addcarryx_u32(&x134, &x135, 0x0, x104, x118); - fiat_p224_addcarryx_u32(&x136, &x137, x135, x106, 0x0); - fiat_p224_addcarryx_u32(&x138, &x139, x137, x108, 0x0); - fiat_p224_addcarryx_u32(&x140, &x141, x139, x110, x126); - fiat_p224_addcarryx_u32(&x142, &x143, x141, x112, x128); - fiat_p224_addcarryx_u32(&x144, &x145, x143, x114, x130); - fiat_p224_addcarryx_u32(&x146, &x147, x145, x116, x132); - fiat_p224_addcarryx_u32(&x148, &x149, x147, ((uint32_t)x117 + x91), (x133 + x121)); - fiat_p224_mulx_u32(&x150, &x151, x3, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x152, &x153, x3, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x154, &x155, x3, UINT32_C(0xfffffffe)); - fiat_p224_addcarryx_u32(&x156, &x157, 0x0, x155, x152); - fiat_p224_addcarryx_u32(&x158, &x159, x157, x153, x150); - fiat_p224_addcarryx_u32(&x160, &x161, 0x0, x136, x3); - fiat_p224_addcarryx_u32(&x162, &x163, x161, x138, 0x0); - fiat_p224_addcarryx_u32(&x164, &x165, x163, x140, 0x0); - fiat_p224_addcarryx_u32(&x166, &x167, x165, x142, x154); - fiat_p224_addcarryx_u32(&x168, &x169, x167, x144, x156); - fiat_p224_addcarryx_u32(&x170, &x171, x169, x146, x158); - fiat_p224_addcarryx_u32(&x172, &x173, x171, x148, (x159 + x151)); - fiat_p224_mulx_u32(&x174, &x175, x160, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x176, &x177, x174, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x178, &x179, x174, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x180, &x181, x174, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x182, &x183, x174, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x184, &x185, 0x0, x183, x180); - fiat_p224_addcarryx_u32(&x186, &x187, x185, x181, x178); - fiat_p224_addcarryx_u32(&x188, &x189, x187, x179, x176); - fiat_p224_addcarryx_u32(&x190, &x191, 0x0, x160, x174); - fiat_p224_addcarryx_u32(&x192, &x193, x191, x162, 0x0); - fiat_p224_addcarryx_u32(&x194, &x195, x193, x164, 0x0); - fiat_p224_addcarryx_u32(&x196, &x197, x195, x166, x182); - fiat_p224_addcarryx_u32(&x198, &x199, x197, x168, x184); - fiat_p224_addcarryx_u32(&x200, &x201, x199, x170, x186); - fiat_p224_addcarryx_u32(&x202, &x203, x201, x172, x188); - fiat_p224_addcarryx_u32(&x204, &x205, x203, ((uint32_t)x173 + x149), (x189 + x177)); - fiat_p224_mulx_u32(&x206, &x207, x4, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x208, &x209, x4, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x210, &x211, x4, UINT32_C(0xfffffffe)); - fiat_p224_addcarryx_u32(&x212, &x213, 0x0, x211, x208); - fiat_p224_addcarryx_u32(&x214, &x215, x213, x209, x206); - fiat_p224_addcarryx_u32(&x216, &x217, 0x0, x192, x4); - fiat_p224_addcarryx_u32(&x218, &x219, x217, x194, 0x0); - fiat_p224_addcarryx_u32(&x220, &x221, x219, x196, 0x0); - fiat_p224_addcarryx_u32(&x222, &x223, x221, x198, x210); - fiat_p224_addcarryx_u32(&x224, &x225, x223, x200, x212); - fiat_p224_addcarryx_u32(&x226, &x227, x225, x202, x214); - fiat_p224_addcarryx_u32(&x228, &x229, x227, x204, (x215 + x207)); - fiat_p224_mulx_u32(&x230, &x231, x216, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x232, &x233, x230, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x234, &x235, x230, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x236, &x237, x230, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x238, &x239, x230, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x240, &x241, 0x0, x239, x236); - fiat_p224_addcarryx_u32(&x242, &x243, x241, x237, x234); - fiat_p224_addcarryx_u32(&x244, &x245, x243, x235, x232); - fiat_p224_addcarryx_u32(&x246, &x247, 0x0, x216, x230); - fiat_p224_addcarryx_u32(&x248, &x249, x247, x218, 0x0); - fiat_p224_addcarryx_u32(&x250, &x251, x249, x220, 0x0); - fiat_p224_addcarryx_u32(&x252, &x253, x251, x222, x238); - fiat_p224_addcarryx_u32(&x254, &x255, x253, x224, x240); - fiat_p224_addcarryx_u32(&x256, &x257, x255, x226, x242); - fiat_p224_addcarryx_u32(&x258, &x259, x257, x228, x244); - fiat_p224_addcarryx_u32(&x260, &x261, x259, ((uint32_t)x229 + x205), (x245 + x233)); - fiat_p224_mulx_u32(&x262, &x263, x5, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x264, &x265, x5, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x266, &x267, x5, UINT32_C(0xfffffffe)); - fiat_p224_addcarryx_u32(&x268, &x269, 0x0, x267, x264); - fiat_p224_addcarryx_u32(&x270, &x271, x269, x265, x262); - fiat_p224_addcarryx_u32(&x272, &x273, 0x0, x248, x5); - fiat_p224_addcarryx_u32(&x274, &x275, x273, x250, 0x0); - fiat_p224_addcarryx_u32(&x276, &x277, x275, x252, 0x0); - fiat_p224_addcarryx_u32(&x278, &x279, x277, x254, x266); - fiat_p224_addcarryx_u32(&x280, &x281, x279, x256, x268); - fiat_p224_addcarryx_u32(&x282, &x283, x281, x258, x270); - fiat_p224_addcarryx_u32(&x284, &x285, x283, x260, (x271 + x263)); - fiat_p224_mulx_u32(&x286, &x287, x272, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x288, &x289, x286, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x290, &x291, x286, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x292, &x293, x286, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x294, &x295, x286, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x296, &x297, 0x0, x295, x292); - fiat_p224_addcarryx_u32(&x298, &x299, x297, x293, x290); - fiat_p224_addcarryx_u32(&x300, &x301, x299, x291, x288); - fiat_p224_addcarryx_u32(&x302, &x303, 0x0, x272, x286); - fiat_p224_addcarryx_u32(&x304, &x305, x303, x274, 0x0); - fiat_p224_addcarryx_u32(&x306, &x307, x305, x276, 0x0); - fiat_p224_addcarryx_u32(&x308, &x309, x307, x278, x294); - fiat_p224_addcarryx_u32(&x310, &x311, x309, x280, x296); - fiat_p224_addcarryx_u32(&x312, &x313, x311, x282, x298); - fiat_p224_addcarryx_u32(&x314, &x315, x313, x284, x300); - fiat_p224_addcarryx_u32(&x316, &x317, x315, ((uint32_t)x285 + x261), (x301 + x289)); - fiat_p224_mulx_u32(&x318, &x319, x6, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x320, &x321, x6, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x322, &x323, x6, UINT32_C(0xfffffffe)); - fiat_p224_addcarryx_u32(&x324, &x325, 0x0, x323, x320); - fiat_p224_addcarryx_u32(&x326, &x327, x325, x321, x318); - fiat_p224_addcarryx_u32(&x328, &x329, 0x0, x304, x6); - fiat_p224_addcarryx_u32(&x330, &x331, x329, x306, 0x0); - fiat_p224_addcarryx_u32(&x332, &x333, x331, x308, 0x0); - fiat_p224_addcarryx_u32(&x334, &x335, x333, x310, x322); - fiat_p224_addcarryx_u32(&x336, &x337, x335, x312, x324); - fiat_p224_addcarryx_u32(&x338, &x339, x337, x314, x326); - fiat_p224_addcarryx_u32(&x340, &x341, x339, x316, (x327 + x319)); - fiat_p224_mulx_u32(&x342, &x343, x328, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x344, &x345, x342, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x346, &x347, x342, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x348, &x349, x342, UINT32_C(0xffffffff)); - fiat_p224_mulx_u32(&x350, &x351, x342, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x352, &x353, 0x0, x351, x348); - fiat_p224_addcarryx_u32(&x354, &x355, x353, x349, x346); - fiat_p224_addcarryx_u32(&x356, &x357, x355, x347, x344); - fiat_p224_addcarryx_u32(&x358, &x359, 0x0, x328, x342); - fiat_p224_addcarryx_u32(&x360, &x361, x359, x330, 0x0); - fiat_p224_addcarryx_u32(&x362, &x363, x361, x332, 0x0); - fiat_p224_addcarryx_u32(&x364, &x365, x363, x334, x350); - fiat_p224_addcarryx_u32(&x366, &x367, x365, x336, x352); - fiat_p224_addcarryx_u32(&x368, &x369, x367, x338, x354); - fiat_p224_addcarryx_u32(&x370, &x371, x369, x340, x356); - fiat_p224_addcarryx_u32(&x372, &x373, x371, ((uint32_t)x341 + x317), (x357 + x345)); - fiat_p224_subborrowx_u32(&x374, &x375, 0x0, x360, 0x1); - fiat_p224_subborrowx_u32(&x376, &x377, x375, x362, 0x0); - fiat_p224_subborrowx_u32(&x378, &x379, x377, x364, 0x0); - fiat_p224_subborrowx_u32(&x380, &x381, x379, x366, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x382, &x383, x381, x368, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x384, &x385, x383, x370, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x386, &x387, x385, x372, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x388, &x389, x387, x373, 0x0); - fiat_p224_cmovznz_u32(&x390, x389, x374, x360); - fiat_p224_cmovznz_u32(&x391, x389, x376, x362); - fiat_p224_cmovznz_u32(&x392, x389, x378, x364); - fiat_p224_cmovznz_u32(&x393, x389, x380, x366); - fiat_p224_cmovznz_u32(&x394, x389, x382, x368); - fiat_p224_cmovznz_u32(&x395, x389, x384, x370); - fiat_p224_cmovznz_u32(&x396, x389, x386, x372); - out1[0] = x390; - out1[1] = x391; - out1[2] = x392; - out1[3] = x393; - out1[4] = x394; - out1[5] = x395; - out1[6] = x396; -} - -/* - * The function fiat_p224_nonzero outputs a single non-zero word if the input is non-zero and zero otherwise. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * Postconditions: - * out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0 - * - * Input Bounds: - * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - * Output Bounds: - * out1: [0x0 ~> 0xffffffff] - */ -static void fiat_p224_nonzero(uint32_t* out1, const uint32_t arg1[7]) { - uint32_t x1; - x1 = ((arg1[0]) | ((arg1[1]) | ((arg1[2]) | ((arg1[3]) | ((arg1[4]) | ((arg1[5]) | (arg1[6]))))))); - *out1 = x1; -} - -/* - * The function fiat_p224_selectznz is a multi-limb conditional select. - * - * Postconditions: - * out1 = (if arg1 = 0 then arg2 else arg3) - * - * Input Bounds: - * arg1: [0x0 ~> 0x1] - * arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - * arg3: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - * Output Bounds: - * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - */ -static void fiat_p224_selectznz(uint32_t out1[7], fiat_p224_uint1 arg1, const uint32_t arg2[7], const uint32_t arg3[7]) { - uint32_t x1; - uint32_t x2; - uint32_t x3; - uint32_t x4; - uint32_t x5; - uint32_t x6; - uint32_t x7; - fiat_p224_cmovznz_u32(&x1, arg1, (arg2[0]), (arg3[0])); - fiat_p224_cmovznz_u32(&x2, arg1, (arg2[1]), (arg3[1])); - fiat_p224_cmovznz_u32(&x3, arg1, (arg2[2]), (arg3[2])); - fiat_p224_cmovznz_u32(&x4, arg1, (arg2[3]), (arg3[3])); - fiat_p224_cmovznz_u32(&x5, arg1, (arg2[4]), (arg3[4])); - fiat_p224_cmovznz_u32(&x6, arg1, (arg2[5]), (arg3[5])); - fiat_p224_cmovznz_u32(&x7, arg1, (arg2[6]), (arg3[6])); - out1[0] = x1; - out1[1] = x2; - out1[2] = x3; - out1[3] = x4; - out1[4] = x5; - out1[5] = x6; - out1[6] = x7; -} - -/* - * The function fiat_p224_to_bytes serializes a field element NOT in the Montgomery domain to bytes in little-endian order. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * Postconditions: - * out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..27] - * - * Input Bounds: - * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - * Output Bounds: - * out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]] - */ -static void fiat_p224_to_bytes(uint8_t out1[28], const uint32_t arg1[7]) { - uint32_t x1; - uint32_t x2; - uint32_t x3; - uint32_t x4; - uint32_t x5; - uint32_t x6; - uint32_t x7; - uint8_t x8; - uint32_t x9; - uint8_t x10; - uint32_t x11; - uint8_t x12; - uint8_t x13; - uint8_t x14; - uint32_t x15; - uint8_t x16; - uint32_t x17; - uint8_t x18; - uint8_t x19; - uint8_t x20; - uint32_t x21; - uint8_t x22; - uint32_t x23; - uint8_t x24; - uint8_t x25; - uint8_t x26; - uint32_t x27; - uint8_t x28; - uint32_t x29; - uint8_t x30; - uint8_t x31; - uint8_t x32; - uint32_t x33; - uint8_t x34; - uint32_t x35; - uint8_t x36; - uint8_t x37; - uint8_t x38; - uint32_t x39; - uint8_t x40; - uint32_t x41; - uint8_t x42; - uint8_t x43; - uint8_t x44; - uint32_t x45; - uint8_t x46; - uint32_t x47; - uint8_t x48; - uint8_t x49; - x1 = (arg1[6]); - x2 = (arg1[5]); - x3 = (arg1[4]); - x4 = (arg1[3]); - x5 = (arg1[2]); - x6 = (arg1[1]); - x7 = (arg1[0]); - x8 = (uint8_t)(x7 & UINT8_C(0xff)); - x9 = (x7 >> 8); - x10 = (uint8_t)(x9 & UINT8_C(0xff)); - x11 = (x9 >> 8); - x12 = (uint8_t)(x11 & UINT8_C(0xff)); - x13 = (uint8_t)(x11 >> 8); - x14 = (uint8_t)(x6 & UINT8_C(0xff)); - x15 = (x6 >> 8); - x16 = (uint8_t)(x15 & UINT8_C(0xff)); - x17 = (x15 >> 8); - x18 = (uint8_t)(x17 & UINT8_C(0xff)); - x19 = (uint8_t)(x17 >> 8); - x20 = (uint8_t)(x5 & UINT8_C(0xff)); - x21 = (x5 >> 8); - x22 = (uint8_t)(x21 & UINT8_C(0xff)); - x23 = (x21 >> 8); - x24 = (uint8_t)(x23 & UINT8_C(0xff)); - x25 = (uint8_t)(x23 >> 8); - x26 = (uint8_t)(x4 & UINT8_C(0xff)); - x27 = (x4 >> 8); - x28 = (uint8_t)(x27 & UINT8_C(0xff)); - x29 = (x27 >> 8); - x30 = (uint8_t)(x29 & UINT8_C(0xff)); - x31 = (uint8_t)(x29 >> 8); - x32 = (uint8_t)(x3 & UINT8_C(0xff)); - x33 = (x3 >> 8); - x34 = (uint8_t)(x33 & UINT8_C(0xff)); - x35 = (x33 >> 8); - x36 = (uint8_t)(x35 & UINT8_C(0xff)); - x37 = (uint8_t)(x35 >> 8); - x38 = (uint8_t)(x2 & UINT8_C(0xff)); - x39 = (x2 >> 8); - x40 = (uint8_t)(x39 & UINT8_C(0xff)); - x41 = (x39 >> 8); - x42 = (uint8_t)(x41 & UINT8_C(0xff)); - x43 = (uint8_t)(x41 >> 8); - x44 = (uint8_t)(x1 & UINT8_C(0xff)); - x45 = (x1 >> 8); - x46 = (uint8_t)(x45 & UINT8_C(0xff)); - x47 = (x45 >> 8); - x48 = (uint8_t)(x47 & UINT8_C(0xff)); - x49 = (uint8_t)(x47 >> 8); - out1[0] = x8; - out1[1] = x10; - out1[2] = x12; - out1[3] = x13; - out1[4] = x14; - out1[5] = x16; - out1[6] = x18; - out1[7] = x19; - out1[8] = x20; - out1[9] = x22; - out1[10] = x24; - out1[11] = x25; - out1[12] = x26; - out1[13] = x28; - out1[14] = x30; - out1[15] = x31; - out1[16] = x32; - out1[17] = x34; - out1[18] = x36; - out1[19] = x37; - out1[20] = x38; - out1[21] = x40; - out1[22] = x42; - out1[23] = x43; - out1[24] = x44; - out1[25] = x46; - out1[26] = x48; - out1[27] = x49; -} - -/* - * The function fiat_p224_from_bytes deserializes a field element NOT in the Montgomery domain from bytes in little-endian order. - * - * Preconditions: - * 0 ≤ bytes_eval arg1 < m - * Postconditions: - * eval out1 mod m = bytes_eval arg1 mod m - * 0 ≤ eval out1 < m - * - * Input Bounds: - * arg1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]] - * Output Bounds: - * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - */ -static void fiat_p224_from_bytes(uint32_t out1[7], const uint8_t arg1[28]) { - uint32_t x1; - uint32_t x2; - uint32_t x3; - uint8_t x4; - uint32_t x5; - uint32_t x6; - uint32_t x7; - uint8_t x8; - uint32_t x9; - uint32_t x10; - uint32_t x11; - uint8_t x12; - uint32_t x13; - uint32_t x14; - uint32_t x15; - uint8_t x16; - uint32_t x17; - uint32_t x18; - uint32_t x19; - uint8_t x20; - uint32_t x21; - uint32_t x22; - uint32_t x23; - uint8_t x24; - uint32_t x25; - uint32_t x26; - uint32_t x27; - uint8_t x28; - uint32_t x29; - uint32_t x30; - uint32_t x31; - uint32_t x32; - uint32_t x33; - uint32_t x34; - uint32_t x35; - uint32_t x36; - uint32_t x37; - uint32_t x38; - uint32_t x39; - uint32_t x40; - uint32_t x41; - uint32_t x42; - uint32_t x43; - uint32_t x44; - uint32_t x45; - uint32_t x46; - uint32_t x47; - uint32_t x48; - uint32_t x49; - x1 = ((uint32_t)(arg1[27]) << 24); - x2 = ((uint32_t)(arg1[26]) << 16); - x3 = ((uint32_t)(arg1[25]) << 8); - x4 = (arg1[24]); - x5 = ((uint32_t)(arg1[23]) << 24); - x6 = ((uint32_t)(arg1[22]) << 16); - x7 = ((uint32_t)(arg1[21]) << 8); - x8 = (arg1[20]); - x9 = ((uint32_t)(arg1[19]) << 24); - x10 = ((uint32_t)(arg1[18]) << 16); - x11 = ((uint32_t)(arg1[17]) << 8); - x12 = (arg1[16]); - x13 = ((uint32_t)(arg1[15]) << 24); - x14 = ((uint32_t)(arg1[14]) << 16); - x15 = ((uint32_t)(arg1[13]) << 8); - x16 = (arg1[12]); - x17 = ((uint32_t)(arg1[11]) << 24); - x18 = ((uint32_t)(arg1[10]) << 16); - x19 = ((uint32_t)(arg1[9]) << 8); - x20 = (arg1[8]); - x21 = ((uint32_t)(arg1[7]) << 24); - x22 = ((uint32_t)(arg1[6]) << 16); - x23 = ((uint32_t)(arg1[5]) << 8); - x24 = (arg1[4]); - x25 = ((uint32_t)(arg1[3]) << 24); - x26 = ((uint32_t)(arg1[2]) << 16); - x27 = ((uint32_t)(arg1[1]) << 8); - x28 = (arg1[0]); - x29 = (x27 + (uint32_t)x28); - x30 = (x26 + x29); - x31 = (x25 + x30); - x32 = (x23 + (uint32_t)x24); - x33 = (x22 + x32); - x34 = (x21 + x33); - x35 = (x19 + (uint32_t)x20); - x36 = (x18 + x35); - x37 = (x17 + x36); - x38 = (x15 + (uint32_t)x16); - x39 = (x14 + x38); - x40 = (x13 + x39); - x41 = (x11 + (uint32_t)x12); - x42 = (x10 + x41); - x43 = (x9 + x42); - x44 = (x7 + (uint32_t)x8); - x45 = (x6 + x44); - x46 = (x5 + x45); - x47 = (x3 + (uint32_t)x4); - x48 = (x2 + x47); - x49 = (x1 + x48); - out1[0] = x31; - out1[1] = x34; - out1[2] = x37; - out1[3] = x40; - out1[4] = x43; - out1[5] = x46; - out1[6] = x49; -} - -/* - * The function fiat_p224_set_one returns the field element one in the Montgomery domain. - * - * Postconditions: - * eval (from_montgomery out1) mod m = 1 mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_p224_set_one(fiat_p224_montgomery_domain_field_element out1) { - out1[0] = UINT32_C(0xffffffff); - out1[1] = UINT32_C(0xffffffff); - out1[2] = UINT32_C(0xffffffff); - out1[3] = 0x0; - out1[4] = 0x0; - out1[5] = 0x0; - out1[6] = 0x0; -} - -/* - * The function fiat_p224_msat returns the saturated representation of the prime modulus. - * - * Postconditions: - * twos_complement_eval out1 = m - * 0 ≤ eval out1 < m - * - * Output Bounds: - * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - */ -static void fiat_p224_msat(uint32_t out1[8]) { - out1[0] = 0x1; - out1[1] = 0x0; - out1[2] = 0x0; - out1[3] = UINT32_C(0xffffffff); - out1[4] = UINT32_C(0xffffffff); - out1[5] = UINT32_C(0xffffffff); - out1[6] = UINT32_C(0xffffffff); - out1[7] = 0x0; -} - -/* - * The function fiat_p224_divstep_precomp returns the precomputed value for Bernstein-Yang-inversion (in montgomery form). - * - * Postconditions: - * eval (from_montgomery out1) = ⌊(m - 1) / 2⌋^(if ⌊log2 m⌋ + 1 < 46 then ⌊(49 * (⌊log2 m⌋ + 1) + 80) / 17⌋ else ⌊(49 * (⌊log2 m⌋ + 1) + 57) / 17⌋) - * 0 ≤ eval out1 < m - * - * Output Bounds: - * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - */ -static void fiat_p224_divstep_precomp(uint32_t out1[7]) { - out1[0] = UINT32_C(0x800000); - out1[1] = UINT32_C(0x800000); - out1[2] = UINT32_C(0xfe000000); - out1[3] = UINT32_C(0xffffff); - out1[4] = 0x0; - out1[5] = UINT32_C(0xff800000); - out1[6] = UINT32_C(0x17fffff); -} - -/* - * The function fiat_p224_divstep computes a divstep. - * - * Preconditions: - * 0 ≤ eval arg4 < m - * 0 ≤ eval arg5 < m - * Postconditions: - * out1 = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then 1 - arg1 else 1 + arg1) - * twos_complement_eval out2 = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then twos_complement_eval arg3 else twos_complement_eval arg2) - * twos_complement_eval out3 = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then ⌊(twos_complement_eval arg3 - twos_complement_eval arg2) / 2⌋ else ⌊(twos_complement_eval arg3 + (twos_complement_eval arg3 mod 2) * twos_complement_eval arg2) / 2⌋) - * eval (from_montgomery out4) mod m = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then (2 * eval (from_montgomery arg5)) mod m else (2 * eval (from_montgomery arg4)) mod m) - * eval (from_montgomery out5) mod m = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then (eval (from_montgomery arg4) - eval (from_montgomery arg4)) mod m else (eval (from_montgomery arg5) + (twos_complement_eval arg3 mod 2) * eval (from_montgomery arg4)) mod m) - * 0 ≤ eval out5 < m - * 0 ≤ eval out5 < m - * 0 ≤ eval out2 < m - * 0 ≤ eval out3 < m - * - * Input Bounds: - * arg1: [0x0 ~> 0xffffffff] - * arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - * arg3: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - * arg4: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - * arg5: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - * Output Bounds: - * out1: [0x0 ~> 0xffffffff] - * out2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - * out3: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - * out4: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - * out5: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]] - */ -static void fiat_p224_divstep(uint32_t* out1, uint32_t out2[8], uint32_t out3[8], uint32_t out4[7], uint32_t out5[7], uint32_t arg1, const uint32_t arg2[8], const uint32_t arg3[8], const uint32_t arg4[7], const uint32_t arg5[7]) { - uint32_t x1; - fiat_p224_uint1 x2; - fiat_p224_uint1 x3; - uint32_t x4; - fiat_p224_uint1 x5; - uint32_t x6; - uint32_t x7; - uint32_t x8; - uint32_t x9; - uint32_t x10; - uint32_t x11; - uint32_t x12; - uint32_t x13; - uint32_t x14; - uint32_t x15; - fiat_p224_uint1 x16; - uint32_t x17; - fiat_p224_uint1 x18; - uint32_t x19; - fiat_p224_uint1 x20; - uint32_t x21; - fiat_p224_uint1 x22; - uint32_t x23; - fiat_p224_uint1 x24; - uint32_t x25; - fiat_p224_uint1 x26; - uint32_t x27; - fiat_p224_uint1 x28; - uint32_t x29; - fiat_p224_uint1 x30; - uint32_t x31; - uint32_t x32; - uint32_t x33; - uint32_t x34; - uint32_t x35; - uint32_t x36; - uint32_t x37; - uint32_t x38; - uint32_t x39; - uint32_t x40; - uint32_t x41; - uint32_t x42; - uint32_t x43; - uint32_t x44; - uint32_t x45; - uint32_t x46; - fiat_p224_uint1 x47; - uint32_t x48; - fiat_p224_uint1 x49; - uint32_t x50; - fiat_p224_uint1 x51; - uint32_t x52; - fiat_p224_uint1 x53; - uint32_t x54; - fiat_p224_uint1 x55; - uint32_t x56; - fiat_p224_uint1 x57; - uint32_t x58; - fiat_p224_uint1 x59; - uint32_t x60; - fiat_p224_uint1 x61; - uint32_t x62; - fiat_p224_uint1 x63; - uint32_t x64; - fiat_p224_uint1 x65; - uint32_t x66; - fiat_p224_uint1 x67; - uint32_t x68; - fiat_p224_uint1 x69; - uint32_t x70; - fiat_p224_uint1 x71; - uint32_t x72; - fiat_p224_uint1 x73; - uint32_t x74; - fiat_p224_uint1 x75; - uint32_t x76; - uint32_t x77; - uint32_t x78; - uint32_t x79; - uint32_t x80; - uint32_t x81; - uint32_t x82; - uint32_t x83; - fiat_p224_uint1 x84; - uint32_t x85; - fiat_p224_uint1 x86; - uint32_t x87; - fiat_p224_uint1 x88; - uint32_t x89; - fiat_p224_uint1 x90; - uint32_t x91; - fiat_p224_uint1 x92; - uint32_t x93; - fiat_p224_uint1 x94; - uint32_t x95; - fiat_p224_uint1 x96; - uint32_t x97; - uint32_t x98; - fiat_p224_uint1 x99; - uint32_t x100; - fiat_p224_uint1 x101; - uint32_t x102; - fiat_p224_uint1 x103; - uint32_t x104; - fiat_p224_uint1 x105; - uint32_t x106; - fiat_p224_uint1 x107; - uint32_t x108; - fiat_p224_uint1 x109; - uint32_t x110; - fiat_p224_uint1 x111; - uint32_t x112; - uint32_t x113; - uint32_t x114; - uint32_t x115; - uint32_t x116; - uint32_t x117; - uint32_t x118; - fiat_p224_uint1 x119; - uint32_t x120; - uint32_t x121; - uint32_t x122; - uint32_t x123; - uint32_t x124; - uint32_t x125; - uint32_t x126; - uint32_t x127; - uint32_t x128; - fiat_p224_uint1 x129; - uint32_t x130; - fiat_p224_uint1 x131; - uint32_t x132; - fiat_p224_uint1 x133; - uint32_t x134; - fiat_p224_uint1 x135; - uint32_t x136; - fiat_p224_uint1 x137; - uint32_t x138; - fiat_p224_uint1 x139; - uint32_t x140; - fiat_p224_uint1 x141; - uint32_t x142; - fiat_p224_uint1 x143; - uint32_t x144; - uint32_t x145; - uint32_t x146; - uint32_t x147; - uint32_t x148; - uint32_t x149; - uint32_t x150; - uint32_t x151; - fiat_p224_uint1 x152; - uint32_t x153; - fiat_p224_uint1 x154; - uint32_t x155; - fiat_p224_uint1 x156; - uint32_t x157; - fiat_p224_uint1 x158; - uint32_t x159; - fiat_p224_uint1 x160; - uint32_t x161; - fiat_p224_uint1 x162; - uint32_t x163; - fiat_p224_uint1 x164; - uint32_t x165; - fiat_p224_uint1 x166; - uint32_t x167; - fiat_p224_uint1 x168; - uint32_t x169; - fiat_p224_uint1 x170; - uint32_t x171; - fiat_p224_uint1 x172; - uint32_t x173; - fiat_p224_uint1 x174; - uint32_t x175; - fiat_p224_uint1 x176; - uint32_t x177; - fiat_p224_uint1 x178; - uint32_t x179; - fiat_p224_uint1 x180; - uint32_t x181; - fiat_p224_uint1 x182; - uint32_t x183; - uint32_t x184; - uint32_t x185; - uint32_t x186; - uint32_t x187; - uint32_t x188; - uint32_t x189; - uint32_t x190; - uint32_t x191; - uint32_t x192; - uint32_t x193; - uint32_t x194; - uint32_t x195; - uint32_t x196; - uint32_t x197; - uint32_t x198; - uint32_t x199; - uint32_t x200; - uint32_t x201; - uint32_t x202; - uint32_t x203; - uint32_t x204; - fiat_p224_addcarryx_u32(&x1, &x2, 0x0, (~arg1), 0x1); - x3 = (fiat_p224_uint1)((fiat_p224_uint1)(x1 >> 31) & (fiat_p224_uint1)((arg3[0]) & 0x1)); - fiat_p224_addcarryx_u32(&x4, &x5, 0x0, (~arg1), 0x1); - fiat_p224_cmovznz_u32(&x6, x3, arg1, x4); - fiat_p224_cmovznz_u32(&x7, x3, (arg2[0]), (arg3[0])); - fiat_p224_cmovznz_u32(&x8, x3, (arg2[1]), (arg3[1])); - fiat_p224_cmovznz_u32(&x9, x3, (arg2[2]), (arg3[2])); - fiat_p224_cmovznz_u32(&x10, x3, (arg2[3]), (arg3[3])); - fiat_p224_cmovznz_u32(&x11, x3, (arg2[4]), (arg3[4])); - fiat_p224_cmovznz_u32(&x12, x3, (arg2[5]), (arg3[5])); - fiat_p224_cmovznz_u32(&x13, x3, (arg2[6]), (arg3[6])); - fiat_p224_cmovznz_u32(&x14, x3, (arg2[7]), (arg3[7])); - fiat_p224_addcarryx_u32(&x15, &x16, 0x0, 0x1, (~(arg2[0]))); - fiat_p224_addcarryx_u32(&x17, &x18, x16, 0x0, (~(arg2[1]))); - fiat_p224_addcarryx_u32(&x19, &x20, x18, 0x0, (~(arg2[2]))); - fiat_p224_addcarryx_u32(&x21, &x22, x20, 0x0, (~(arg2[3]))); - fiat_p224_addcarryx_u32(&x23, &x24, x22, 0x0, (~(arg2[4]))); - fiat_p224_addcarryx_u32(&x25, &x26, x24, 0x0, (~(arg2[5]))); - fiat_p224_addcarryx_u32(&x27, &x28, x26, 0x0, (~(arg2[6]))); - fiat_p224_addcarryx_u32(&x29, &x30, x28, 0x0, (~(arg2[7]))); - fiat_p224_cmovznz_u32(&x31, x3, (arg3[0]), x15); - fiat_p224_cmovznz_u32(&x32, x3, (arg3[1]), x17); - fiat_p224_cmovznz_u32(&x33, x3, (arg3[2]), x19); - fiat_p224_cmovznz_u32(&x34, x3, (arg3[3]), x21); - fiat_p224_cmovznz_u32(&x35, x3, (arg3[4]), x23); - fiat_p224_cmovznz_u32(&x36, x3, (arg3[5]), x25); - fiat_p224_cmovznz_u32(&x37, x3, (arg3[6]), x27); - fiat_p224_cmovznz_u32(&x38, x3, (arg3[7]), x29); - fiat_p224_cmovznz_u32(&x39, x3, (arg4[0]), (arg5[0])); - fiat_p224_cmovznz_u32(&x40, x3, (arg4[1]), (arg5[1])); - fiat_p224_cmovznz_u32(&x41, x3, (arg4[2]), (arg5[2])); - fiat_p224_cmovznz_u32(&x42, x3, (arg4[3]), (arg5[3])); - fiat_p224_cmovznz_u32(&x43, x3, (arg4[4]), (arg5[4])); - fiat_p224_cmovznz_u32(&x44, x3, (arg4[5]), (arg5[5])); - fiat_p224_cmovznz_u32(&x45, x3, (arg4[6]), (arg5[6])); - fiat_p224_addcarryx_u32(&x46, &x47, 0x0, x39, x39); - fiat_p224_addcarryx_u32(&x48, &x49, x47, x40, x40); - fiat_p224_addcarryx_u32(&x50, &x51, x49, x41, x41); - fiat_p224_addcarryx_u32(&x52, &x53, x51, x42, x42); - fiat_p224_addcarryx_u32(&x54, &x55, x53, x43, x43); - fiat_p224_addcarryx_u32(&x56, &x57, x55, x44, x44); - fiat_p224_addcarryx_u32(&x58, &x59, x57, x45, x45); - fiat_p224_subborrowx_u32(&x60, &x61, 0x0, x46, 0x1); - fiat_p224_subborrowx_u32(&x62, &x63, x61, x48, 0x0); - fiat_p224_subborrowx_u32(&x64, &x65, x63, x50, 0x0); - fiat_p224_subborrowx_u32(&x66, &x67, x65, x52, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x68, &x69, x67, x54, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x70, &x71, x69, x56, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x72, &x73, x71, x58, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x74, &x75, x73, x59, 0x0); - x76 = (arg4[6]); - x77 = (arg4[5]); - x78 = (arg4[4]); - x79 = (arg4[3]); - x80 = (arg4[2]); - x81 = (arg4[1]); - x82 = (arg4[0]); - fiat_p224_subborrowx_u32(&x83, &x84, 0x0, 0x0, x82); - fiat_p224_subborrowx_u32(&x85, &x86, x84, 0x0, x81); - fiat_p224_subborrowx_u32(&x87, &x88, x86, 0x0, x80); - fiat_p224_subborrowx_u32(&x89, &x90, x88, 0x0, x79); - fiat_p224_subborrowx_u32(&x91, &x92, x90, 0x0, x78); - fiat_p224_subborrowx_u32(&x93, &x94, x92, 0x0, x77); - fiat_p224_subborrowx_u32(&x95, &x96, x94, 0x0, x76); - fiat_p224_cmovznz_u32(&x97, x96, 0x0, UINT32_C(0xffffffff)); - fiat_p224_addcarryx_u32(&x98, &x99, 0x0, x83, (fiat_p224_uint1)(x97 & 0x1)); - fiat_p224_addcarryx_u32(&x100, &x101, x99, x85, 0x0); - fiat_p224_addcarryx_u32(&x102, &x103, x101, x87, 0x0); - fiat_p224_addcarryx_u32(&x104, &x105, x103, x89, x97); - fiat_p224_addcarryx_u32(&x106, &x107, x105, x91, x97); - fiat_p224_addcarryx_u32(&x108, &x109, x107, x93, x97); - fiat_p224_addcarryx_u32(&x110, &x111, x109, x95, x97); - fiat_p224_cmovznz_u32(&x112, x3, (arg5[0]), x98); - fiat_p224_cmovznz_u32(&x113, x3, (arg5[1]), x100); - fiat_p224_cmovznz_u32(&x114, x3, (arg5[2]), x102); - fiat_p224_cmovznz_u32(&x115, x3, (arg5[3]), x104); - fiat_p224_cmovznz_u32(&x116, x3, (arg5[4]), x106); - fiat_p224_cmovznz_u32(&x117, x3, (arg5[5]), x108); - fiat_p224_cmovznz_u32(&x118, x3, (arg5[6]), x110); - x119 = (fiat_p224_uint1)(x31 & 0x1); - fiat_p224_cmovznz_u32(&x120, x119, 0x0, x7); - fiat_p224_cmovznz_u32(&x121, x119, 0x0, x8); - fiat_p224_cmovznz_u32(&x122, x119, 0x0, x9); - fiat_p224_cmovznz_u32(&x123, x119, 0x0, x10); - fiat_p224_cmovznz_u32(&x124, x119, 0x0, x11); - fiat_p224_cmovznz_u32(&x125, x119, 0x0, x12); - fiat_p224_cmovznz_u32(&x126, x119, 0x0, x13); - fiat_p224_cmovznz_u32(&x127, x119, 0x0, x14); - fiat_p224_addcarryx_u32(&x128, &x129, 0x0, x31, x120); - fiat_p224_addcarryx_u32(&x130, &x131, x129, x32, x121); - fiat_p224_addcarryx_u32(&x132, &x133, x131, x33, x122); - fiat_p224_addcarryx_u32(&x134, &x135, x133, x34, x123); - fiat_p224_addcarryx_u32(&x136, &x137, x135, x35, x124); - fiat_p224_addcarryx_u32(&x138, &x139, x137, x36, x125); - fiat_p224_addcarryx_u32(&x140, &x141, x139, x37, x126); - fiat_p224_addcarryx_u32(&x142, &x143, x141, x38, x127); - fiat_p224_cmovznz_u32(&x144, x119, 0x0, x39); - fiat_p224_cmovznz_u32(&x145, x119, 0x0, x40); - fiat_p224_cmovznz_u32(&x146, x119, 0x0, x41); - fiat_p224_cmovznz_u32(&x147, x119, 0x0, x42); - fiat_p224_cmovznz_u32(&x148, x119, 0x0, x43); - fiat_p224_cmovznz_u32(&x149, x119, 0x0, x44); - fiat_p224_cmovznz_u32(&x150, x119, 0x0, x45); - fiat_p224_addcarryx_u32(&x151, &x152, 0x0, x112, x144); - fiat_p224_addcarryx_u32(&x153, &x154, x152, x113, x145); - fiat_p224_addcarryx_u32(&x155, &x156, x154, x114, x146); - fiat_p224_addcarryx_u32(&x157, &x158, x156, x115, x147); - fiat_p224_addcarryx_u32(&x159, &x160, x158, x116, x148); - fiat_p224_addcarryx_u32(&x161, &x162, x160, x117, x149); - fiat_p224_addcarryx_u32(&x163, &x164, x162, x118, x150); - fiat_p224_subborrowx_u32(&x165, &x166, 0x0, x151, 0x1); - fiat_p224_subborrowx_u32(&x167, &x168, x166, x153, 0x0); - fiat_p224_subborrowx_u32(&x169, &x170, x168, x155, 0x0); - fiat_p224_subborrowx_u32(&x171, &x172, x170, x157, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x173, &x174, x172, x159, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x175, &x176, x174, x161, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x177, &x178, x176, x163, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u32(&x179, &x180, x178, x164, 0x0); - fiat_p224_addcarryx_u32(&x181, &x182, 0x0, x6, 0x1); - x183 = ((x128 >> 1) | ((x130 << 31) & UINT32_C(0xffffffff))); - x184 = ((x130 >> 1) | ((x132 << 31) & UINT32_C(0xffffffff))); - x185 = ((x132 >> 1) | ((x134 << 31) & UINT32_C(0xffffffff))); - x186 = ((x134 >> 1) | ((x136 << 31) & UINT32_C(0xffffffff))); - x187 = ((x136 >> 1) | ((x138 << 31) & UINT32_C(0xffffffff))); - x188 = ((x138 >> 1) | ((x140 << 31) & UINT32_C(0xffffffff))); - x189 = ((x140 >> 1) | ((x142 << 31) & UINT32_C(0xffffffff))); - x190 = ((x142 & UINT32_C(0x80000000)) | (x142 >> 1)); - fiat_p224_cmovznz_u32(&x191, x75, x60, x46); - fiat_p224_cmovznz_u32(&x192, x75, x62, x48); - fiat_p224_cmovznz_u32(&x193, x75, x64, x50); - fiat_p224_cmovznz_u32(&x194, x75, x66, x52); - fiat_p224_cmovznz_u32(&x195, x75, x68, x54); - fiat_p224_cmovznz_u32(&x196, x75, x70, x56); - fiat_p224_cmovznz_u32(&x197, x75, x72, x58); - fiat_p224_cmovznz_u32(&x198, x180, x165, x151); - fiat_p224_cmovznz_u32(&x199, x180, x167, x153); - fiat_p224_cmovznz_u32(&x200, x180, x169, x155); - fiat_p224_cmovznz_u32(&x201, x180, x171, x157); - fiat_p224_cmovznz_u32(&x202, x180, x173, x159); - fiat_p224_cmovznz_u32(&x203, x180, x175, x161); - fiat_p224_cmovznz_u32(&x204, x180, x177, x163); - *out1 = x181; - out2[0] = x7; - out2[1] = x8; - out2[2] = x9; - out2[3] = x10; - out2[4] = x11; - out2[5] = x12; - out2[6] = x13; - out2[7] = x14; - out3[0] = x183; - out3[1] = x184; - out3[2] = x185; - out3[3] = x186; - out3[4] = x187; - out3[5] = x188; - out3[6] = x189; - out3[7] = x190; - out4[0] = x191; - out4[1] = x192; - out4[2] = x193; - out4[3] = x194; - out4[4] = x195; - out4[5] = x196; - out4[6] = x197; - out5[0] = x198; - out5[1] = x199; - out5[2] = x200; - out5[3] = x201; - out5[4] = x202; - out5[5] = x203; - out5[6] = x204; -} diff --git a/ec/native/p224_64.h b/ec/native/p224_64.h deleted file mode 100644 index 76b0d84d..00000000 --- a/ec/native/p224_64.h +++ /dev/null @@ -1,2073 +0,0 @@ -/* Autogenerated: '../fiat-crypto/src/ExtractionOCaml/word_by_word_montgomery' --static --use-value-barrier --inline-internal p224 64 '2^224 - 2^96 + 1' */ -/* curve description: p224 */ -/* machine_wordsize = 64 (from "64") */ -/* requested operations: (all) */ -/* m = 0xffffffffffffffffffffffffffffffff000000000000000000000001 (from "2^224 - 2^96 + 1") */ -/* */ -/* NOTE: In addition to the bounds specified above each function, all */ -/* functions synthesized for this Montgomery arithmetic require the */ -/* input to be strictly less than the prime modulus (m), and also */ -/* require the input to be in the unique saturated representation. */ -/* All functions also ensure that these two properties are true of */ -/* return values. */ -/* */ -/* Computed values: */ -/* eval z = z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) */ -/* bytes_eval z = z[0] + (z[1] << 8) + (z[2] << 16) + (z[3] << 24) + (z[4] << 32) + (z[5] << 40) + (z[6] << 48) + (z[7] << 56) + (z[8] << 64) + (z[9] << 72) + (z[10] << 80) + (z[11] << 88) + (z[12] << 96) + (z[13] << 104) + (z[14] << 112) + (z[15] << 120) + (z[16] << 128) + (z[17] << 136) + (z[18] << 144) + (z[19] << 152) + (z[20] << 160) + (z[21] << 168) + (z[22] << 176) + (z[23] << 184) + (z[24] << 192) + (z[25] << 200) + (z[26] << 208) + (z[27] << 216) */ -/* twos_complement_eval z = let x1 := z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) in */ -/* if x1 & (2^256-1) < 2^255 then x1 & (2^256-1) else (x1 & (2^256-1)) - 2^256 */ - -#include -typedef unsigned char fiat_p224_uint1; -typedef signed char fiat_p224_int1; -#if defined(__GNUC__) || defined(__clang__) -# define FIAT_P224_FIAT_EXTENSION __extension__ -# define FIAT_P224_FIAT_INLINE __inline__ -#else -# define FIAT_P224_FIAT_EXTENSION -# define FIAT_P224_FIAT_INLINE -#endif - -FIAT_P224_FIAT_EXTENSION typedef signed __int128 fiat_p224_int128; -FIAT_P224_FIAT_EXTENSION typedef unsigned __int128 fiat_p224_uint128; - -/* The type fiat_p224_montgomery_domain_field_element is a field element in the Montgomery domain. */ -/* Bounds: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] */ -typedef uint64_t fiat_p224_montgomery_domain_field_element[4]; - -/* The type fiat_p224_non_montgomery_domain_field_element is a field element NOT in the Montgomery domain. */ -/* Bounds: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] */ -typedef uint64_t fiat_p224_non_montgomery_domain_field_element[4]; - -#if (-1 & 3) != 3 -#error "This code only works on a two's complement system" -#endif - -#if !defined(FIAT_P224_NO_ASM) && (defined(__GNUC__) || defined(__clang__)) -static __inline__ uint64_t fiat_p224_value_barrier_u64(uint64_t a) { - __asm__("" : "+r"(a) : /* no inputs */); - return a; -} -#else -# define fiat_p224_value_barrier_u64(x) (x) -#endif - - -/* - * The function fiat_p224_addcarryx_u64 is an addition with carry. - * - * Postconditions: - * out1 = (arg1 + arg2 + arg3) mod 2^64 - * out2 = ⌊(arg1 + arg2 + arg3) / 2^64⌋ - * - * Input Bounds: - * arg1: [0x0 ~> 0x1] - * arg2: [0x0 ~> 0xffffffffffffffff] - * arg3: [0x0 ~> 0xffffffffffffffff] - * Output Bounds: - * out1: [0x0 ~> 0xffffffffffffffff] - * out2: [0x0 ~> 0x1] - */ -static FIAT_P224_FIAT_INLINE void fiat_p224_addcarryx_u64(uint64_t* out1, fiat_p224_uint1* out2, fiat_p224_uint1 arg1, uint64_t arg2, uint64_t arg3) { - fiat_p224_uint128 x1; - uint64_t x2; - fiat_p224_uint1 x3; - x1 = ((arg1 + (fiat_p224_uint128)arg2) + arg3); - x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff)); - x3 = (fiat_p224_uint1)(x1 >> 64); - *out1 = x2; - *out2 = x3; -} - -/* - * The function fiat_p224_subborrowx_u64 is a subtraction with borrow. - * - * Postconditions: - * out1 = (-arg1 + arg2 + -arg3) mod 2^64 - * out2 = -⌊(-arg1 + arg2 + -arg3) / 2^64⌋ - * - * Input Bounds: - * arg1: [0x0 ~> 0x1] - * arg2: [0x0 ~> 0xffffffffffffffff] - * arg3: [0x0 ~> 0xffffffffffffffff] - * Output Bounds: - * out1: [0x0 ~> 0xffffffffffffffff] - * out2: [0x0 ~> 0x1] - */ -static FIAT_P224_FIAT_INLINE void fiat_p224_subborrowx_u64(uint64_t* out1, fiat_p224_uint1* out2, fiat_p224_uint1 arg1, uint64_t arg2, uint64_t arg3) { - fiat_p224_int128 x1; - fiat_p224_int1 x2; - uint64_t x3; - x1 = ((arg2 - (fiat_p224_int128)arg1) - arg3); - x2 = (fiat_p224_int1)(x1 >> 64); - x3 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff)); - *out1 = x3; - *out2 = (fiat_p224_uint1)(0x0 - x2); -} - -/* - * The function fiat_p224_mulx_u64 is a multiplication, returning the full double-width result. - * - * Postconditions: - * out1 = (arg1 * arg2) mod 2^64 - * out2 = ⌊arg1 * arg2 / 2^64⌋ - * - * Input Bounds: - * arg1: [0x0 ~> 0xffffffffffffffff] - * arg2: [0x0 ~> 0xffffffffffffffff] - * Output Bounds: - * out1: [0x0 ~> 0xffffffffffffffff] - * out2: [0x0 ~> 0xffffffffffffffff] - */ -static FIAT_P224_FIAT_INLINE void fiat_p224_mulx_u64(uint64_t* out1, uint64_t* out2, uint64_t arg1, uint64_t arg2) { - fiat_p224_uint128 x1; - uint64_t x2; - uint64_t x3; - x1 = ((fiat_p224_uint128)arg1 * arg2); - x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff)); - x3 = (uint64_t)(x1 >> 64); - *out1 = x2; - *out2 = x3; -} - -/* - * The function fiat_p224_cmovznz_u64 is a single-word conditional move. - * - * Postconditions: - * out1 = (if arg1 = 0 then arg2 else arg3) - * - * Input Bounds: - * arg1: [0x0 ~> 0x1] - * arg2: [0x0 ~> 0xffffffffffffffff] - * arg3: [0x0 ~> 0xffffffffffffffff] - * Output Bounds: - * out1: [0x0 ~> 0xffffffffffffffff] - */ -static FIAT_P224_FIAT_INLINE void fiat_p224_cmovznz_u64(uint64_t* out1, fiat_p224_uint1 arg1, uint64_t arg2, uint64_t arg3) { - fiat_p224_uint1 x1; - uint64_t x2; - uint64_t x3; - x1 = (!(!arg1)); - x2 = ((fiat_p224_int1)(0x0 - x1) & UINT64_C(0xffffffffffffffff)); - x3 = ((fiat_p224_value_barrier_u64(x2) & arg3) | (fiat_p224_value_barrier_u64((~x2)) & arg2)); - *out1 = x3; -} - -/* - * The function fiat_p224_mul multiplies two field elements in the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * 0 ≤ eval arg2 < m - * Postconditions: - * eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_p224_mul(fiat_p224_montgomery_domain_field_element out1, const fiat_p224_montgomery_domain_field_element arg1, const fiat_p224_montgomery_domain_field_element arg2) { - uint64_t x1; - uint64_t x2; - uint64_t x3; - uint64_t x4; - uint64_t x5; - uint64_t x6; - uint64_t x7; - uint64_t x8; - uint64_t x9; - uint64_t x10; - uint64_t x11; - uint64_t x12; - uint64_t x13; - fiat_p224_uint1 x14; - uint64_t x15; - fiat_p224_uint1 x16; - uint64_t x17; - fiat_p224_uint1 x18; - uint64_t x19; - uint64_t x20; - uint64_t x21; - uint64_t x22; - uint64_t x23; - uint64_t x24; - uint64_t x25; - uint64_t x26; - uint64_t x27; - uint64_t x28; - fiat_p224_uint1 x29; - uint64_t x30; - fiat_p224_uint1 x31; - uint64_t x32; - uint64_t x33; - fiat_p224_uint1 x34; - uint64_t x35; - fiat_p224_uint1 x36; - uint64_t x37; - fiat_p224_uint1 x38; - uint64_t x39; - fiat_p224_uint1 x40; - uint64_t x41; - fiat_p224_uint1 x42; - uint64_t x43; - uint64_t x44; - uint64_t x45; - uint64_t x46; - uint64_t x47; - uint64_t x48; - uint64_t x49; - uint64_t x50; - uint64_t x51; - fiat_p224_uint1 x52; - uint64_t x53; - fiat_p224_uint1 x54; - uint64_t x55; - fiat_p224_uint1 x56; - uint64_t x57; - uint64_t x58; - fiat_p224_uint1 x59; - uint64_t x60; - fiat_p224_uint1 x61; - uint64_t x62; - fiat_p224_uint1 x63; - uint64_t x64; - fiat_p224_uint1 x65; - uint64_t x66; - fiat_p224_uint1 x67; - uint64_t x68; - uint64_t x69; - uint64_t x70; - uint64_t x71; - uint64_t x72; - uint64_t x73; - uint64_t x74; - uint64_t x75; - uint64_t x76; - fiat_p224_uint1 x77; - uint64_t x78; - fiat_p224_uint1 x79; - uint64_t x80; - uint64_t x81; - fiat_p224_uint1 x82; - uint64_t x83; - fiat_p224_uint1 x84; - uint64_t x85; - fiat_p224_uint1 x86; - uint64_t x87; - fiat_p224_uint1 x88; - uint64_t x89; - fiat_p224_uint1 x90; - uint64_t x91; - uint64_t x92; - uint64_t x93; - uint64_t x94; - uint64_t x95; - uint64_t x96; - uint64_t x97; - uint64_t x98; - uint64_t x99; - uint64_t x100; - fiat_p224_uint1 x101; - uint64_t x102; - fiat_p224_uint1 x103; - uint64_t x104; - fiat_p224_uint1 x105; - uint64_t x106; - uint64_t x107; - fiat_p224_uint1 x108; - uint64_t x109; - fiat_p224_uint1 x110; - uint64_t x111; - fiat_p224_uint1 x112; - uint64_t x113; - fiat_p224_uint1 x114; - uint64_t x115; - fiat_p224_uint1 x116; - uint64_t x117; - uint64_t x118; - uint64_t x119; - uint64_t x120; - uint64_t x121; - uint64_t x122; - uint64_t x123; - uint64_t x124; - uint64_t x125; - fiat_p224_uint1 x126; - uint64_t x127; - fiat_p224_uint1 x128; - uint64_t x129; - uint64_t x130; - fiat_p224_uint1 x131; - uint64_t x132; - fiat_p224_uint1 x133; - uint64_t x134; - fiat_p224_uint1 x135; - uint64_t x136; - fiat_p224_uint1 x137; - uint64_t x138; - fiat_p224_uint1 x139; - uint64_t x140; - uint64_t x141; - uint64_t x142; - uint64_t x143; - uint64_t x144; - uint64_t x145; - uint64_t x146; - uint64_t x147; - uint64_t x148; - uint64_t x149; - fiat_p224_uint1 x150; - uint64_t x151; - fiat_p224_uint1 x152; - uint64_t x153; - fiat_p224_uint1 x154; - uint64_t x155; - uint64_t x156; - fiat_p224_uint1 x157; - uint64_t x158; - fiat_p224_uint1 x159; - uint64_t x160; - fiat_p224_uint1 x161; - uint64_t x162; - fiat_p224_uint1 x163; - uint64_t x164; - fiat_p224_uint1 x165; - uint64_t x166; - uint64_t x167; - uint64_t x168; - uint64_t x169; - uint64_t x170; - uint64_t x171; - uint64_t x172; - uint64_t x173; - uint64_t x174; - fiat_p224_uint1 x175; - uint64_t x176; - fiat_p224_uint1 x177; - uint64_t x178; - uint64_t x179; - fiat_p224_uint1 x180; - uint64_t x181; - fiat_p224_uint1 x182; - uint64_t x183; - fiat_p224_uint1 x184; - uint64_t x185; - fiat_p224_uint1 x186; - uint64_t x187; - fiat_p224_uint1 x188; - uint64_t x189; - uint64_t x190; - fiat_p224_uint1 x191; - uint64_t x192; - fiat_p224_uint1 x193; - uint64_t x194; - fiat_p224_uint1 x195; - uint64_t x196; - fiat_p224_uint1 x197; - uint64_t x198; - fiat_p224_uint1 x199; - uint64_t x200; - uint64_t x201; - uint64_t x202; - uint64_t x203; - x1 = (arg1[1]); - x2 = (arg1[2]); - x3 = (arg1[3]); - x4 = (arg1[0]); - fiat_p224_mulx_u64(&x5, &x6, x4, (arg2[3])); - fiat_p224_mulx_u64(&x7, &x8, x4, (arg2[2])); - fiat_p224_mulx_u64(&x9, &x10, x4, (arg2[1])); - fiat_p224_mulx_u64(&x11, &x12, x4, (arg2[0])); - fiat_p224_addcarryx_u64(&x13, &x14, 0x0, x12, x9); - fiat_p224_addcarryx_u64(&x15, &x16, x14, x10, x7); - fiat_p224_addcarryx_u64(&x17, &x18, x16, x8, x5); - x19 = (x18 + x6); - fiat_p224_mulx_u64(&x20, &x21, x11, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x22, &x23, x20, UINT32_C(0xffffffff)); - fiat_p224_mulx_u64(&x24, &x25, x20, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x26, &x27, x20, UINT64_C(0xffffffff00000000)); - fiat_p224_addcarryx_u64(&x28, &x29, 0x0, x27, x24); - fiat_p224_addcarryx_u64(&x30, &x31, x29, x25, x22); - x32 = (x31 + x23); - fiat_p224_addcarryx_u64(&x33, &x34, 0x0, x11, x20); - fiat_p224_addcarryx_u64(&x35, &x36, x34, x13, x26); - fiat_p224_addcarryx_u64(&x37, &x38, x36, x15, x28); - fiat_p224_addcarryx_u64(&x39, &x40, x38, x17, x30); - fiat_p224_addcarryx_u64(&x41, &x42, x40, x19, x32); - fiat_p224_mulx_u64(&x43, &x44, x1, (arg2[3])); - fiat_p224_mulx_u64(&x45, &x46, x1, (arg2[2])); - fiat_p224_mulx_u64(&x47, &x48, x1, (arg2[1])); - fiat_p224_mulx_u64(&x49, &x50, x1, (arg2[0])); - fiat_p224_addcarryx_u64(&x51, &x52, 0x0, x50, x47); - fiat_p224_addcarryx_u64(&x53, &x54, x52, x48, x45); - fiat_p224_addcarryx_u64(&x55, &x56, x54, x46, x43); - x57 = (x56 + x44); - fiat_p224_addcarryx_u64(&x58, &x59, 0x0, x35, x49); - fiat_p224_addcarryx_u64(&x60, &x61, x59, x37, x51); - fiat_p224_addcarryx_u64(&x62, &x63, x61, x39, x53); - fiat_p224_addcarryx_u64(&x64, &x65, x63, x41, x55); - fiat_p224_addcarryx_u64(&x66, &x67, x65, x42, x57); - fiat_p224_mulx_u64(&x68, &x69, x58, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x70, &x71, x68, UINT32_C(0xffffffff)); - fiat_p224_mulx_u64(&x72, &x73, x68, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x74, &x75, x68, UINT64_C(0xffffffff00000000)); - fiat_p224_addcarryx_u64(&x76, &x77, 0x0, x75, x72); - fiat_p224_addcarryx_u64(&x78, &x79, x77, x73, x70); - x80 = (x79 + x71); - fiat_p224_addcarryx_u64(&x81, &x82, 0x0, x58, x68); - fiat_p224_addcarryx_u64(&x83, &x84, x82, x60, x74); - fiat_p224_addcarryx_u64(&x85, &x86, x84, x62, x76); - fiat_p224_addcarryx_u64(&x87, &x88, x86, x64, x78); - fiat_p224_addcarryx_u64(&x89, &x90, x88, x66, x80); - x91 = ((uint64_t)x90 + x67); - fiat_p224_mulx_u64(&x92, &x93, x2, (arg2[3])); - fiat_p224_mulx_u64(&x94, &x95, x2, (arg2[2])); - fiat_p224_mulx_u64(&x96, &x97, x2, (arg2[1])); - fiat_p224_mulx_u64(&x98, &x99, x2, (arg2[0])); - fiat_p224_addcarryx_u64(&x100, &x101, 0x0, x99, x96); - fiat_p224_addcarryx_u64(&x102, &x103, x101, x97, x94); - fiat_p224_addcarryx_u64(&x104, &x105, x103, x95, x92); - x106 = (x105 + x93); - fiat_p224_addcarryx_u64(&x107, &x108, 0x0, x83, x98); - fiat_p224_addcarryx_u64(&x109, &x110, x108, x85, x100); - fiat_p224_addcarryx_u64(&x111, &x112, x110, x87, x102); - fiat_p224_addcarryx_u64(&x113, &x114, x112, x89, x104); - fiat_p224_addcarryx_u64(&x115, &x116, x114, x91, x106); - fiat_p224_mulx_u64(&x117, &x118, x107, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x119, &x120, x117, UINT32_C(0xffffffff)); - fiat_p224_mulx_u64(&x121, &x122, x117, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x123, &x124, x117, UINT64_C(0xffffffff00000000)); - fiat_p224_addcarryx_u64(&x125, &x126, 0x0, x124, x121); - fiat_p224_addcarryx_u64(&x127, &x128, x126, x122, x119); - x129 = (x128 + x120); - fiat_p224_addcarryx_u64(&x130, &x131, 0x0, x107, x117); - fiat_p224_addcarryx_u64(&x132, &x133, x131, x109, x123); - fiat_p224_addcarryx_u64(&x134, &x135, x133, x111, x125); - fiat_p224_addcarryx_u64(&x136, &x137, x135, x113, x127); - fiat_p224_addcarryx_u64(&x138, &x139, x137, x115, x129); - x140 = ((uint64_t)x139 + x116); - fiat_p224_mulx_u64(&x141, &x142, x3, (arg2[3])); - fiat_p224_mulx_u64(&x143, &x144, x3, (arg2[2])); - fiat_p224_mulx_u64(&x145, &x146, x3, (arg2[1])); - fiat_p224_mulx_u64(&x147, &x148, x3, (arg2[0])); - fiat_p224_addcarryx_u64(&x149, &x150, 0x0, x148, x145); - fiat_p224_addcarryx_u64(&x151, &x152, x150, x146, x143); - fiat_p224_addcarryx_u64(&x153, &x154, x152, x144, x141); - x155 = (x154 + x142); - fiat_p224_addcarryx_u64(&x156, &x157, 0x0, x132, x147); - fiat_p224_addcarryx_u64(&x158, &x159, x157, x134, x149); - fiat_p224_addcarryx_u64(&x160, &x161, x159, x136, x151); - fiat_p224_addcarryx_u64(&x162, &x163, x161, x138, x153); - fiat_p224_addcarryx_u64(&x164, &x165, x163, x140, x155); - fiat_p224_mulx_u64(&x166, &x167, x156, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x168, &x169, x166, UINT32_C(0xffffffff)); - fiat_p224_mulx_u64(&x170, &x171, x166, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x172, &x173, x166, UINT64_C(0xffffffff00000000)); - fiat_p224_addcarryx_u64(&x174, &x175, 0x0, x173, x170); - fiat_p224_addcarryx_u64(&x176, &x177, x175, x171, x168); - x178 = (x177 + x169); - fiat_p224_addcarryx_u64(&x179, &x180, 0x0, x156, x166); - fiat_p224_addcarryx_u64(&x181, &x182, x180, x158, x172); - fiat_p224_addcarryx_u64(&x183, &x184, x182, x160, x174); - fiat_p224_addcarryx_u64(&x185, &x186, x184, x162, x176); - fiat_p224_addcarryx_u64(&x187, &x188, x186, x164, x178); - x189 = ((uint64_t)x188 + x165); - fiat_p224_subborrowx_u64(&x190, &x191, 0x0, x181, 0x1); - fiat_p224_subborrowx_u64(&x192, &x193, x191, x183, UINT64_C(0xffffffff00000000)); - fiat_p224_subborrowx_u64(&x194, &x195, x193, x185, UINT64_C(0xffffffffffffffff)); - fiat_p224_subborrowx_u64(&x196, &x197, x195, x187, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u64(&x198, &x199, x197, x189, 0x0); - fiat_p224_cmovznz_u64(&x200, x199, x190, x181); - fiat_p224_cmovznz_u64(&x201, x199, x192, x183); - fiat_p224_cmovznz_u64(&x202, x199, x194, x185); - fiat_p224_cmovznz_u64(&x203, x199, x196, x187); - out1[0] = x200; - out1[1] = x201; - out1[2] = x202; - out1[3] = x203; -} - -/* - * The function fiat_p224_square squares a field element in the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * Postconditions: - * eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_p224_square(fiat_p224_montgomery_domain_field_element out1, const fiat_p224_montgomery_domain_field_element arg1) { - uint64_t x1; - uint64_t x2; - uint64_t x3; - uint64_t x4; - uint64_t x5; - uint64_t x6; - uint64_t x7; - uint64_t x8; - uint64_t x9; - uint64_t x10; - uint64_t x11; - uint64_t x12; - uint64_t x13; - fiat_p224_uint1 x14; - uint64_t x15; - fiat_p224_uint1 x16; - uint64_t x17; - fiat_p224_uint1 x18; - uint64_t x19; - uint64_t x20; - uint64_t x21; - uint64_t x22; - uint64_t x23; - uint64_t x24; - uint64_t x25; - uint64_t x26; - uint64_t x27; - uint64_t x28; - fiat_p224_uint1 x29; - uint64_t x30; - fiat_p224_uint1 x31; - uint64_t x32; - uint64_t x33; - fiat_p224_uint1 x34; - uint64_t x35; - fiat_p224_uint1 x36; - uint64_t x37; - fiat_p224_uint1 x38; - uint64_t x39; - fiat_p224_uint1 x40; - uint64_t x41; - fiat_p224_uint1 x42; - uint64_t x43; - uint64_t x44; - uint64_t x45; - uint64_t x46; - uint64_t x47; - uint64_t x48; - uint64_t x49; - uint64_t x50; - uint64_t x51; - fiat_p224_uint1 x52; - uint64_t x53; - fiat_p224_uint1 x54; - uint64_t x55; - fiat_p224_uint1 x56; - uint64_t x57; - uint64_t x58; - fiat_p224_uint1 x59; - uint64_t x60; - fiat_p224_uint1 x61; - uint64_t x62; - fiat_p224_uint1 x63; - uint64_t x64; - fiat_p224_uint1 x65; - uint64_t x66; - fiat_p224_uint1 x67; - uint64_t x68; - uint64_t x69; - uint64_t x70; - uint64_t x71; - uint64_t x72; - uint64_t x73; - uint64_t x74; - uint64_t x75; - uint64_t x76; - fiat_p224_uint1 x77; - uint64_t x78; - fiat_p224_uint1 x79; - uint64_t x80; - uint64_t x81; - fiat_p224_uint1 x82; - uint64_t x83; - fiat_p224_uint1 x84; - uint64_t x85; - fiat_p224_uint1 x86; - uint64_t x87; - fiat_p224_uint1 x88; - uint64_t x89; - fiat_p224_uint1 x90; - uint64_t x91; - uint64_t x92; - uint64_t x93; - uint64_t x94; - uint64_t x95; - uint64_t x96; - uint64_t x97; - uint64_t x98; - uint64_t x99; - uint64_t x100; - fiat_p224_uint1 x101; - uint64_t x102; - fiat_p224_uint1 x103; - uint64_t x104; - fiat_p224_uint1 x105; - uint64_t x106; - uint64_t x107; - fiat_p224_uint1 x108; - uint64_t x109; - fiat_p224_uint1 x110; - uint64_t x111; - fiat_p224_uint1 x112; - uint64_t x113; - fiat_p224_uint1 x114; - uint64_t x115; - fiat_p224_uint1 x116; - uint64_t x117; - uint64_t x118; - uint64_t x119; - uint64_t x120; - uint64_t x121; - uint64_t x122; - uint64_t x123; - uint64_t x124; - uint64_t x125; - fiat_p224_uint1 x126; - uint64_t x127; - fiat_p224_uint1 x128; - uint64_t x129; - uint64_t x130; - fiat_p224_uint1 x131; - uint64_t x132; - fiat_p224_uint1 x133; - uint64_t x134; - fiat_p224_uint1 x135; - uint64_t x136; - fiat_p224_uint1 x137; - uint64_t x138; - fiat_p224_uint1 x139; - uint64_t x140; - uint64_t x141; - uint64_t x142; - uint64_t x143; - uint64_t x144; - uint64_t x145; - uint64_t x146; - uint64_t x147; - uint64_t x148; - uint64_t x149; - fiat_p224_uint1 x150; - uint64_t x151; - fiat_p224_uint1 x152; - uint64_t x153; - fiat_p224_uint1 x154; - uint64_t x155; - uint64_t x156; - fiat_p224_uint1 x157; - uint64_t x158; - fiat_p224_uint1 x159; - uint64_t x160; - fiat_p224_uint1 x161; - uint64_t x162; - fiat_p224_uint1 x163; - uint64_t x164; - fiat_p224_uint1 x165; - uint64_t x166; - uint64_t x167; - uint64_t x168; - uint64_t x169; - uint64_t x170; - uint64_t x171; - uint64_t x172; - uint64_t x173; - uint64_t x174; - fiat_p224_uint1 x175; - uint64_t x176; - fiat_p224_uint1 x177; - uint64_t x178; - uint64_t x179; - fiat_p224_uint1 x180; - uint64_t x181; - fiat_p224_uint1 x182; - uint64_t x183; - fiat_p224_uint1 x184; - uint64_t x185; - fiat_p224_uint1 x186; - uint64_t x187; - fiat_p224_uint1 x188; - uint64_t x189; - uint64_t x190; - fiat_p224_uint1 x191; - uint64_t x192; - fiat_p224_uint1 x193; - uint64_t x194; - fiat_p224_uint1 x195; - uint64_t x196; - fiat_p224_uint1 x197; - uint64_t x198; - fiat_p224_uint1 x199; - uint64_t x200; - uint64_t x201; - uint64_t x202; - uint64_t x203; - x1 = (arg1[1]); - x2 = (arg1[2]); - x3 = (arg1[3]); - x4 = (arg1[0]); - fiat_p224_mulx_u64(&x5, &x6, x4, (arg1[3])); - fiat_p224_mulx_u64(&x7, &x8, x4, (arg1[2])); - fiat_p224_mulx_u64(&x9, &x10, x4, (arg1[1])); - fiat_p224_mulx_u64(&x11, &x12, x4, (arg1[0])); - fiat_p224_addcarryx_u64(&x13, &x14, 0x0, x12, x9); - fiat_p224_addcarryx_u64(&x15, &x16, x14, x10, x7); - fiat_p224_addcarryx_u64(&x17, &x18, x16, x8, x5); - x19 = (x18 + x6); - fiat_p224_mulx_u64(&x20, &x21, x11, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x22, &x23, x20, UINT32_C(0xffffffff)); - fiat_p224_mulx_u64(&x24, &x25, x20, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x26, &x27, x20, UINT64_C(0xffffffff00000000)); - fiat_p224_addcarryx_u64(&x28, &x29, 0x0, x27, x24); - fiat_p224_addcarryx_u64(&x30, &x31, x29, x25, x22); - x32 = (x31 + x23); - fiat_p224_addcarryx_u64(&x33, &x34, 0x0, x11, x20); - fiat_p224_addcarryx_u64(&x35, &x36, x34, x13, x26); - fiat_p224_addcarryx_u64(&x37, &x38, x36, x15, x28); - fiat_p224_addcarryx_u64(&x39, &x40, x38, x17, x30); - fiat_p224_addcarryx_u64(&x41, &x42, x40, x19, x32); - fiat_p224_mulx_u64(&x43, &x44, x1, (arg1[3])); - fiat_p224_mulx_u64(&x45, &x46, x1, (arg1[2])); - fiat_p224_mulx_u64(&x47, &x48, x1, (arg1[1])); - fiat_p224_mulx_u64(&x49, &x50, x1, (arg1[0])); - fiat_p224_addcarryx_u64(&x51, &x52, 0x0, x50, x47); - fiat_p224_addcarryx_u64(&x53, &x54, x52, x48, x45); - fiat_p224_addcarryx_u64(&x55, &x56, x54, x46, x43); - x57 = (x56 + x44); - fiat_p224_addcarryx_u64(&x58, &x59, 0x0, x35, x49); - fiat_p224_addcarryx_u64(&x60, &x61, x59, x37, x51); - fiat_p224_addcarryx_u64(&x62, &x63, x61, x39, x53); - fiat_p224_addcarryx_u64(&x64, &x65, x63, x41, x55); - fiat_p224_addcarryx_u64(&x66, &x67, x65, x42, x57); - fiat_p224_mulx_u64(&x68, &x69, x58, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x70, &x71, x68, UINT32_C(0xffffffff)); - fiat_p224_mulx_u64(&x72, &x73, x68, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x74, &x75, x68, UINT64_C(0xffffffff00000000)); - fiat_p224_addcarryx_u64(&x76, &x77, 0x0, x75, x72); - fiat_p224_addcarryx_u64(&x78, &x79, x77, x73, x70); - x80 = (x79 + x71); - fiat_p224_addcarryx_u64(&x81, &x82, 0x0, x58, x68); - fiat_p224_addcarryx_u64(&x83, &x84, x82, x60, x74); - fiat_p224_addcarryx_u64(&x85, &x86, x84, x62, x76); - fiat_p224_addcarryx_u64(&x87, &x88, x86, x64, x78); - fiat_p224_addcarryx_u64(&x89, &x90, x88, x66, x80); - x91 = ((uint64_t)x90 + x67); - fiat_p224_mulx_u64(&x92, &x93, x2, (arg1[3])); - fiat_p224_mulx_u64(&x94, &x95, x2, (arg1[2])); - fiat_p224_mulx_u64(&x96, &x97, x2, (arg1[1])); - fiat_p224_mulx_u64(&x98, &x99, x2, (arg1[0])); - fiat_p224_addcarryx_u64(&x100, &x101, 0x0, x99, x96); - fiat_p224_addcarryx_u64(&x102, &x103, x101, x97, x94); - fiat_p224_addcarryx_u64(&x104, &x105, x103, x95, x92); - x106 = (x105 + x93); - fiat_p224_addcarryx_u64(&x107, &x108, 0x0, x83, x98); - fiat_p224_addcarryx_u64(&x109, &x110, x108, x85, x100); - fiat_p224_addcarryx_u64(&x111, &x112, x110, x87, x102); - fiat_p224_addcarryx_u64(&x113, &x114, x112, x89, x104); - fiat_p224_addcarryx_u64(&x115, &x116, x114, x91, x106); - fiat_p224_mulx_u64(&x117, &x118, x107, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x119, &x120, x117, UINT32_C(0xffffffff)); - fiat_p224_mulx_u64(&x121, &x122, x117, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x123, &x124, x117, UINT64_C(0xffffffff00000000)); - fiat_p224_addcarryx_u64(&x125, &x126, 0x0, x124, x121); - fiat_p224_addcarryx_u64(&x127, &x128, x126, x122, x119); - x129 = (x128 + x120); - fiat_p224_addcarryx_u64(&x130, &x131, 0x0, x107, x117); - fiat_p224_addcarryx_u64(&x132, &x133, x131, x109, x123); - fiat_p224_addcarryx_u64(&x134, &x135, x133, x111, x125); - fiat_p224_addcarryx_u64(&x136, &x137, x135, x113, x127); - fiat_p224_addcarryx_u64(&x138, &x139, x137, x115, x129); - x140 = ((uint64_t)x139 + x116); - fiat_p224_mulx_u64(&x141, &x142, x3, (arg1[3])); - fiat_p224_mulx_u64(&x143, &x144, x3, (arg1[2])); - fiat_p224_mulx_u64(&x145, &x146, x3, (arg1[1])); - fiat_p224_mulx_u64(&x147, &x148, x3, (arg1[0])); - fiat_p224_addcarryx_u64(&x149, &x150, 0x0, x148, x145); - fiat_p224_addcarryx_u64(&x151, &x152, x150, x146, x143); - fiat_p224_addcarryx_u64(&x153, &x154, x152, x144, x141); - x155 = (x154 + x142); - fiat_p224_addcarryx_u64(&x156, &x157, 0x0, x132, x147); - fiat_p224_addcarryx_u64(&x158, &x159, x157, x134, x149); - fiat_p224_addcarryx_u64(&x160, &x161, x159, x136, x151); - fiat_p224_addcarryx_u64(&x162, &x163, x161, x138, x153); - fiat_p224_addcarryx_u64(&x164, &x165, x163, x140, x155); - fiat_p224_mulx_u64(&x166, &x167, x156, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x168, &x169, x166, UINT32_C(0xffffffff)); - fiat_p224_mulx_u64(&x170, &x171, x166, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x172, &x173, x166, UINT64_C(0xffffffff00000000)); - fiat_p224_addcarryx_u64(&x174, &x175, 0x0, x173, x170); - fiat_p224_addcarryx_u64(&x176, &x177, x175, x171, x168); - x178 = (x177 + x169); - fiat_p224_addcarryx_u64(&x179, &x180, 0x0, x156, x166); - fiat_p224_addcarryx_u64(&x181, &x182, x180, x158, x172); - fiat_p224_addcarryx_u64(&x183, &x184, x182, x160, x174); - fiat_p224_addcarryx_u64(&x185, &x186, x184, x162, x176); - fiat_p224_addcarryx_u64(&x187, &x188, x186, x164, x178); - x189 = ((uint64_t)x188 + x165); - fiat_p224_subborrowx_u64(&x190, &x191, 0x0, x181, 0x1); - fiat_p224_subborrowx_u64(&x192, &x193, x191, x183, UINT64_C(0xffffffff00000000)); - fiat_p224_subborrowx_u64(&x194, &x195, x193, x185, UINT64_C(0xffffffffffffffff)); - fiat_p224_subborrowx_u64(&x196, &x197, x195, x187, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u64(&x198, &x199, x197, x189, 0x0); - fiat_p224_cmovznz_u64(&x200, x199, x190, x181); - fiat_p224_cmovznz_u64(&x201, x199, x192, x183); - fiat_p224_cmovznz_u64(&x202, x199, x194, x185); - fiat_p224_cmovznz_u64(&x203, x199, x196, x187); - out1[0] = x200; - out1[1] = x201; - out1[2] = x202; - out1[3] = x203; -} - -/* - * The function fiat_p224_add adds two field elements in the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * 0 ≤ eval arg2 < m - * Postconditions: - * eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_p224_add(fiat_p224_montgomery_domain_field_element out1, const fiat_p224_montgomery_domain_field_element arg1, const fiat_p224_montgomery_domain_field_element arg2) { - uint64_t x1; - fiat_p224_uint1 x2; - uint64_t x3; - fiat_p224_uint1 x4; - uint64_t x5; - fiat_p224_uint1 x6; - uint64_t x7; - fiat_p224_uint1 x8; - uint64_t x9; - fiat_p224_uint1 x10; - uint64_t x11; - fiat_p224_uint1 x12; - uint64_t x13; - fiat_p224_uint1 x14; - uint64_t x15; - fiat_p224_uint1 x16; - uint64_t x17; - fiat_p224_uint1 x18; - uint64_t x19; - uint64_t x20; - uint64_t x21; - uint64_t x22; - fiat_p224_addcarryx_u64(&x1, &x2, 0x0, (arg1[0]), (arg2[0])); - fiat_p224_addcarryx_u64(&x3, &x4, x2, (arg1[1]), (arg2[1])); - fiat_p224_addcarryx_u64(&x5, &x6, x4, (arg1[2]), (arg2[2])); - fiat_p224_addcarryx_u64(&x7, &x8, x6, (arg1[3]), (arg2[3])); - fiat_p224_subborrowx_u64(&x9, &x10, 0x0, x1, 0x1); - fiat_p224_subborrowx_u64(&x11, &x12, x10, x3, UINT64_C(0xffffffff00000000)); - fiat_p224_subborrowx_u64(&x13, &x14, x12, x5, UINT64_C(0xffffffffffffffff)); - fiat_p224_subborrowx_u64(&x15, &x16, x14, x7, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u64(&x17, &x18, x16, x8, 0x0); - fiat_p224_cmovznz_u64(&x19, x18, x9, x1); - fiat_p224_cmovznz_u64(&x20, x18, x11, x3); - fiat_p224_cmovznz_u64(&x21, x18, x13, x5); - fiat_p224_cmovznz_u64(&x22, x18, x15, x7); - out1[0] = x19; - out1[1] = x20; - out1[2] = x21; - out1[3] = x22; -} - -/* - * The function fiat_p224_sub subtracts two field elements in the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * 0 ≤ eval arg2 < m - * Postconditions: - * eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_p224_sub(fiat_p224_montgomery_domain_field_element out1, const fiat_p224_montgomery_domain_field_element arg1, const fiat_p224_montgomery_domain_field_element arg2) { - uint64_t x1; - fiat_p224_uint1 x2; - uint64_t x3; - fiat_p224_uint1 x4; - uint64_t x5; - fiat_p224_uint1 x6; - uint64_t x7; - fiat_p224_uint1 x8; - uint64_t x9; - uint64_t x10; - fiat_p224_uint1 x11; - uint64_t x12; - fiat_p224_uint1 x13; - uint64_t x14; - fiat_p224_uint1 x15; - uint64_t x16; - fiat_p224_uint1 x17; - fiat_p224_subborrowx_u64(&x1, &x2, 0x0, (arg1[0]), (arg2[0])); - fiat_p224_subborrowx_u64(&x3, &x4, x2, (arg1[1]), (arg2[1])); - fiat_p224_subborrowx_u64(&x5, &x6, x4, (arg1[2]), (arg2[2])); - fiat_p224_subborrowx_u64(&x7, &x8, x6, (arg1[3]), (arg2[3])); - fiat_p224_cmovznz_u64(&x9, x8, 0x0, UINT64_C(0xffffffffffffffff)); - fiat_p224_addcarryx_u64(&x10, &x11, 0x0, x1, (fiat_p224_uint1)(x9 & 0x1)); - fiat_p224_addcarryx_u64(&x12, &x13, x11, x3, (x9 & UINT64_C(0xffffffff00000000))); - fiat_p224_addcarryx_u64(&x14, &x15, x13, x5, x9); - fiat_p224_addcarryx_u64(&x16, &x17, x15, x7, (x9 & UINT32_C(0xffffffff))); - out1[0] = x10; - out1[1] = x12; - out1[2] = x14; - out1[3] = x16; -} - -/* - * The function fiat_p224_opp negates a field element in the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * Postconditions: - * eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_p224_opp(fiat_p224_montgomery_domain_field_element out1, const fiat_p224_montgomery_domain_field_element arg1) { - uint64_t x1; - fiat_p224_uint1 x2; - uint64_t x3; - fiat_p224_uint1 x4; - uint64_t x5; - fiat_p224_uint1 x6; - uint64_t x7; - fiat_p224_uint1 x8; - uint64_t x9; - uint64_t x10; - fiat_p224_uint1 x11; - uint64_t x12; - fiat_p224_uint1 x13; - uint64_t x14; - fiat_p224_uint1 x15; - uint64_t x16; - fiat_p224_uint1 x17; - fiat_p224_subborrowx_u64(&x1, &x2, 0x0, 0x0, (arg1[0])); - fiat_p224_subborrowx_u64(&x3, &x4, x2, 0x0, (arg1[1])); - fiat_p224_subborrowx_u64(&x5, &x6, x4, 0x0, (arg1[2])); - fiat_p224_subborrowx_u64(&x7, &x8, x6, 0x0, (arg1[3])); - fiat_p224_cmovznz_u64(&x9, x8, 0x0, UINT64_C(0xffffffffffffffff)); - fiat_p224_addcarryx_u64(&x10, &x11, 0x0, x1, (fiat_p224_uint1)(x9 & 0x1)); - fiat_p224_addcarryx_u64(&x12, &x13, x11, x3, (x9 & UINT64_C(0xffffffff00000000))); - fiat_p224_addcarryx_u64(&x14, &x15, x13, x5, x9); - fiat_p224_addcarryx_u64(&x16, &x17, x15, x7, (x9 & UINT32_C(0xffffffff))); - out1[0] = x10; - out1[1] = x12; - out1[2] = x14; - out1[3] = x16; -} - -/* - * The function fiat_p224_from_montgomery translates a field element out of the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * Postconditions: - * eval out1 mod m = (eval arg1 * ((2^64)⁻¹ mod m)^4) mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_p224_from_montgomery(fiat_p224_non_montgomery_domain_field_element out1, const fiat_p224_montgomery_domain_field_element arg1) { - uint64_t x1; - uint64_t x2; - uint64_t x3; - uint64_t x4; - uint64_t x5; - uint64_t x6; - uint64_t x7; - uint64_t x8; - uint64_t x9; - uint64_t x10; - fiat_p224_uint1 x11; - uint64_t x12; - fiat_p224_uint1 x13; - uint64_t x14; - fiat_p224_uint1 x15; - uint64_t x16; - fiat_p224_uint1 x17; - uint64_t x18; - fiat_p224_uint1 x19; - uint64_t x20; - fiat_p224_uint1 x21; - uint64_t x22; - fiat_p224_uint1 x23; - uint64_t x24; - fiat_p224_uint1 x25; - uint64_t x26; - fiat_p224_uint1 x27; - uint64_t x28; - uint64_t x29; - uint64_t x30; - uint64_t x31; - uint64_t x32; - uint64_t x33; - uint64_t x34; - uint64_t x35; - uint64_t x36; - fiat_p224_uint1 x37; - uint64_t x38; - fiat_p224_uint1 x39; - uint64_t x40; - fiat_p224_uint1 x41; - uint64_t x42; - fiat_p224_uint1 x43; - uint64_t x44; - fiat_p224_uint1 x45; - uint64_t x46; - fiat_p224_uint1 x47; - uint64_t x48; - fiat_p224_uint1 x49; - uint64_t x50; - fiat_p224_uint1 x51; - uint64_t x52; - fiat_p224_uint1 x53; - uint64_t x54; - uint64_t x55; - uint64_t x56; - uint64_t x57; - uint64_t x58; - uint64_t x59; - uint64_t x60; - uint64_t x61; - uint64_t x62; - fiat_p224_uint1 x63; - uint64_t x64; - fiat_p224_uint1 x65; - uint64_t x66; - fiat_p224_uint1 x67; - uint64_t x68; - fiat_p224_uint1 x69; - uint64_t x70; - fiat_p224_uint1 x71; - uint64_t x72; - fiat_p224_uint1 x73; - uint64_t x74; - fiat_p224_uint1 x75; - uint64_t x76; - fiat_p224_uint1 x77; - uint64_t x78; - fiat_p224_uint1 x79; - uint64_t x80; - uint64_t x81; - uint64_t x82; - uint64_t x83; - uint64_t x84; - uint64_t x85; - uint64_t x86; - uint64_t x87; - uint64_t x88; - fiat_p224_uint1 x89; - uint64_t x90; - fiat_p224_uint1 x91; - uint64_t x92; - fiat_p224_uint1 x93; - uint64_t x94; - fiat_p224_uint1 x95; - uint64_t x96; - fiat_p224_uint1 x97; - uint64_t x98; - fiat_p224_uint1 x99; - uint64_t x100; - uint64_t x101; - fiat_p224_uint1 x102; - uint64_t x103; - fiat_p224_uint1 x104; - uint64_t x105; - fiat_p224_uint1 x106; - uint64_t x107; - fiat_p224_uint1 x108; - uint64_t x109; - fiat_p224_uint1 x110; - uint64_t x111; - uint64_t x112; - uint64_t x113; - uint64_t x114; - x1 = (arg1[0]); - fiat_p224_mulx_u64(&x2, &x3, x1, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x4, &x5, x2, UINT32_C(0xffffffff)); - fiat_p224_mulx_u64(&x6, &x7, x2, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x8, &x9, x2, UINT64_C(0xffffffff00000000)); - fiat_p224_addcarryx_u64(&x10, &x11, 0x0, x9, x6); - fiat_p224_addcarryx_u64(&x12, &x13, x11, x7, x4); - fiat_p224_addcarryx_u64(&x14, &x15, 0x0, x1, x2); - fiat_p224_addcarryx_u64(&x16, &x17, x15, 0x0, x8); - fiat_p224_addcarryx_u64(&x18, &x19, x17, 0x0, x10); - fiat_p224_addcarryx_u64(&x20, &x21, x19, 0x0, x12); - fiat_p224_addcarryx_u64(&x22, &x23, 0x0, x16, (arg1[1])); - fiat_p224_addcarryx_u64(&x24, &x25, x23, x18, 0x0); - fiat_p224_addcarryx_u64(&x26, &x27, x25, x20, 0x0); - fiat_p224_mulx_u64(&x28, &x29, x22, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x30, &x31, x28, UINT32_C(0xffffffff)); - fiat_p224_mulx_u64(&x32, &x33, x28, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x34, &x35, x28, UINT64_C(0xffffffff00000000)); - fiat_p224_addcarryx_u64(&x36, &x37, 0x0, x35, x32); - fiat_p224_addcarryx_u64(&x38, &x39, x37, x33, x30); - fiat_p224_addcarryx_u64(&x40, &x41, 0x0, x22, x28); - fiat_p224_addcarryx_u64(&x42, &x43, x41, x24, x34); - fiat_p224_addcarryx_u64(&x44, &x45, x43, x26, x36); - fiat_p224_addcarryx_u64(&x46, &x47, x45, (x27 + (x21 + (x13 + x5))), x38); - fiat_p224_addcarryx_u64(&x48, &x49, 0x0, x42, (arg1[2])); - fiat_p224_addcarryx_u64(&x50, &x51, x49, x44, 0x0); - fiat_p224_addcarryx_u64(&x52, &x53, x51, x46, 0x0); - fiat_p224_mulx_u64(&x54, &x55, x48, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x56, &x57, x54, UINT32_C(0xffffffff)); - fiat_p224_mulx_u64(&x58, &x59, x54, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x60, &x61, x54, UINT64_C(0xffffffff00000000)); - fiat_p224_addcarryx_u64(&x62, &x63, 0x0, x61, x58); - fiat_p224_addcarryx_u64(&x64, &x65, x63, x59, x56); - fiat_p224_addcarryx_u64(&x66, &x67, 0x0, x48, x54); - fiat_p224_addcarryx_u64(&x68, &x69, x67, x50, x60); - fiat_p224_addcarryx_u64(&x70, &x71, x69, x52, x62); - fiat_p224_addcarryx_u64(&x72, &x73, x71, (x53 + (x47 + (x39 + x31))), x64); - fiat_p224_addcarryx_u64(&x74, &x75, 0x0, x68, (arg1[3])); - fiat_p224_addcarryx_u64(&x76, &x77, x75, x70, 0x0); - fiat_p224_addcarryx_u64(&x78, &x79, x77, x72, 0x0); - fiat_p224_mulx_u64(&x80, &x81, x74, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x82, &x83, x80, UINT32_C(0xffffffff)); - fiat_p224_mulx_u64(&x84, &x85, x80, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x86, &x87, x80, UINT64_C(0xffffffff00000000)); - fiat_p224_addcarryx_u64(&x88, &x89, 0x0, x87, x84); - fiat_p224_addcarryx_u64(&x90, &x91, x89, x85, x82); - fiat_p224_addcarryx_u64(&x92, &x93, 0x0, x74, x80); - fiat_p224_addcarryx_u64(&x94, &x95, x93, x76, x86); - fiat_p224_addcarryx_u64(&x96, &x97, x95, x78, x88); - fiat_p224_addcarryx_u64(&x98, &x99, x97, (x79 + (x73 + (x65 + x57))), x90); - x100 = (x99 + (x91 + x83)); - fiat_p224_subborrowx_u64(&x101, &x102, 0x0, x94, 0x1); - fiat_p224_subborrowx_u64(&x103, &x104, x102, x96, UINT64_C(0xffffffff00000000)); - fiat_p224_subborrowx_u64(&x105, &x106, x104, x98, UINT64_C(0xffffffffffffffff)); - fiat_p224_subborrowx_u64(&x107, &x108, x106, x100, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u64(&x109, &x110, x108, 0x0, 0x0); - fiat_p224_cmovznz_u64(&x111, x110, x101, x94); - fiat_p224_cmovznz_u64(&x112, x110, x103, x96); - fiat_p224_cmovznz_u64(&x113, x110, x105, x98); - fiat_p224_cmovznz_u64(&x114, x110, x107, x100); - out1[0] = x111; - out1[1] = x112; - out1[2] = x113; - out1[3] = x114; -} - -/* - * The function fiat_p224_to_montgomery translates a field element into the Montgomery domain. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * Postconditions: - * eval (from_montgomery out1) mod m = eval arg1 mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_p224_to_montgomery(fiat_p224_montgomery_domain_field_element out1, const fiat_p224_non_montgomery_domain_field_element arg1) { - uint64_t x1; - uint64_t x2; - uint64_t x3; - uint64_t x4; - uint64_t x5; - uint64_t x6; - uint64_t x7; - uint64_t x8; - uint64_t x9; - uint64_t x10; - uint64_t x11; - uint64_t x12; - uint64_t x13; - fiat_p224_uint1 x14; - uint64_t x15; - fiat_p224_uint1 x16; - uint64_t x17; - fiat_p224_uint1 x18; - uint64_t x19; - uint64_t x20; - uint64_t x21; - uint64_t x22; - uint64_t x23; - uint64_t x24; - uint64_t x25; - uint64_t x26; - uint64_t x27; - fiat_p224_uint1 x28; - uint64_t x29; - fiat_p224_uint1 x30; - uint64_t x31; - fiat_p224_uint1 x32; - uint64_t x33; - fiat_p224_uint1 x34; - uint64_t x35; - fiat_p224_uint1 x36; - uint64_t x37; - fiat_p224_uint1 x38; - uint64_t x39; - uint64_t x40; - uint64_t x41; - uint64_t x42; - uint64_t x43; - uint64_t x44; - uint64_t x45; - uint64_t x46; - uint64_t x47; - fiat_p224_uint1 x48; - uint64_t x49; - fiat_p224_uint1 x50; - uint64_t x51; - fiat_p224_uint1 x52; - uint64_t x53; - fiat_p224_uint1 x54; - uint64_t x55; - fiat_p224_uint1 x56; - uint64_t x57; - fiat_p224_uint1 x58; - uint64_t x59; - fiat_p224_uint1 x60; - uint64_t x61; - uint64_t x62; - uint64_t x63; - uint64_t x64; - uint64_t x65; - uint64_t x66; - uint64_t x67; - uint64_t x68; - uint64_t x69; - fiat_p224_uint1 x70; - uint64_t x71; - fiat_p224_uint1 x72; - uint64_t x73; - fiat_p224_uint1 x74; - uint64_t x75; - fiat_p224_uint1 x76; - uint64_t x77; - fiat_p224_uint1 x78; - uint64_t x79; - fiat_p224_uint1 x80; - uint64_t x81; - uint64_t x82; - uint64_t x83; - uint64_t x84; - uint64_t x85; - uint64_t x86; - uint64_t x87; - uint64_t x88; - uint64_t x89; - fiat_p224_uint1 x90; - uint64_t x91; - fiat_p224_uint1 x92; - uint64_t x93; - fiat_p224_uint1 x94; - uint64_t x95; - fiat_p224_uint1 x96; - uint64_t x97; - fiat_p224_uint1 x98; - uint64_t x99; - fiat_p224_uint1 x100; - uint64_t x101; - fiat_p224_uint1 x102; - uint64_t x103; - uint64_t x104; - uint64_t x105; - uint64_t x106; - uint64_t x107; - uint64_t x108; - uint64_t x109; - uint64_t x110; - uint64_t x111; - fiat_p224_uint1 x112; - uint64_t x113; - fiat_p224_uint1 x114; - uint64_t x115; - fiat_p224_uint1 x116; - uint64_t x117; - fiat_p224_uint1 x118; - uint64_t x119; - fiat_p224_uint1 x120; - uint64_t x121; - fiat_p224_uint1 x122; - uint64_t x123; - uint64_t x124; - uint64_t x125; - uint64_t x126; - uint64_t x127; - uint64_t x128; - uint64_t x129; - uint64_t x130; - uint64_t x131; - fiat_p224_uint1 x132; - uint64_t x133; - fiat_p224_uint1 x134; - uint64_t x135; - fiat_p224_uint1 x136; - uint64_t x137; - fiat_p224_uint1 x138; - uint64_t x139; - fiat_p224_uint1 x140; - uint64_t x141; - fiat_p224_uint1 x142; - uint64_t x143; - fiat_p224_uint1 x144; - uint64_t x145; - uint64_t x146; - uint64_t x147; - uint64_t x148; - uint64_t x149; - uint64_t x150; - uint64_t x151; - uint64_t x152; - uint64_t x153; - fiat_p224_uint1 x154; - uint64_t x155; - fiat_p224_uint1 x156; - uint64_t x157; - fiat_p224_uint1 x158; - uint64_t x159; - fiat_p224_uint1 x160; - uint64_t x161; - fiat_p224_uint1 x162; - uint64_t x163; - fiat_p224_uint1 x164; - uint64_t x165; - uint64_t x166; - fiat_p224_uint1 x167; - uint64_t x168; - fiat_p224_uint1 x169; - uint64_t x170; - fiat_p224_uint1 x171; - uint64_t x172; - fiat_p224_uint1 x173; - uint64_t x174; - fiat_p224_uint1 x175; - uint64_t x176; - uint64_t x177; - uint64_t x178; - uint64_t x179; - x1 = (arg1[1]); - x2 = (arg1[2]); - x3 = (arg1[3]); - x4 = (arg1[0]); - fiat_p224_mulx_u64(&x5, &x6, x4, UINT32_C(0xffffffff)); - fiat_p224_mulx_u64(&x7, &x8, x4, UINT64_C(0xfffffffe00000000)); - fiat_p224_mulx_u64(&x9, &x10, x4, UINT64_C(0xffffffff00000000)); - fiat_p224_mulx_u64(&x11, &x12, x4, UINT64_C(0xffffffff00000001)); - fiat_p224_addcarryx_u64(&x13, &x14, 0x0, x12, x9); - fiat_p224_addcarryx_u64(&x15, &x16, x14, x10, x7); - fiat_p224_addcarryx_u64(&x17, &x18, x16, x8, x5); - fiat_p224_mulx_u64(&x19, &x20, x11, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x21, &x22, x19, UINT32_C(0xffffffff)); - fiat_p224_mulx_u64(&x23, &x24, x19, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x25, &x26, x19, UINT64_C(0xffffffff00000000)); - fiat_p224_addcarryx_u64(&x27, &x28, 0x0, x26, x23); - fiat_p224_addcarryx_u64(&x29, &x30, x28, x24, x21); - fiat_p224_addcarryx_u64(&x31, &x32, 0x0, x11, x19); - fiat_p224_addcarryx_u64(&x33, &x34, x32, x13, x25); - fiat_p224_addcarryx_u64(&x35, &x36, x34, x15, x27); - fiat_p224_addcarryx_u64(&x37, &x38, x36, x17, x29); - fiat_p224_mulx_u64(&x39, &x40, x1, UINT32_C(0xffffffff)); - fiat_p224_mulx_u64(&x41, &x42, x1, UINT64_C(0xfffffffe00000000)); - fiat_p224_mulx_u64(&x43, &x44, x1, UINT64_C(0xffffffff00000000)); - fiat_p224_mulx_u64(&x45, &x46, x1, UINT64_C(0xffffffff00000001)); - fiat_p224_addcarryx_u64(&x47, &x48, 0x0, x46, x43); - fiat_p224_addcarryx_u64(&x49, &x50, x48, x44, x41); - fiat_p224_addcarryx_u64(&x51, &x52, x50, x42, x39); - fiat_p224_addcarryx_u64(&x53, &x54, 0x0, x33, x45); - fiat_p224_addcarryx_u64(&x55, &x56, x54, x35, x47); - fiat_p224_addcarryx_u64(&x57, &x58, x56, x37, x49); - fiat_p224_addcarryx_u64(&x59, &x60, x58, ((x38 + (x18 + x6)) + (x30 + x22)), x51); - fiat_p224_mulx_u64(&x61, &x62, x53, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x63, &x64, x61, UINT32_C(0xffffffff)); - fiat_p224_mulx_u64(&x65, &x66, x61, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x67, &x68, x61, UINT64_C(0xffffffff00000000)); - fiat_p224_addcarryx_u64(&x69, &x70, 0x0, x68, x65); - fiat_p224_addcarryx_u64(&x71, &x72, x70, x66, x63); - fiat_p224_addcarryx_u64(&x73, &x74, 0x0, x53, x61); - fiat_p224_addcarryx_u64(&x75, &x76, x74, x55, x67); - fiat_p224_addcarryx_u64(&x77, &x78, x76, x57, x69); - fiat_p224_addcarryx_u64(&x79, &x80, x78, x59, x71); - fiat_p224_mulx_u64(&x81, &x82, x2, UINT32_C(0xffffffff)); - fiat_p224_mulx_u64(&x83, &x84, x2, UINT64_C(0xfffffffe00000000)); - fiat_p224_mulx_u64(&x85, &x86, x2, UINT64_C(0xffffffff00000000)); - fiat_p224_mulx_u64(&x87, &x88, x2, UINT64_C(0xffffffff00000001)); - fiat_p224_addcarryx_u64(&x89, &x90, 0x0, x88, x85); - fiat_p224_addcarryx_u64(&x91, &x92, x90, x86, x83); - fiat_p224_addcarryx_u64(&x93, &x94, x92, x84, x81); - fiat_p224_addcarryx_u64(&x95, &x96, 0x0, x75, x87); - fiat_p224_addcarryx_u64(&x97, &x98, x96, x77, x89); - fiat_p224_addcarryx_u64(&x99, &x100, x98, x79, x91); - fiat_p224_addcarryx_u64(&x101, &x102, x100, ((x80 + (x60 + (x52 + x40))) + (x72 + x64)), x93); - fiat_p224_mulx_u64(&x103, &x104, x95, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x105, &x106, x103, UINT32_C(0xffffffff)); - fiat_p224_mulx_u64(&x107, &x108, x103, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x109, &x110, x103, UINT64_C(0xffffffff00000000)); - fiat_p224_addcarryx_u64(&x111, &x112, 0x0, x110, x107); - fiat_p224_addcarryx_u64(&x113, &x114, x112, x108, x105); - fiat_p224_addcarryx_u64(&x115, &x116, 0x0, x95, x103); - fiat_p224_addcarryx_u64(&x117, &x118, x116, x97, x109); - fiat_p224_addcarryx_u64(&x119, &x120, x118, x99, x111); - fiat_p224_addcarryx_u64(&x121, &x122, x120, x101, x113); - fiat_p224_mulx_u64(&x123, &x124, x3, UINT32_C(0xffffffff)); - fiat_p224_mulx_u64(&x125, &x126, x3, UINT64_C(0xfffffffe00000000)); - fiat_p224_mulx_u64(&x127, &x128, x3, UINT64_C(0xffffffff00000000)); - fiat_p224_mulx_u64(&x129, &x130, x3, UINT64_C(0xffffffff00000001)); - fiat_p224_addcarryx_u64(&x131, &x132, 0x0, x130, x127); - fiat_p224_addcarryx_u64(&x133, &x134, x132, x128, x125); - fiat_p224_addcarryx_u64(&x135, &x136, x134, x126, x123); - fiat_p224_addcarryx_u64(&x137, &x138, 0x0, x117, x129); - fiat_p224_addcarryx_u64(&x139, &x140, x138, x119, x131); - fiat_p224_addcarryx_u64(&x141, &x142, x140, x121, x133); - fiat_p224_addcarryx_u64(&x143, &x144, x142, ((x122 + (x102 + (x94 + x82))) + (x114 + x106)), x135); - fiat_p224_mulx_u64(&x145, &x146, x137, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x147, &x148, x145, UINT32_C(0xffffffff)); - fiat_p224_mulx_u64(&x149, &x150, x145, UINT64_C(0xffffffffffffffff)); - fiat_p224_mulx_u64(&x151, &x152, x145, UINT64_C(0xffffffff00000000)); - fiat_p224_addcarryx_u64(&x153, &x154, 0x0, x152, x149); - fiat_p224_addcarryx_u64(&x155, &x156, x154, x150, x147); - fiat_p224_addcarryx_u64(&x157, &x158, 0x0, x137, x145); - fiat_p224_addcarryx_u64(&x159, &x160, x158, x139, x151); - fiat_p224_addcarryx_u64(&x161, &x162, x160, x141, x153); - fiat_p224_addcarryx_u64(&x163, &x164, x162, x143, x155); - x165 = ((x164 + (x144 + (x136 + x124))) + (x156 + x148)); - fiat_p224_subborrowx_u64(&x166, &x167, 0x0, x159, 0x1); - fiat_p224_subborrowx_u64(&x168, &x169, x167, x161, UINT64_C(0xffffffff00000000)); - fiat_p224_subborrowx_u64(&x170, &x171, x169, x163, UINT64_C(0xffffffffffffffff)); - fiat_p224_subborrowx_u64(&x172, &x173, x171, x165, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u64(&x174, &x175, x173, 0x0, 0x0); - fiat_p224_cmovznz_u64(&x176, x175, x166, x159); - fiat_p224_cmovznz_u64(&x177, x175, x168, x161); - fiat_p224_cmovznz_u64(&x178, x175, x170, x163); - fiat_p224_cmovznz_u64(&x179, x175, x172, x165); - out1[0] = x176; - out1[1] = x177; - out1[2] = x178; - out1[3] = x179; -} - -/* - * The function fiat_p224_nonzero outputs a single non-zero word if the input is non-zero and zero otherwise. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * Postconditions: - * out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0 - * - * Input Bounds: - * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - * Output Bounds: - * out1: [0x0 ~> 0xffffffffffffffff] - */ -static void fiat_p224_nonzero(uint64_t* out1, const uint64_t arg1[4]) { - uint64_t x1; - x1 = ((arg1[0]) | ((arg1[1]) | ((arg1[2]) | (arg1[3])))); - *out1 = x1; -} - -/* - * The function fiat_p224_selectznz is a multi-limb conditional select. - * - * Postconditions: - * out1 = (if arg1 = 0 then arg2 else arg3) - * - * Input Bounds: - * arg1: [0x0 ~> 0x1] - * arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - * arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - * Output Bounds: - * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - */ -static void fiat_p224_selectznz(uint64_t out1[4], fiat_p224_uint1 arg1, const uint64_t arg2[4], const uint64_t arg3[4]) { - uint64_t x1; - uint64_t x2; - uint64_t x3; - uint64_t x4; - fiat_p224_cmovznz_u64(&x1, arg1, (arg2[0]), (arg3[0])); - fiat_p224_cmovznz_u64(&x2, arg1, (arg2[1]), (arg3[1])); - fiat_p224_cmovznz_u64(&x3, arg1, (arg2[2]), (arg3[2])); - fiat_p224_cmovznz_u64(&x4, arg1, (arg2[3]), (arg3[3])); - out1[0] = x1; - out1[1] = x2; - out1[2] = x3; - out1[3] = x4; -} - -/* - * The function fiat_p224_to_bytes serializes a field element NOT in the Montgomery domain to bytes in little-endian order. - * - * Preconditions: - * 0 ≤ eval arg1 < m - * Postconditions: - * out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..27] - * - * Input Bounds: - * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffff]] - * Output Bounds: - * out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]] - */ -static void fiat_p224_to_bytes(uint8_t out1[28], const uint64_t arg1[4]) { - uint64_t x1; - uint64_t x2; - uint64_t x3; - uint64_t x4; - uint8_t x5; - uint64_t x6; - uint8_t x7; - uint64_t x8; - uint8_t x9; - uint64_t x10; - uint8_t x11; - uint64_t x12; - uint8_t x13; - uint64_t x14; - uint8_t x15; - uint64_t x16; - uint8_t x17; - uint8_t x18; - uint8_t x19; - uint64_t x20; - uint8_t x21; - uint64_t x22; - uint8_t x23; - uint64_t x24; - uint8_t x25; - uint64_t x26; - uint8_t x27; - uint64_t x28; - uint8_t x29; - uint64_t x30; - uint8_t x31; - uint8_t x32; - uint8_t x33; - uint64_t x34; - uint8_t x35; - uint64_t x36; - uint8_t x37; - uint64_t x38; - uint8_t x39; - uint64_t x40; - uint8_t x41; - uint64_t x42; - uint8_t x43; - uint64_t x44; - uint8_t x45; - uint8_t x46; - uint8_t x47; - uint64_t x48; - uint8_t x49; - uint64_t x50; - uint8_t x51; - uint8_t x52; - x1 = (arg1[3]); - x2 = (arg1[2]); - x3 = (arg1[1]); - x4 = (arg1[0]); - x5 = (uint8_t)(x4 & UINT8_C(0xff)); - x6 = (x4 >> 8); - x7 = (uint8_t)(x6 & UINT8_C(0xff)); - x8 = (x6 >> 8); - x9 = (uint8_t)(x8 & UINT8_C(0xff)); - x10 = (x8 >> 8); - x11 = (uint8_t)(x10 & UINT8_C(0xff)); - x12 = (x10 >> 8); - x13 = (uint8_t)(x12 & UINT8_C(0xff)); - x14 = (x12 >> 8); - x15 = (uint8_t)(x14 & UINT8_C(0xff)); - x16 = (x14 >> 8); - x17 = (uint8_t)(x16 & UINT8_C(0xff)); - x18 = (uint8_t)(x16 >> 8); - x19 = (uint8_t)(x3 & UINT8_C(0xff)); - x20 = (x3 >> 8); - x21 = (uint8_t)(x20 & UINT8_C(0xff)); - x22 = (x20 >> 8); - x23 = (uint8_t)(x22 & UINT8_C(0xff)); - x24 = (x22 >> 8); - x25 = (uint8_t)(x24 & UINT8_C(0xff)); - x26 = (x24 >> 8); - x27 = (uint8_t)(x26 & UINT8_C(0xff)); - x28 = (x26 >> 8); - x29 = (uint8_t)(x28 & UINT8_C(0xff)); - x30 = (x28 >> 8); - x31 = (uint8_t)(x30 & UINT8_C(0xff)); - x32 = (uint8_t)(x30 >> 8); - x33 = (uint8_t)(x2 & UINT8_C(0xff)); - x34 = (x2 >> 8); - x35 = (uint8_t)(x34 & UINT8_C(0xff)); - x36 = (x34 >> 8); - x37 = (uint8_t)(x36 & UINT8_C(0xff)); - x38 = (x36 >> 8); - x39 = (uint8_t)(x38 & UINT8_C(0xff)); - x40 = (x38 >> 8); - x41 = (uint8_t)(x40 & UINT8_C(0xff)); - x42 = (x40 >> 8); - x43 = (uint8_t)(x42 & UINT8_C(0xff)); - x44 = (x42 >> 8); - x45 = (uint8_t)(x44 & UINT8_C(0xff)); - x46 = (uint8_t)(x44 >> 8); - x47 = (uint8_t)(x1 & UINT8_C(0xff)); - x48 = (x1 >> 8); - x49 = (uint8_t)(x48 & UINT8_C(0xff)); - x50 = (x48 >> 8); - x51 = (uint8_t)(x50 & UINT8_C(0xff)); - x52 = (uint8_t)(x50 >> 8); - out1[0] = x5; - out1[1] = x7; - out1[2] = x9; - out1[3] = x11; - out1[4] = x13; - out1[5] = x15; - out1[6] = x17; - out1[7] = x18; - out1[8] = x19; - out1[9] = x21; - out1[10] = x23; - out1[11] = x25; - out1[12] = x27; - out1[13] = x29; - out1[14] = x31; - out1[15] = x32; - out1[16] = x33; - out1[17] = x35; - out1[18] = x37; - out1[19] = x39; - out1[20] = x41; - out1[21] = x43; - out1[22] = x45; - out1[23] = x46; - out1[24] = x47; - out1[25] = x49; - out1[26] = x51; - out1[27] = x52; -} - -/* - * The function fiat_p224_from_bytes deserializes a field element NOT in the Montgomery domain from bytes in little-endian order. - * - * Preconditions: - * 0 ≤ bytes_eval arg1 < m - * Postconditions: - * eval out1 mod m = bytes_eval arg1 mod m - * 0 ≤ eval out1 < m - * - * Input Bounds: - * arg1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]] - * Output Bounds: - * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffff]] - */ -static void fiat_p224_from_bytes(uint64_t out1[4], const uint8_t arg1[28]) { - uint64_t x1; - uint64_t x2; - uint64_t x3; - uint8_t x4; - uint64_t x5; - uint64_t x6; - uint64_t x7; - uint64_t x8; - uint64_t x9; - uint64_t x10; - uint64_t x11; - uint8_t x12; - uint64_t x13; - uint64_t x14; - uint64_t x15; - uint64_t x16; - uint64_t x17; - uint64_t x18; - uint64_t x19; - uint8_t x20; - uint64_t x21; - uint64_t x22; - uint64_t x23; - uint64_t x24; - uint64_t x25; - uint64_t x26; - uint64_t x27; - uint8_t x28; - uint64_t x29; - uint64_t x30; - uint64_t x31; - uint64_t x32; - uint64_t x33; - uint64_t x34; - uint64_t x35; - uint64_t x36; - uint64_t x37; - uint64_t x38; - uint64_t x39; - uint64_t x40; - uint64_t x41; - uint64_t x42; - uint64_t x43; - uint64_t x44; - uint64_t x45; - uint64_t x46; - uint64_t x47; - uint64_t x48; - uint64_t x49; - uint64_t x50; - uint64_t x51; - uint64_t x52; - x1 = ((uint64_t)(arg1[27]) << 24); - x2 = ((uint64_t)(arg1[26]) << 16); - x3 = ((uint64_t)(arg1[25]) << 8); - x4 = (arg1[24]); - x5 = ((uint64_t)(arg1[23]) << 56); - x6 = ((uint64_t)(arg1[22]) << 48); - x7 = ((uint64_t)(arg1[21]) << 40); - x8 = ((uint64_t)(arg1[20]) << 32); - x9 = ((uint64_t)(arg1[19]) << 24); - x10 = ((uint64_t)(arg1[18]) << 16); - x11 = ((uint64_t)(arg1[17]) << 8); - x12 = (arg1[16]); - x13 = ((uint64_t)(arg1[15]) << 56); - x14 = ((uint64_t)(arg1[14]) << 48); - x15 = ((uint64_t)(arg1[13]) << 40); - x16 = ((uint64_t)(arg1[12]) << 32); - x17 = ((uint64_t)(arg1[11]) << 24); - x18 = ((uint64_t)(arg1[10]) << 16); - x19 = ((uint64_t)(arg1[9]) << 8); - x20 = (arg1[8]); - x21 = ((uint64_t)(arg1[7]) << 56); - x22 = ((uint64_t)(arg1[6]) << 48); - x23 = ((uint64_t)(arg1[5]) << 40); - x24 = ((uint64_t)(arg1[4]) << 32); - x25 = ((uint64_t)(arg1[3]) << 24); - x26 = ((uint64_t)(arg1[2]) << 16); - x27 = ((uint64_t)(arg1[1]) << 8); - x28 = (arg1[0]); - x29 = (x27 + (uint64_t)x28); - x30 = (x26 + x29); - x31 = (x25 + x30); - x32 = (x24 + x31); - x33 = (x23 + x32); - x34 = (x22 + x33); - x35 = (x21 + x34); - x36 = (x19 + (uint64_t)x20); - x37 = (x18 + x36); - x38 = (x17 + x37); - x39 = (x16 + x38); - x40 = (x15 + x39); - x41 = (x14 + x40); - x42 = (x13 + x41); - x43 = (x11 + (uint64_t)x12); - x44 = (x10 + x43); - x45 = (x9 + x44); - x46 = (x8 + x45); - x47 = (x7 + x46); - x48 = (x6 + x47); - x49 = (x5 + x48); - x50 = (x3 + (uint64_t)x4); - x51 = (x2 + x50); - x52 = (x1 + x51); - out1[0] = x35; - out1[1] = x42; - out1[2] = x49; - out1[3] = x52; -} - -/* - * The function fiat_p224_set_one returns the field element one in the Montgomery domain. - * - * Postconditions: - * eval (from_montgomery out1) mod m = 1 mod m - * 0 ≤ eval out1 < m - * - */ -static void fiat_p224_set_one(fiat_p224_montgomery_domain_field_element out1) { - out1[0] = UINT64_C(0xffffffff00000000); - out1[1] = UINT64_C(0xffffffffffffffff); - out1[2] = 0x0; - out1[3] = 0x0; -} - -/* - * The function fiat_p224_msat returns the saturated representation of the prime modulus. - * - * Postconditions: - * twos_complement_eval out1 = m - * 0 ≤ eval out1 < m - * - * Output Bounds: - * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - */ -static void fiat_p224_msat(uint64_t out1[5]) { - out1[0] = 0x1; - out1[1] = UINT64_C(0xffffffff00000000); - out1[2] = UINT64_C(0xffffffffffffffff); - out1[3] = UINT32_C(0xffffffff); - out1[4] = 0x0; -} - -/* - * The function fiat_p224_divstep_precomp returns the precomputed value for Bernstein-Yang-inversion (in montgomery form). - * - * Postconditions: - * eval (from_montgomery out1) = ⌊(m - 1) / 2⌋^(if ⌊log2 m⌋ + 1 < 46 then ⌊(49 * (⌊log2 m⌋ + 1) + 80) / 17⌋ else ⌊(49 * (⌊log2 m⌋ + 1) + 57) / 17⌋) - * 0 ≤ eval out1 < m - * - * Output Bounds: - * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - */ -static void fiat_p224_divstep_precomp(uint64_t out1[4]) { - out1[0] = UINT64_C(0x7ffffffe800001); - out1[1] = UINT64_C(0xff7fffff00800000); - out1[2] = UINT32_C(0xffffff); - out1[3] = UINT32_C(0xff800000); -} - -/* - * The function fiat_p224_divstep computes a divstep. - * - * Preconditions: - * 0 ≤ eval arg4 < m - * 0 ≤ eval arg5 < m - * Postconditions: - * out1 = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then 1 - arg1 else 1 + arg1) - * twos_complement_eval out2 = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then twos_complement_eval arg3 else twos_complement_eval arg2) - * twos_complement_eval out3 = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then ⌊(twos_complement_eval arg3 - twos_complement_eval arg2) / 2⌋ else ⌊(twos_complement_eval arg3 + (twos_complement_eval arg3 mod 2) * twos_complement_eval arg2) / 2⌋) - * eval (from_montgomery out4) mod m = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then (2 * eval (from_montgomery arg5)) mod m else (2 * eval (from_montgomery arg4)) mod m) - * eval (from_montgomery out5) mod m = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then (eval (from_montgomery arg4) - eval (from_montgomery arg4)) mod m else (eval (from_montgomery arg5) + (twos_complement_eval arg3 mod 2) * eval (from_montgomery arg4)) mod m) - * 0 ≤ eval out5 < m - * 0 ≤ eval out5 < m - * 0 ≤ eval out2 < m - * 0 ≤ eval out3 < m - * - * Input Bounds: - * arg1: [0x0 ~> 0xffffffffffffffff] - * arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - * arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - * arg4: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - * arg5: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - * Output Bounds: - * out1: [0x0 ~> 0xffffffffffffffff] - * out2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - * out3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - * out4: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - * out5: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] - */ -static void fiat_p224_divstep(uint64_t* out1, uint64_t out2[5], uint64_t out3[5], uint64_t out4[4], uint64_t out5[4], uint64_t arg1, const uint64_t arg2[5], const uint64_t arg3[5], const uint64_t arg4[4], const uint64_t arg5[4]) { - uint64_t x1; - fiat_p224_uint1 x2; - fiat_p224_uint1 x3; - uint64_t x4; - fiat_p224_uint1 x5; - uint64_t x6; - uint64_t x7; - uint64_t x8; - uint64_t x9; - uint64_t x10; - uint64_t x11; - uint64_t x12; - fiat_p224_uint1 x13; - uint64_t x14; - fiat_p224_uint1 x15; - uint64_t x16; - fiat_p224_uint1 x17; - uint64_t x18; - fiat_p224_uint1 x19; - uint64_t x20; - fiat_p224_uint1 x21; - uint64_t x22; - uint64_t x23; - uint64_t x24; - uint64_t x25; - uint64_t x26; - uint64_t x27; - uint64_t x28; - uint64_t x29; - uint64_t x30; - uint64_t x31; - fiat_p224_uint1 x32; - uint64_t x33; - fiat_p224_uint1 x34; - uint64_t x35; - fiat_p224_uint1 x36; - uint64_t x37; - fiat_p224_uint1 x38; - uint64_t x39; - fiat_p224_uint1 x40; - uint64_t x41; - fiat_p224_uint1 x42; - uint64_t x43; - fiat_p224_uint1 x44; - uint64_t x45; - fiat_p224_uint1 x46; - uint64_t x47; - fiat_p224_uint1 x48; - uint64_t x49; - uint64_t x50; - uint64_t x51; - uint64_t x52; - uint64_t x53; - fiat_p224_uint1 x54; - uint64_t x55; - fiat_p224_uint1 x56; - uint64_t x57; - fiat_p224_uint1 x58; - uint64_t x59; - fiat_p224_uint1 x60; - uint64_t x61; - uint64_t x62; - fiat_p224_uint1 x63; - uint64_t x64; - fiat_p224_uint1 x65; - uint64_t x66; - fiat_p224_uint1 x67; - uint64_t x68; - fiat_p224_uint1 x69; - uint64_t x70; - uint64_t x71; - uint64_t x72; - uint64_t x73; - fiat_p224_uint1 x74; - uint64_t x75; - uint64_t x76; - uint64_t x77; - uint64_t x78; - uint64_t x79; - uint64_t x80; - fiat_p224_uint1 x81; - uint64_t x82; - fiat_p224_uint1 x83; - uint64_t x84; - fiat_p224_uint1 x85; - uint64_t x86; - fiat_p224_uint1 x87; - uint64_t x88; - fiat_p224_uint1 x89; - uint64_t x90; - uint64_t x91; - uint64_t x92; - uint64_t x93; - uint64_t x94; - fiat_p224_uint1 x95; - uint64_t x96; - fiat_p224_uint1 x97; - uint64_t x98; - fiat_p224_uint1 x99; - uint64_t x100; - fiat_p224_uint1 x101; - uint64_t x102; - fiat_p224_uint1 x103; - uint64_t x104; - fiat_p224_uint1 x105; - uint64_t x106; - fiat_p224_uint1 x107; - uint64_t x108; - fiat_p224_uint1 x109; - uint64_t x110; - fiat_p224_uint1 x111; - uint64_t x112; - fiat_p224_uint1 x113; - uint64_t x114; - uint64_t x115; - uint64_t x116; - uint64_t x117; - uint64_t x118; - uint64_t x119; - uint64_t x120; - uint64_t x121; - uint64_t x122; - uint64_t x123; - uint64_t x124; - uint64_t x125; - uint64_t x126; - fiat_p224_addcarryx_u64(&x1, &x2, 0x0, (~arg1), 0x1); - x3 = (fiat_p224_uint1)((fiat_p224_uint1)(x1 >> 63) & (fiat_p224_uint1)((arg3[0]) & 0x1)); - fiat_p224_addcarryx_u64(&x4, &x5, 0x0, (~arg1), 0x1); - fiat_p224_cmovznz_u64(&x6, x3, arg1, x4); - fiat_p224_cmovznz_u64(&x7, x3, (arg2[0]), (arg3[0])); - fiat_p224_cmovznz_u64(&x8, x3, (arg2[1]), (arg3[1])); - fiat_p224_cmovznz_u64(&x9, x3, (arg2[2]), (arg3[2])); - fiat_p224_cmovznz_u64(&x10, x3, (arg2[3]), (arg3[3])); - fiat_p224_cmovznz_u64(&x11, x3, (arg2[4]), (arg3[4])); - fiat_p224_addcarryx_u64(&x12, &x13, 0x0, 0x1, (~(arg2[0]))); - fiat_p224_addcarryx_u64(&x14, &x15, x13, 0x0, (~(arg2[1]))); - fiat_p224_addcarryx_u64(&x16, &x17, x15, 0x0, (~(arg2[2]))); - fiat_p224_addcarryx_u64(&x18, &x19, x17, 0x0, (~(arg2[3]))); - fiat_p224_addcarryx_u64(&x20, &x21, x19, 0x0, (~(arg2[4]))); - fiat_p224_cmovznz_u64(&x22, x3, (arg3[0]), x12); - fiat_p224_cmovznz_u64(&x23, x3, (arg3[1]), x14); - fiat_p224_cmovznz_u64(&x24, x3, (arg3[2]), x16); - fiat_p224_cmovznz_u64(&x25, x3, (arg3[3]), x18); - fiat_p224_cmovznz_u64(&x26, x3, (arg3[4]), x20); - fiat_p224_cmovznz_u64(&x27, x3, (arg4[0]), (arg5[0])); - fiat_p224_cmovznz_u64(&x28, x3, (arg4[1]), (arg5[1])); - fiat_p224_cmovznz_u64(&x29, x3, (arg4[2]), (arg5[2])); - fiat_p224_cmovznz_u64(&x30, x3, (arg4[3]), (arg5[3])); - fiat_p224_addcarryx_u64(&x31, &x32, 0x0, x27, x27); - fiat_p224_addcarryx_u64(&x33, &x34, x32, x28, x28); - fiat_p224_addcarryx_u64(&x35, &x36, x34, x29, x29); - fiat_p224_addcarryx_u64(&x37, &x38, x36, x30, x30); - fiat_p224_subborrowx_u64(&x39, &x40, 0x0, x31, 0x1); - fiat_p224_subborrowx_u64(&x41, &x42, x40, x33, UINT64_C(0xffffffff00000000)); - fiat_p224_subborrowx_u64(&x43, &x44, x42, x35, UINT64_C(0xffffffffffffffff)); - fiat_p224_subborrowx_u64(&x45, &x46, x44, x37, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u64(&x47, &x48, x46, x38, 0x0); - x49 = (arg4[3]); - x50 = (arg4[2]); - x51 = (arg4[1]); - x52 = (arg4[0]); - fiat_p224_subborrowx_u64(&x53, &x54, 0x0, 0x0, x52); - fiat_p224_subborrowx_u64(&x55, &x56, x54, 0x0, x51); - fiat_p224_subborrowx_u64(&x57, &x58, x56, 0x0, x50); - fiat_p224_subborrowx_u64(&x59, &x60, x58, 0x0, x49); - fiat_p224_cmovznz_u64(&x61, x60, 0x0, UINT64_C(0xffffffffffffffff)); - fiat_p224_addcarryx_u64(&x62, &x63, 0x0, x53, (fiat_p224_uint1)(x61 & 0x1)); - fiat_p224_addcarryx_u64(&x64, &x65, x63, x55, (x61 & UINT64_C(0xffffffff00000000))); - fiat_p224_addcarryx_u64(&x66, &x67, x65, x57, x61); - fiat_p224_addcarryx_u64(&x68, &x69, x67, x59, (x61 & UINT32_C(0xffffffff))); - fiat_p224_cmovznz_u64(&x70, x3, (arg5[0]), x62); - fiat_p224_cmovznz_u64(&x71, x3, (arg5[1]), x64); - fiat_p224_cmovznz_u64(&x72, x3, (arg5[2]), x66); - fiat_p224_cmovznz_u64(&x73, x3, (arg5[3]), x68); - x74 = (fiat_p224_uint1)(x22 & 0x1); - fiat_p224_cmovznz_u64(&x75, x74, 0x0, x7); - fiat_p224_cmovznz_u64(&x76, x74, 0x0, x8); - fiat_p224_cmovznz_u64(&x77, x74, 0x0, x9); - fiat_p224_cmovznz_u64(&x78, x74, 0x0, x10); - fiat_p224_cmovznz_u64(&x79, x74, 0x0, x11); - fiat_p224_addcarryx_u64(&x80, &x81, 0x0, x22, x75); - fiat_p224_addcarryx_u64(&x82, &x83, x81, x23, x76); - fiat_p224_addcarryx_u64(&x84, &x85, x83, x24, x77); - fiat_p224_addcarryx_u64(&x86, &x87, x85, x25, x78); - fiat_p224_addcarryx_u64(&x88, &x89, x87, x26, x79); - fiat_p224_cmovznz_u64(&x90, x74, 0x0, x27); - fiat_p224_cmovznz_u64(&x91, x74, 0x0, x28); - fiat_p224_cmovznz_u64(&x92, x74, 0x0, x29); - fiat_p224_cmovznz_u64(&x93, x74, 0x0, x30); - fiat_p224_addcarryx_u64(&x94, &x95, 0x0, x70, x90); - fiat_p224_addcarryx_u64(&x96, &x97, x95, x71, x91); - fiat_p224_addcarryx_u64(&x98, &x99, x97, x72, x92); - fiat_p224_addcarryx_u64(&x100, &x101, x99, x73, x93); - fiat_p224_subborrowx_u64(&x102, &x103, 0x0, x94, 0x1); - fiat_p224_subborrowx_u64(&x104, &x105, x103, x96, UINT64_C(0xffffffff00000000)); - fiat_p224_subborrowx_u64(&x106, &x107, x105, x98, UINT64_C(0xffffffffffffffff)); - fiat_p224_subborrowx_u64(&x108, &x109, x107, x100, UINT32_C(0xffffffff)); - fiat_p224_subborrowx_u64(&x110, &x111, x109, x101, 0x0); - fiat_p224_addcarryx_u64(&x112, &x113, 0x0, x6, 0x1); - x114 = ((x80 >> 1) | ((x82 << 63) & UINT64_C(0xffffffffffffffff))); - x115 = ((x82 >> 1) | ((x84 << 63) & UINT64_C(0xffffffffffffffff))); - x116 = ((x84 >> 1) | ((x86 << 63) & UINT64_C(0xffffffffffffffff))); - x117 = ((x86 >> 1) | ((x88 << 63) & UINT64_C(0xffffffffffffffff))); - x118 = ((x88 & UINT64_C(0x8000000000000000)) | (x88 >> 1)); - fiat_p224_cmovznz_u64(&x119, x48, x39, x31); - fiat_p224_cmovznz_u64(&x120, x48, x41, x33); - fiat_p224_cmovznz_u64(&x121, x48, x43, x35); - fiat_p224_cmovznz_u64(&x122, x48, x45, x37); - fiat_p224_cmovznz_u64(&x123, x111, x102, x94); - fiat_p224_cmovznz_u64(&x124, x111, x104, x96); - fiat_p224_cmovznz_u64(&x125, x111, x106, x98); - fiat_p224_cmovznz_u64(&x126, x111, x108, x100); - *out1 = x112; - out2[0] = x7; - out2[1] = x8; - out2[2] = x9; - out2[3] = x10; - out2[4] = x11; - out3[0] = x114; - out3[1] = x115; - out3[2] = x116; - out3[3] = x117; - out3[4] = x118; - out4[0] = x119; - out4[1] = x120; - out4[2] = x121; - out4[3] = x122; - out5[0] = x123; - out5[1] = x124; - out5[2] = x125; - out5[3] = x126; -} diff --git a/ec/native/p224_stubs.c b/ec/native/p224_stubs.c deleted file mode 100644 index 053e5cbe..00000000 --- a/ec/native/p224_stubs.c +++ /dev/null @@ -1,159 +0,0 @@ -#include "mirage_crypto.h" - -/* Microsoft compiler does not support 128-bit integers. Drop down to - * 32-bit for MSVC. - */ -#if defined(ARCH_64BIT) && !defined(_MSC_VER) -#include "p224_64.h" -#define LIMBS 4 -#define WORD uint64_t -#define WORDSIZE 64 -#include "p224_tables_64.h" -#else -#include "p224_32.h" -#define LIMBS 7 -#define WORD uint32_t -#define WORDSIZE 32 -#include "p224_tables_32.h" -#endif - -#define LEN_PRIME 224 -#define CURVE_DESCRIPTION fiat_p224 - -#include "inversion_template.h" -#include "point_operations.h" - -#include - -CAMLprim value mc_p224_sub(value out, value a, value b) -{ - CAMLparam3(out, a, b); - fiat_p224_sub((WORD*)Bytes_val(out), (const WORD*)String_val(a), (const WORD*)String_val(b)); - CAMLreturn(Val_unit); -} - -CAMLprim value mc_p224_add(value out, value a, value b) -{ - CAMLparam3(out, a, b); - fiat_p224_add((WORD*)Bytes_val(out), (const WORD*)String_val(a), (const WORD*)String_val(b)); - CAMLreturn(Val_unit); -} - -CAMLprim value mc_p224_mul(value out, value a, value b) -{ - CAMLparam3(out, a, b); - fiat_p224_mul((WORD*)Bytes_val(out), (const WORD*)String_val(a), (const WORD*)String_val(b)); - CAMLreturn(Val_unit); -} - -CAMLprim value mc_p224_from_bytes(value out, value in) -{ - CAMLparam2(out, in); - fiat_p224_from_bytes((WORD*)Bytes_val(out), _st_uint8(in)); - CAMLreturn(Val_unit); -} - -CAMLprim value mc_p224_to_bytes(value out, value in) -{ - CAMLparam2(out, in); - fiat_p224_to_bytes(Bytes_val(out), (const WORD*)String_val(in)); - CAMLreturn(Val_unit); -} - -CAMLprim value mc_p224_sqr(value out, value in) -{ - CAMLparam2(out, in); - fiat_p224_square((WORD*)Bytes_val(out), (const WORD*)String_val(in)); - CAMLreturn(Val_unit); -} - -CAMLprim value mc_p224_from_montgomery(value out, value in) -{ - CAMLparam2(out, in); - fiat_p224_from_montgomery((WORD*)Bytes_val(out), (const WORD*)String_val(in)); - CAMLreturn(Val_unit); -} - -CAMLprim value mc_p224_to_montgomery(value out, value in) -{ - CAMLparam2(out, in); - fiat_p224_to_montgomery((WORD*)Bytes_val(out), (const WORD*)String_val(in)); - CAMLreturn(Val_unit); -} - -CAMLprim value mc_p224_nz(value x) -{ - CAMLparam1(x); - CAMLreturn(Val_bool(fe_nz((const WORD*)String_val(x)))); -} - -CAMLprim value mc_p224_set_one(value x) -{ - CAMLparam1(x); - fiat_p224_set_one((WORD*)Bytes_val(x)); - CAMLreturn(Val_unit); -} - -CAMLprim value mc_p224_inv(value out, value in) -{ - CAMLparam2(out, in); - inversion((WORD*)Bytes_val(out), (const WORD*)String_val(in)); - CAMLreturn(Val_unit); -} - -CAMLprim value mc_p224_point_double(value out, value in) -{ - CAMLparam2(out, in); - point_double( - (WORD*)Bytes_val(Field(out, 0)), - (WORD*)Bytes_val(Field(out, 1)), - (WORD*)Bytes_val(Field(out, 2)), - (const WORD*)String_val(Field(in, 0)), - (const WORD*)String_val(Field(in, 1)), - (const WORD*)String_val(Field(in, 2)) - ); - CAMLreturn(Val_unit); -} - -CAMLprim value mc_p224_point_add(value out, value p, value q) -{ - CAMLparam3(out, p, q); - point_add( - (WORD*)Bytes_val(Field(out, 0)), - (WORD*)Bytes_val(Field(out, 1)), - (WORD*)Bytes_val(Field(out, 2)), - (const WORD*)String_val(Field(p, 0)), - (const WORD*)String_val(Field(p, 1)), - (const WORD*)String_val(Field(p, 2)), - 0, - (const WORD*)String_val(Field(q, 0)), - (const WORD*)String_val(Field(q, 1)), - (const WORD*)String_val(Field(q, 2)) - ); - CAMLreturn(Val_unit); -} - -CAMLprim value mc_p224_select(value out, value bit, value t, value f) -{ - CAMLparam4(out, bit, t, f); - fe_cmovznz( - (WORD*)Bytes_val(out), - Bool_val(bit), - (const WORD*)String_val(f), - (const WORD*)String_val(t) - ); - CAMLreturn(Val_unit); -} - -CAMLprim value mc_p224_scalar_mult_base(value out, value s) -{ - CAMLparam2(out, s); - scalar_mult_base( - (WORD *) Bytes_val(Field(out, 0)), - (WORD *) Bytes_val(Field(out, 1)), - (WORD *) Bytes_val(Field(out, 2)), - _st_uint8(s), - caml_string_length(s) - ); - CAMLreturn(Val_unit); -} diff --git a/ec/native/p224_tables_32.h b/ec/native/p224_tables_32.h deleted file mode 100644 index 601962e6..00000000 --- a/ec/native/p224_tables_32.h +++ /dev/null @@ -1,11885 +0,0 @@ - -/* - Pre-computed 32-bit multiples of the generator point G for the curve p224, - used for speeding up its scalar multiplication in point_operations.h. - - Generated by ../../_build/default/ec/gen_tables/gen_tables.exe -*/ -#ifdef ARCH_64BIT -#error "Cannot use 32-bit tables on a 64-bit architecture" -#endif -static WORD generator_table[56][15][3][LIMBS] = - { - { - { - { - 0xbc905227, 0x6018bfaa, 0xf22fe220, 0xf96bec04, 0x6dd3af9b, - 0xa21b5e60, 0x92f5b516 - }, - { - 0x2edca1e6, 0x5335a6b, 0xe8c15513, 0x3dfe878, 0xaea9c5ae, - 0x614786f1, 0x100c1218 - }, - { - 0xffffffff, 0xffffffff, 0xffffffff, 00000000, 00000000, 00000000, - 00000000 - } - }, - { - { - 0x3b5d295b, 0x1c8b1bb4, 0xff526e32, 0xb1e67b17, 0xd0d59dce, - 0x39b91f72, 0x6a765eed - }, - { - 0x5ca289b5, 0x9204936b, 0x892ce1b0, 0x3c334a79, 0x3361b1bf, - 0x7e7bfa8c, 0x703bfc58 - }, - { - 0x5db943cc, 0xa66b4d6, 0xd182aa26, 0x7bfd0f1, 0x5d538b5c, - 0xc28f0de3, 0x20182430 - } - }, - { - { - 0xac14cf78, 0x900be126, 0x1cc497d0, 0x4b871cbd, 0x90a0ac47, - 0x6e378b37, 0x5b8d2724 - }, - { - 0x1c687c33, 0x17973bac, 0x2b763ff3, 0x4105384e, 0xaa1fe43d, - 0xfd597e30, 0x102119e7 - }, - { - 0x1d690e18, 0x17a5c9da, 0x876661e, 0x9acff9f1, 0x42f12807, - 0x55df4103, 0x6392ba5d - } - }, - { - { - 0xdd6160ea, 0xf52abe9c, 0xa90c0444, 0x9da749da, 0x4f912370, - 0x10f54ce4, 0x260e76eb - }, - { - 0xd3269fc4, 0xed95c6ee, 0x77b6e5ae, 0xd5751f8e, 0x754aa762, - 0xcd3d22b5, 0x52a53224 - }, - { - 0xeef2a10a, 0xbc1fe350, 0x1a116158, 0x7f453be5, 0x62f5eebe, - 0xca804dde, 0xa9cdb0ca - } - }, - { - { - 0xac3021f6, 0xc81fd51a, 0x96912b00, 0xa7669bed, 0x21e3c69b, - 0x4e461047, 0x3277c41e - }, - { - 0x46d8344f, 0xc64498ea, 0x5a4c7e68, 0xaf490c76, 0x53979e9, - 0x47b0ad7e, 0xa3c67f49 - }, - { - 0x9f619432, 0xcf067140, 0xdc17c09a, 0x81d39a02, 0xb80355cc, - 0xcf515e66, 0xaffd8e37 - } - }, - { - { - 0x9ec2d744, 0x4977da46, 0xcf7c6fa8, 0x9faba171, 0x35568cce, - 0x312c71d2, 0xc2834d81 - }, - { - 0x12e0737a, 0xc7d42ea0, 0x9afdfcfb, 0x2ec5614, 0x51d968ac, - 0xecbe98be, 0xf8979e01 - }, - { - 0xa7f50886, 0x5dd77184, 0x7887dae4, 0x19f39999, 0xa563eaac, - 0xe9226101, 0x9956b7a1 - } - }, - { - { - 0xdbe1e181, 0x17358a3c, 0x18136f45, 0xa677747a, 0xed65ef01, - 0x52d07e36, 0x92f2b011 - }, - { - 0x4ef5e72d, 0x7cd8771d, 0xfe1b450a, 0xbd92289a, 0x34c6b5e7, - 0xab266bbd, 0x8da6c6d3 - }, - { - 0xfe82e59d, 0xd1099e39, 0x3d20610b, 0xaf3de863, 0x6ac43f8, - 0xadcaa5db, 0x39d3cf4f - } - }, - { - { - 0x631e9cb2, 0xc3753dca, 0x21c969b9, 0x7fb64fdc, 0x71a84930, - 0x38754324, 0xcf0b813d - }, - { - 0x9806a3b8, 0xacc65c0e, 0x4ffa5fd1, 0x691faf13, 0xc618c14f, - 0x200feff4, 0xe44aa10d - }, - { - 0xc695826, 0x133504da, 0xb1582d30, 0x616c4cf2, 0x1894b058, - 0x60e421da, 0x765f4578 - } - }, - { - { - 0xa4f33ea6, 0x3337fe08, 0x33d5a555, 0x51b6c89b, 0x6bebcc22, - 0x2e5eaec4, 0xe7a0f396 - }, - { - 0x6212a4c2, 0x2433cb1b, 0xc2f1593f, 0x719fde1e, 0xde95955b, - 0xbf5f2397, 0x7ed7f0db - }, - { - 0xc3b43d08, 0x9cacc23b, 0xbbffba40, 0xd00fa7a4, 0xd0f8e52f, - 0x91e033ec, 0x77355a95 - } - }, - { - { - 0x12845da8, 0x2e1a9a73, 0xf62e86d4, 0xecc670d5, 0xdf8b303a, - 0xd57e1dc0, 0x24ff81e5 - }, - { - 0x63c44bb7, 0x9d7e7c99, 0x5527f0a, 0x83c3d8e2, 0x6febe754, - 0x33777b49, 0x5688544a - }, - { - 0x7afbe327, 0xf046c688, 0x810c6f6e, 0xb9a019e3, 0xfab1923c, - 0x3e096fa9, 0xb69f795f - } - }, - { - { - 0x4864f59e, 0xc02d5f96, 0x62a2a6b9, 0xa4a7e896, 0x781bffd2, - 0xa51ce26b, 0x739debd5 - }, - { - 0xcb21d8ff, 0x617c1116, 0xe6edb54c, 0x26f70a64, 0x21a5175d, - 0x20b75ed9, 0x9b2af9c1 - }, - { - 0xa98d4785, 0x77513e08, 0x80efef85, 0xb0a3a1ce, 0x4d94139f, - 0xf7b3cf97, 0x17a3c68b - } - }, - { - { - 0x6fd99fea, 0x7dd139b7, 0x4eda8d06, 0x3ad94fa3, 0x9f62264f, - 0x6b55ca65, 0x5c9a4ae2 - }, - { - 0xc57f7456, 0xcf8bd68a, 0x8352a6dc, 0xe2de7aac, 0xb2b53588, - 0x66798a42, 0x31dc7292 - }, - { - 0x9f6a7fe2, 0x30100dff, 0x6ba326b9, 0x4ce50f53, 0xc50d2509, - 0x28bce4fd, 0x42973453 - } - }, - { - { - 0x2555f44f, 0xe1a5d9f7, 0xc012572f, 0x87ad9d00, 0xb035bd31, - 0x68620506, 0x5136064e - }, - { - 0x3139fae6, 0x228fd324, 0x85d8f68e, 0xba338499, 0xde15cf96, - 0x9c1e83c, 0xb524f73a - }, - { - 0x10b89e4b, 0xe4a1e50d, 0x41f97bfc, 0x6e8065b3, 0xb4d59268, - 0xc81aceeb, 0x6693c55 - } - }, - { - { - 0x4169f6d5, 0x3e14094d, 0x6cbecb58, 0xd46dffa5, 0x1614a8fb, - 0x832e10ad, 0x760ce7c1 - }, - { - 0xde49e69d, 0x6c13d032, 0x2070bf2e, 0x9b66cdb7, 0x7ff1e8dc, - 0x97f750b4, 0x2adabe - }, - { - 0x7d621fd4, 0x90756242, 0x8bca6877, 0x3510517c, 0x91219467, - 0x9ae3e537, 0x9dfd87cc - } - }, - { - { - 0x1584ee8, 0x698cb0f6, 0xbb90e859, 0x80936805, 0x6f8bd09e, - 0x2647be9b, 0x48c74d40 - }, - { - 0x50880f37, 0xb6f854c4, 0x4f905524, 0x2190662a, 0x15b58207, - 0x16ced32d, 0x1c374f0c - }, - { - 0xd37ca0c1, 0xf94baa16, 0xf20f2a5d, 0x72818b9a, 0x73a1c50f, - 0x8bc3f5a, 0xb533ba22 - } - } - }, - { - { - { - 0x13d60ed5, 0xee8071b8, 0xc996af9f, 0x5c9708e5, 0xa3a748, - 0xccb7a76f, 0x4681696 - }, - { - 0x94a5ebd2, 0x47b84a3b, 0xcb99e08b, 0x5ea0f6eb, 0x864f9070, - 0x85110d9, 0x6226f895 - }, - { - 0xbc13a97b, 0x3f9a2eec, 0x824e508e, 0xe149df95, 0xca33204e, - 0xced8fb36, 0xcd97f88b - } - }, - { - { - 0x88d34697, 0x6a5fea8a, 0xb1985ade, 0xaee65ea0, 0x747d9955, - 0x7656a4c6, 0xbc227c1a - }, - { - 0xd6232282, 0x8f15aad2, 0x76d5b3b2, 0x70a4288, 0xa8bd7b82, - 0xcc48f84e, 0xfa303090 - }, - { - 0x957c8c0d, 0xc2f36c74, 0x9603da27, 0x6a24ae43, 0x24c1ba1a, - 0xb5bd3d5, 0x10f1b6ee - } - }, - { - { - 0xf0f41818, 0xd6989e14, 0x108fed28, 0x4a0b9c08, 0x90a81bd7, - 0x6d91ce01, 0x161d0583 - }, - { - 0xd6b051bc, 0x9e57ab5c, 0x4dde1143, 0x42fd4178, 0xeaa670f2, - 0xaed39808, 0x9aecf1f5 - }, - { - 0xa6840235, 0x31458005, 0xe76c4605, 0x5dbe6b44, 0x4dc335c3, - 0x5d2a48d7, 0xeb3da55 - } - }, - { - { - 0xb3a0e774, 0xdfdf58bc, 0x71925164, 0x536f450c, 0xe7f71cd3, - 0x5c983af6, 0xd30ec407 - }, - { - 0x8843b66a, 0xc76a06a9, 0x959c7eab, 0x82049b79, 0x95244833, - 0xb0fcb77c, 0x29f402f5 - }, - { - 0x8d2aa49f, 0x931bc616, 0xec52366a, 0x81538e98, 0x9fdc0829, - 0x4f643b78, 0xc94d254d - } - }, - { - { - 0xbb4d9d92, 0x384cbf77, 0x9fe8be8c, 0xc89e908b, 0xcf6185bf, - 0xf60b94d0, 0xa0c8ab16 - }, - { - 0xc10c2d35, 0xed299a94, 0x75c44e41, 0xd7db8d67, 0x344cec63, - 0x308af925, 0x964dfb32 - }, - { - 0x705ff657, 0xcfae284, 0x27a621fe, 0xe938a3b7, 0xb8ab336f, - 0xba56468e, 0xe5a99ef6 - } - }, - { - { - 0xcbcc10db, 0x65dd9453, 0xbb182b6a, 0x71c04e8d, 0xd6a7be7d, - 0x5429de60, 0x4112b72b - }, - { - 0xee119c24, 0x463c1afe, 0x39164d2d, 0x725327fe, 0x147cefe5, - 0xf146c0da, 0xeba8a8d7 - }, - { - 0x88d1f163, 0xd1780f4a, 0xd65f0b77, 0x898da1c7, 0xd6911c20, - 0xd49ac673, 0xf1586fcb - } - }, - { - { - 0xbd3e0772, 0x8a038436, 0x6f3046f8, 0xc37e6ee5, 0x4889f103, - 0xc65fcbae, 0xecba48c7 - }, - { - 0xe84b1796, 0x42b1b493, 0x8245cf17, 0x3093aae1, 0xcf85e35, - 0x3367fee7, 0x940fbf78 - }, - { - 0x25868bbb, 0xb66bf32c, 0x659eef6e, 0x4b8cac4f, 0xd07e7fba, - 0xdcbf2c16, 0x82fe985 - } - }, - { - { - 0x973dc8e0, 0x232b0b84, 0x1681bcc1, 0x64d5ecc2, 0x3453406b, - 0x98fd9325, 0x8d7c103e - }, - { - 0x8245fdfe, 0x46dba485, 0xdf173775, 0xcb0610ad, 0x6164662f, - 0x2db549f7, 0xed3629c9 - }, - { - 0xb5c5f5ae, 0xc6edd90c, 0x61f20046, 0xa165ad3a, 0x7a8074fb, - 0xf0f42e1e, 0xb7b5647a - } - }, - { - { - 0x44cd04f5, 0x640abb15, 0x62834da8, 0x94285d37, 0xcc8b86bb, - 0xc0cd4e1d, 0xa5d8d72e - }, - { - 0x415106d5, 0x7f7ff9a7, 0xdadd6e65, 0x4714ae6, 0xe1576b5a, - 0xcc7aa06c, 0x8d6c3fe0 - }, - { - 0x4a764e3a, 0x2180c7f8, 0x397855c7, 0x12d8103b, 0x73200917, - 0x8f79bf17, 0xdce5fb70 - } - }, - { - { - 0xc7fa7d7a, 0x1d0eac72, 0x2a8e45eb, 0xbaef3292, 0x9f35b1d5, - 0xda27d184, 0x9029c09b - }, - { - 0x85383fd0, 0x59925fe8, 0x76c4ce95, 0x60e7f4fd, 0x9b3f4521, - 0x48780893, 0x1827c384 - }, - { - 0xe80e9db7, 0xd0c9c977, 0xb6b34e43, 0xe52c98bb, 0xd0af935, - 0x5acb7d09, 0xe376274 - } - }, - { - { - 0x73ffc24e, 0x22b5f70c, 0xbccd2f51, 0xd31e1d68, 0xd203217b, - 0x95f255d8, 0x12f1635c - }, - { - 0xe2dcc510, 0xd33e1303, 0xbfdc0ec0, 0x3e033f0c, 0x417fc1a7, - 0x46cbaf4a, 0x5ba7fbbc - }, - { - 0xe219e5ba, 0x4e43c69b, 0xcc16d353, 0x27992973, 0x22281110, - 0xc8c88765, 0x8e4fdf8e - } - }, - { - { - 0xa0b19fd, 0x5d8236fc, 0xc205a53b, 0x9bc90ade, 0xb65e7c14, - 0xc995f268, 0x407e0632 - }, - { - 0x830c8d76, 0xf4aae49d, 0xacfe5f08, 0xacbd85bd, 0x78a01df1, - 0x38184bc6, 0xcc2e2215 - }, - { - 0x48062c14, 0xc0510783, 0x5dab41d8, 0xdfff2cd1, 0x46645574, - 0xfa43f86e, 0x52fad2ba - } - }, - { - { - 0x1d94d739, 0xf17f1552, 0x1042d89e, 0x7fc7261f, 0x720bfa60, - 0x99cda710, 0x5b7b44ae - }, - { - 0xb85c884a, 0xe704934, 0xdf4d57a, 0x66f7bd5b, 0x791574c4, - 0xf8f1dc37, 0xee4f5eb2 - }, - { - 0xad377950, 0x863b27b2, 0xb93a3463, 0x73ab764c, 0xc2b018df, - 0x15fa7b9f, 0xeb2e74d9 - } - }, - { - { - 0x65de17cd, 0x8ddbec44, 0xd4a25cc1, 0x43597bbd, 0x6afced9a, - 0x71cdd258, 0xf6eb5182 - }, - { - 0x235dff81, 0x794e77d4, 0x81321044, 0x13470fa3, 0x830843f, - 0x858e61d8, 0xe40fd516 - }, - { - 0x3018f46, 0xcca47cb8, 0xfe13137e, 0x771c0e7f, 0x65174c5c, - 0xda8b4214, 0x9daa6990 - } - }, - { - { - 0x77198c0c, 0xb70302bd, 0x93508c83, 0x75676a2e, 0x613567b0, - 0x104e4355, 0xc3094270 - }, - { - 0x74416151, 0x1a3aedba, 0x38fa6ae9, 0xb699d898, 0x108ddbf2, - 0xdc4f9732, 0xdbde6259 - }, - { - 0x66dc2dd1, 0x4e2f9f3b, 0xd61c0706, 0x6f8107fe, 0xa3a46a19, - 0x313775e9, 0xa6aa7f7d - } - } - }, - { - { - { - 0x57a96648, 0x2b3e16e4, 0xed080d8b, 0x3c40ea7e, 0x85077236, - 0x781f9095, 0xd92ff0f1 - }, - { - 0x350ebe31, 0xfe9cb255, 0x58c677b2, 0x695fe702, 0x21c4ab47, - 0x7e99d197, 0x5eee4c11 - }, - { - 0x33962fba, 0x937ab2d9, 0x66be3e0c, 0x9e3f075b, 0x78730c74, - 0x62d8d85c, 0x55f68b03 - } - }, - { - { - 0x380fe6b2, 0x57fda602, 0xbcafbe58, 0xb8658554, 0x88902a5f, - 0x33d14fee, 0xe9d612c9 - }, - { - 0x946fbc17, 0x2c738f94, 0xb44e7acb, 0x910041d2, 0x1f9c266, - 0x450bd421, 0x250a3478 - }, - { - 0x16908235, 0x6b4aa062, 0xce34d3eb, 0x7011885e, 0x43d01fb8, - 0x8b7e144e, 0x1d402ada - } - }, - { - { - 0x4d2c7a8f, 0xbf8b5bd2, 0xea6fecd1, 0xa03d58bc, 0xbb9aaeb5, - 0xb9f2cac0, 0x92db25cc - }, - { - 0x2b19252b, 0xa6ae1f7e, 0xeaeba53c, 0x72112705, 0xf36b2eae, - 0xc4d163b3, 0x2f7b06c8 - }, - { - 0x52eb5c9f, 0x6b7e08ed, 0xe7f13a78, 0xc92a5c6d, 0x69066cba, - 0x644471d9, 0x86aa2611 - } - }, - { - { - 0xddcaa33d, 0xfe64dd8a, 0xeed651c2, 0x35f0526a, 0x1e144fdb, - 0x9c4ebab7, 0xcd93b84d - }, - { - 0x496e54e0, 0x7871253b, 0x29f0ef77, 0x33ff19a0, 0x13a98a2b, - 0xd6607fd9, 0x530d7491 - }, - { - 0xce294a26, 0xdf114a6a, 0x3bf3933a, 0xa2eefc0c, 0x526e1785, - 0xb7405b66, 0x226c938 - } - }, - { - { - 0xf963514d, 0xcaf4ed60, 0x10a1d9a8, 0x4be60203, 0x54674b22, - 0x13d17076, 0xa98db41a - }, - { - 0x11a1b9c7, 0xe7a682ad, 0xf490f057, 0xc33e79b7, 0x225ae434, - 0x8c121b4e, 0x55560384 - }, - { - 0xfb7cd132, 0x7579850, 0xaf4659eb, 0xbd8c2a39, 0x3946ae38, - 0x8e222a8b, 0xbd1c65e - } - }, - { - { - 0xf7d2b7cf, 0x23b8d5f9, 0xd2691ae6, 0x5e2e4857, 0xf515d5e1, - 0x2ca4c131, 0x690c4880 - }, - { - 0xbefb1c56, 0x7259e2, 0x246af612, 0xbe945c7d, 0x1c4f81cb, - 0x91e870e9, 0x54396b2b - }, - { - 0x3592e756, 0x78701ac4, 0x2546a792, 0x2168f362, 0x37053dcd, - 0xf1a47d96, 0xc5467959 - } - }, - { - { - 0x6c7ea7c7, 0x38058731, 0x20202a69, 0x5b077042, 0xe6cad971, - 0x420556ca, 0xb93a59cd - }, - { - 0x62d3c26b, 0xc43108ff, 0x988749b1, 0x2a1de415, 0x95d6b87a, - 0xbd58f636, 0x8a232df3 - }, - { - 0x9b3e3eea, 0x46e64973, 0x341ac55a, 0xe5e92fce, 0x7ac0c271, - 0xf29534dd, 0x8eceb1e9 - } - }, - { - { - 0xc17507d9, 0xe800c7d9, 0xa8e98d3a, 0x2562ae0d, 0x23fb6e2f, - 0x977d3e59, 0x87482572 - }, - { - 0x713fc645, 0xfb077429, 0xfe33b1ba, 0xd932aaf6, 0xb577a5fc, - 0x4db2569e, 0x7fab4bd3 - }, - { - 0x7485d4c2, 0x437cb080, 0xc41e95d, 0x5c026c40, 0x15c3037, - 0xd8459857, 0x19f09726 - } - }, - { - { - 0xa81f42b2, 0xc2b6435e, 0x4eb0393d, 0x2db070bb, 0x796bfee0, - 0x51fad05b, 0x2c5f3815 - }, - { - 0x2dd61b05, 0x74e1f60a, 0x75064d73, 0x73018e15, 0x535edd75, - 0x640c716, 0xbabd7284 - }, - { - 0xbceaee4, 0x410a848d, 0x5fd7f930, 0xd7353959, 0x68dc830e, - 0xe95cd781, 0xd3b2357c - } - }, - { - { - 0xf8876de0, 0x49193881, 0x42c76610, 0xdc2828f5, 0xef58b09e, - 0x9239d5fd, 0x2a3837ad - }, - { - 0xe6e1f534, 0x574b78d5, 0xc0fce26e, 0x473aa34e, 0x966e72a6, - 0x11026a4d, 0xf54d2cfc - }, - { - 0x7fb1496f, 0x1ad99b8e, 0xea4ecc33, 0xbe3d26d2, 0x135ea056, - 0x28c658f0, 0x38481d1e - } - }, - { - { - 0xf63ca076, 0x24c25515, 0xff6c0ab9, 0x5c9f3e8b, 0x534e2e22, - 0xa4271260, 0x1e4d5296 - }, - { - 0xacab5c10, 0x2c99dfad, 0x2c52bd30, 0x839a6ff9, 0xf91d252e, - 0x7048cb84, 0x305d5c66 - }, - { - 0x150801a3, 0xba33b5dc, 0xa8ea1056, 0x4167f489, 0x1ebb87ed, - 0xd0ac9d41, 0x639ee5c2 - } - }, - { - { - 0x89a6eaf, 0x23935f35, 0x2144662, 0x94deb3f0, 0xf700a7f2, - 0xa095b31d, 0xa740ced9 - }, - { - 0x952d7aba, 0x6624eda3, 0x2f8ebf6c, 0xd7403638, 0x317d9ba1, - 0xbe8af417, 0xe3996c56 - }, - { - 0x69bd0886, 0x2f91e2ca, 0x9497a16c, 0xb951cbae, 0xdbacf669, - 0x59de02af, 0xf716f8d9 - } - }, - { - { - 0x4a01c40f, 0x7ca7a2b4, 0x699af13d, 0x614f1a4f, 0xf35abd47, - 0x9b60ef17, 0x61aa7b54 - }, - { - 0xf92d445d, 0x94305095, 0xe1e08ae6, 0x8d5c19fe, 0x11857598, - 0xc52b5d90, 0xd7342ed7 - }, - { - 0xf07dc13b, 0x8915a74d, 0xf28ca0c3, 0xb34d252d, 0xcbaa6a69, - 0x55228eb4, 0x11b4480b - } - }, - { - { - 0x60e2114f, 0x9538230f, 0xf13e929b, 0x69740926, 0xf261eee0, - 0x2c19e458, 0x7ef3e9ce - }, - { - 0x7bb714c8, 0x597a73c8, 0x96b65867, 0x69864f2e, 0x2e7985dd, - 0xe483ffd9, 0xcae2bcda - }, - { - 0x8ef4753c, 0x45f35878, 0x8999293b, 0xcd0b81eb, 0x4cfd1f15, - 0x822d3b7a, 0xa29ad195 - } - }, - { - { - 0x5425b9a, 0x15ea3607, 0x3f417ee2, 0xffba3c0c, 0x684a9bb0, - 0xee95b862, 0xb8b3845b - }, - { - 0x1d845f, 0xb0981ebf, 0x9baae673, 0x450e5bd4, 0x6f9aaeb6, - 0x803be1d4, 0xaa507474 - }, - { - 0xdafb21da, 0xf69b6bae, 0x1f41072c, 0x8d5246af, 0xf803561b, - 0x7f417d45, 0x421b2de8 - } - } - }, - { - { - { - 0xa0e2e39b, 0x8010ec89, 0xcf922634, 0x31f2329b, 0xa262e430, - 0x40234b6b, 0x1355057 - }, - { - 0xc380322f, 0xff8a6644, 0xe33b9e1b, 0xcc93b77f, 0xfba074c0, - 0x7d47ebdc, 0xd91a9002 - }, - { - 0x24febc17, 0xe39abfae, 0x3b6e4207, 0xa6d1bf19, 0xe93fcc68, - 0xb677ba04, 0x1b512192 - } - }, - { - { - 0x6b857960, 0xc8f1571a, 0x6e3c19aa, 0xa8810034, 0x50afd802, - 0x4739ffc8, 0x594d2ca9 - }, - { - 0x3ab204a, 0x38ad3bcf, 0x65889145, 0xf7e74984, 0x2452a42e, - 0x27411341, 0x14811c35 - }, - { - 0xf485c685, 0xe9533f84, 0xce82ecc1, 0x80b9b04, 0x94738179, - 0x418b508e, 0xb004f1b9 - } - }, - { - { - 0x6f92d7d4, 0xcd7997d4, 0x482774e3, 0x4865f8f, 0x83a63704, - 0xe335de9a, 0x92089eb5 - }, - { - 0xb24cde2b, 0x8e1216f5, 0x88b28ca, 0x898943ce, 0x168b573, - 0x366a87fc, 0x87a9fe2e - }, - { - 0xd300a641, 0x8d9aabde, 0x375b44a9, 0xd631ce4f, 0xca3dbee7, - 0xcf7336af, 0x5023c469 - } - }, - { - { - 0x26522e7b, 0x9305abca, 0xffab1537, 0xf00ed3c0, 0x2671390b, - 0x500e7909, 0xefe9f78b - }, - { - 0x8fbc11ff, 0xef3d2842, 0x5c2ed6a6, 0x53e69897, 0x6786a2c6, - 0x595faee0, 0xb98048c - }, - { - 0x1a99ef4, 0xbc79c707, 0x53290a59, 0x2576ee93, 0x88a95936, - 0x1c738c62, 0x459fc77a - } - }, - { - { - 0xc632ce99, 0xf3b549c1, 0x9be43dbf, 0xc66e9a16, 0x910221db, - 0x7218cee1, 0x76e73cb6 - }, - { - 0x17fbb5d6, 0xf9fcac9a, 0xcb6377c0, 0x1715f600, 0xd4f75f5d, - 0x8d1e8078, 0xb2cbd643 - }, - { - 0xbba11953, 0x6cc97778, 0xb42d1e96, 0xb0213ba0, 0x5157e7bf, - 0xf7474b85, 0x10635167 - } - }, - { - { - 0xaaa3436a, 0xbc44b0f1, 0x3aca6854, 0xf12b676e, 0x7e9a9182, - 0x7c3585e1, 0x346858b6 - }, - { - 0x586dcf2d, 0x961c942c, 0xdedf02a1, 0xdb5ada1c, 0xee66d7b3, - 0xf606acaa, 0xddd96cd7 - }, - { - 0xe9011ffb, 0x218a2b61, 0x551b2315, 0xb3664519, 0x5a6b0562, - 0x2081eb64, 0x6bf6e2b5 - } - }, - { - { - 0xf93a49ef, 0x324e130d, 0x461c8c1d, 0x735134d, 0xf28939bd, - 0x3f775adf, 0x6622d569 - }, - { - 0xc787d7bd, 0x5bbfd0b8, 0xe0688b72, 0xc18bec72, 0xa4c227d7, - 0x6c575955, 0xa65bed4e - }, - { - 0x1c79f23b, 0x87da9e41, 0xd4de0201, 0x5764cfc2, 0xe7a59003, - 0x6125df71, 0xf036a332 - } - }, - { - { - 0x57d5a382, 0xf7203cc5, 0xb4794f78, 0xc1585372, 0xb39eed27, - 0x2db119da, 0xff84ebb0 - }, - { - 0xa1bf05e7, 0x935f430a, 0xa49b5460, 0xcb753ead, 0xc0c3ca26, - 0x45eaedf8, 0x60d6eca3 - }, - { - 0xff7e0e76, 0xb061411c, 0x75e14a4c, 0x364b7e96, 0x668fd08, - 0x151872c2, 0x84d0b24c - } - }, - { - { - 0xdbe8a21d, 0x5df33b7c, 0xcd923014, 0x4a95712, 0x31e72e4e, - 0xaafe0918, 0x73a48d58 - }, - { - 0x2248ec8e, 0xe137317a, 0x291fb9cb, 0x50311afb, 0x3c07e808, - 0xdfe31d2b, 0x90b75304 - }, - { - 0x4e2554a5, 0xf0e32574, 0x8b8882ee, 0xce58f3bb, 0xbb4c14bd, - 0xd3a29cac, 0x4e0c906a - } - }, - { - { - 0xe7c6fcad, 0xe6971aa5, 0x99bd3f8f, 0x4c15d0e8, 0xcc65e875, - 0x67818f33, 0xda395cb9 - }, - { - 0xcf4fb2a, 0x47ebb1a4, 0x44564c76, 0x570e182a, 0xa437c48c, - 0x816d04d, 0xac148b98 - }, - { - 0xf601ec2e, 0x3c8f9caa, 0x1e13528c, 0xd877029f, 0x77adc655, - 0xceacece8, 0x7c26c103 - } - }, - { - { - 0x6ba7744a, 0x62bfbdd, 0xff515951, 0x44424269, 0x95c61f1e, - 0x70dcdfab, 0x61a091de - }, - { - 0x4dce1e70, 0xd9a4974e, 0xf647cc90, 0x39eb40f3, 0xbc7c0f6b, - 0xd7483478, 0x43ed4598 - }, - { - 0xc848dfee, 0xc8a472aa, 0x58d79765, 0xb32900ec, 0x88b494fa, - 0x8f40491d, 0x11857c3d - } - }, - { - { - 0x9bc503a3, 0xa805429c, 0x75d0317a, 0x54df8a7f, 0xbb8cbe15, - 0x18b0706d, 0xe938492 - }, - { - 0x858209d7, 0x681e140c, 0x5ed654c1, 0x2ef21a8d, 0x6b408c4e, - 0xedad0978, 0xe6d3fbd - }, - { - 0x42ad5e6b, 0xbfa4443a, 0xe83e223c, 0xa0739fcc, 0x4d3877d1, - 0x687c0add, 0x7938443f - } - }, - { - { - 0xb50b6630, 0x3370ace4, 0xfda1756a, 0x76ab7a7a, 0xc95b1504, - 0x689609e, 0xc0f6ec8 - }, - { - 0x8145bf7b, 0x2e6f5d79, 0xae8574, 0x39af53, 0xf404ae02, 0x65069caf, - 0x9a0cb59e - }, - { - 0xb3da190a, 0x8a8be79a, 0x547283c8, 0xb2451cce, 0x45be6ba0, - 0xdbaae46f, 0x31e1019b - } - }, - { - { - 0x553a7fb7, 0x482760db, 0xd203ce4e, 0xd27ea084, 0xe61f00b0, - 0xf1e762b1, 0x254579e7 - }, - { - 0x6f0e9f79, 0xcd452d22, 0x6da1781b, 0xbc4a82b3, 0x150a43fd, - 0x48fc8856, 0x21fcedae - }, - { - 0x371a9ed9, 0x6653e1a6, 0x72f546dd, 0xeeed8b01, 0x350fe2a4, - 0x46be668, 0x9d8393b6 - } - }, - { - { - 0x144bf890, 0x94230dd8, 0x688e73ce, 0x9ffea534, 0xcab00054, - 0x3868b1cb, 0x5a3a3aa5 - }, - { - 0xe56b29ed, 0x27120479, 0xef099829, 0x1236f706, 0x38ae8853, - 0x8bddbca6, 0x5f3e9abe - }, - { - 0x8741f23f, 0x71e834ca, 0xe684cb14, 0xbfbb2d19, 0x4f66847e, - 0x8c894bf9, 0x344d2497 - } - } - }, - { - { - { - 0xb161a82c, 0xadcca9d2, 0xc25720dd, 0xf35d6d01, 0x6cbc0cab, - 0xcdb2dfc2, 0x782e362a - }, - { - 0x42b77f6f, 0xdbb3679, 0x9f967c19, 0x551d1963, 0x9833faa0, - 0x652d01b4, 0x10bcfcb - }, - { - 0xccc13fc0, 0x747790f3, 0x52c7d4a9, 0xe2742ea9, 0x6df6ad9a, - 0x712b229b, 0x8d2c275b - } - }, - { - { - 0xd7ed148b, 0x6554ffba, 0x4fa6db01, 0x1a0aaad9, 0x9b7faca7, - 0x4fd97d21, 0x6cd6ec92 - }, - { - 0x2a27a5d9, 0x84688773, 0xc3af1eaa, 0xb2031110, 0xa77c9f6a, - 0x63cbc1c1, 0x8d52aa73 - }, - { - 0x81a472d0, 0xc36d9220, 0xa9463570, 0x2bbf216e, 0x9a0f85e4, - 0xa7cafe81, 0xc7a77991 - } - }, - { - { - 0xdb9991af, 0x50b16e08, 0x286afbcf, 0xadecc24b, 0x166615ee, - 0xd56c058a, 0xc75fcc76 - }, - { - 0xf594c1df, 0x5d5659b7, 0xf0af8765, 0xa084be12, 0x582ef150, - 0xdc8c91d2, 0x43845f2e - }, - { - 0xa898c3ff, 0x9ff5f029, 0x4944277d, 0x8fc02945, 0x1c768044, - 0x68701504, 0xbec776d1 - } - }, - { - { - 0x90a85bb2, 0xc8feaca6, 0xb3635490, 0xd477017c, 0x90b19b60, - 0xe7142a3b, 0xcdc7efdb - }, - { - 0x66f6b4a6, 0xbfb6ec8e, 0x5c6bf3bc, 0x2bc1b719, 0x6b5a756b, - 0xe27daab9, 0xa606baf3 - }, - { - 0xdf9ea517, 0x2dc4000f, 0x5a2187c6, 0x57141157, 0x98ded029, - 0x4b6c77c2, 0xcec89ab9 - } - }, - { - { - 0xd7e73eb1, 0x20a09e5c, 0xd08fe790, 0x5c9013dc, 0x496c1f4a, - 0xb778d0b, 0x385236c3 - }, - { - 0x1ba5e275, 0xd327f1b, 0xf1734203, 0xb4e8f9c4, 0xcc9531a5, - 0xb4a716c5, 0x943f54f3 - }, - { - 0xc8e4fc63, 0x3400b18, 0xe5d65489, 0xcb343577, 0xe25c81d7, - 0xc2f396c4, 0xd29c06c6 - } - }, - { - { - 0xd5f064fc, 0xa76f46a1, 0x6b4d7f7e, 0xa33224f2, 0x9d1a156c, - 0xa752d561, 0x306d623 - }, - { - 0x4b990414, 0xeca9dffb, 0x5c0edf13, 0xa42b7edb, 0xf1e9173, - 0x84dbdfb9, 0xd588aebb - }, - { - 0x24d1d0b1, 0xd670fbdc, 0xa95b3f59, 0x15567383, 0x774e36da, - 0x7a06bda, 0x97e17f39 - } - }, - { - { - 0x9ea9c576, 0x24a76c9c, 0x5def158, 0xcc98512b, 0x112aeb57, - 0x99922763, 0x73870cb7 - }, - { - 0xa4daf0e8, 0xad0947b0, 0xeb677a53, 0x28df59fe, 0x60e0e4c4, - 0x88875a5c, 0xa6cebb16 - }, - { - 0x72c9bd0, 0x6febc8f1, 0x5922ef9a, 0xc1ccf27, 0xb6dbb40d, - 0x7eba7744, 0xa269cb0 - } - }, - { - { - 0x8a71c3cb, 0x9754778b, 0x48202063, 0xedb4e3b0, 0x3710e7d9, - 0x103e69b0, 0x2f1e2ff8 - }, - { - 0x5ce6e7f4, 0x38bc86aa, 0x22d68d82, 0x5214c79d, 0xb3254451, - 0x37fb7937, 0x56faf559 - }, - { - 0x319970c5, 0x4b277238, 0xd9f0ea04, 0x7445b343, 0xa7903beb, - 0x7caccbff, 0xaf4cf3b3 - } - }, - { - { - 0xaf817253, 0xf2c3d365, 0xf24356a5, 0x2712aa5c, 0x22a2fec3, - 0x9f722753, 0x9fb7d7a9 - }, - { - 0x316b42b3, 0x9ad1eee6, 0x9348854b, 0x7db33c5a, 0xff4461f, - 0xdae587e4, 0x593c32a4 - }, - { - 0xabb63aa4, 0xac0b0a9f, 0x81976a32, 0x53f62f61, 0xd82f7ba4, - 0xbae523bc, 0x6fe60460 - } - }, - { - { - 0xd1ffd49e, 0xe8429a0c, 0x65b3e363, 0xed47ea41, 0xba436774, - 0x4f46457, 0xca128a5c - }, - { - 0xf9502599, 0x59fe0a, 0x81de4c38, 0xf3a6db6b, 0x3f7c2be7, - 0x2b10f55a, 0x548fb829 - }, - { - 0xd3c82bca, 0xb80602a4, 0xabbab1cc, 0x27bd6884, 0xd055698d, - 0x7561bcbc, 0xf0413046 - } - }, - { - { - 0x434a0955, 0x3163f63, 0x9168e886, 0xf11db97f, 0x434a4b87, - 0xa3b77d5f, 0x2d9fb6bc - }, - { - 0x9218f6dd, 0x664218a1, 0x67cb87d3, 0xd040b3b0, 0x9d7965ef, - 0xbd888981, 0xe0508cd1 - }, - { - 0xa3ca11f8, 0x8e23ffd7, 0x4fc70759, 0xba567f72, 0xd44a3040, - 0xe8c82ba7, 0x620a4488 - } - }, - { - { - 0x2bd3ac0d, 0x3557e5ba, 0x8f0e5080, 0xb588613c, 0xd83856c3, - 0xb9b29c33, 0xee2ed084 - }, - { - 0xaca41c23, 0x22c8ce02, 0x78867781, 0x4d52cc6, 0xe04c8d1f, - 0x4098c40c, 0x787e5929 - }, - { - 0x39865f02, 0x7ad51f2, 0x399e098e, 0x94095b00, 0xcfc83115, - 0xe310ce86, 0x752a7510 - } - }, - { - { - 0x5ade386d, 0xf23feb0f, 0x9004f4e2, 0xdfb518ce, 0xf0b7f82b, - 0x7dcb42df, 0xf4d853af - }, - { - 0x4577670, 0xf60e7fad, 0xff898ed1, 0xc836c72e, 0x9738839e, - 0xf66f967b, 0x96ee231a - }, - { - 0x137d8193, 0xaa51c62a, 0xa41bdbaa, 0xcb85365d, 0x2fc34b8f, - 0xb2092659, 0x138aaf98 - } - }, - { - { - 0xdc47de75, 0x44303e02, 0xf9c2c029, 0x91fbc57, 0x33ca8a5c, - 0xea66b569, 0xe0cedfc9 - }, - { - 0xf937f46, 0xf8aced09, 0x6dbd164d, 0xf1ad6f27, 0x79b7acc1, - 0x1fce125f, 0xfa4411b3 - }, - { - 0xb7d34fea, 0x52a46e3, 0x8fcc17a5, 0xe086f93e, 0xbecbfdf4, - 0x961c9206, 0x750cc42e - } - }, - { - { - 0x4f5fd1f8, 0xfb2b1350, 0xd74de7c0, 0x892fcf4, 0x1e2dac98, - 0x6ebffa63, 0x5b2430ae - }, - { - 0x5b9904b3, 0x98f8bd12, 0xc3eae8d, 0x9477230e, 0xc268dbb7, - 0x15306750, 0x12e98292 - }, - { - 0x68e2806b, 0x27d39989, 0x170071dc, 0x1173c78e, 0x80a0383a, - 0xc2c626fe, 0x239c8b79 - } - } - }, - { - { - { - 0x1444417c, 0x50aee4f0, 0xbb20daa9, 0xdf7afef9, 0xece1dadb, - 0x27199908, 0xf8844c14 - }, - { - 0x70b754b3, 0x7c6f2ceb, 0x6868802e, 0xc662ce5, 0xf603173d, - 0x130cc31e, 0xd83d6ff5 - }, - { - 0xcc1bff21, 0x9708485c, 0xd8f9281d, 0x4b82f29e, 0x76081ab0, - 0xe97c0c96, 0xb011d973 - } - }, - { - { - 0x7df74be2, 0xb4713726, 0xc3380afd, 0x112e4764, 0x28725a0, - 0x436591e0, 0x910ddd7f - }, - { - 0x922d21fc, 0xe8b4eb4d, 0x36cbe198, 0xcb8185f4, 0xf8c042b8, - 0xbe5a5b1a, 0x3f875b4c - }, - { - 0x7eadae1c, 0x69d22262, 0xece80922, 0x3523bd27, 0x46b20a45, - 0xc46d8197, 0x2485dfb0 - } - }, - { - { - 0xcd80979d, 0xd60937f3, 0xc52dd24d, 0x16a3e4f3, 0xe2032323, - 0x5362eec, 0x4e1314b3 - }, - { - 0xffe14dc3, 0x9ebab2e4, 0xa316a90, 0x7ecbe27d, 0xb4eb10ce, - 0x5c925b9c, 0x57cd181b - }, - { - 0x54c9374f, 0x23592027, 0x67c7e2b0, 0x80b09a43, 0x37cb20b8, - 0x83d35d16, 0x81356234 - } - }, - { - { - 0xa06d0c33, 0xffa331b2, 0x52a02a23, 0xb26cd99d, 0x879f8acc, - 0x59410b32, 0xd2400e38 - }, - { - 0x3c82d349, 0xf193786e, 0x3e2046f0, 0x12ea889d, 0xdb2e4573, - 0xed1551d8, 0x75438c37 - }, - { - 0xcd760450, 0x554028fd, 0x9d1a8603, 0xa8ea6781, 0xbfcb0a85, - 0xb116b7fc, 0x7965eb87 - } - }, - { - { - 0x476d7154, 0x5550b822, 0x4e3106bd, 0x6bba26dd, 0xfb1045d2, - 0x6cf3cf72, 0x1f738797 - }, - { - 0x407859fe, 0xc7ef0b29, 0x8e4932d9, 0xf49c321d, 0x525d9b47, - 0x93e5ce61, 0xeba4697 - }, - { - 0x703a6d, 0x4d6bc5d4, 0xcaaed723, 0xd563a572, 0xece831b3, - 0xd8d8a6e8, 0xcbc6a2d6 - } - }, - { - { - 0x4ed80ca4, 0x8510074e, 0x5b2af641, 0xdc5422c0, 0x8ecb2219, - 0x163d2be4, 0x33b80a62 - }, - { - 0x41515a34, 0xf9700f8d, 0xfffdf58c, 0xf42a2ee7, 0x74896e4, - 0x59c77392, 0x8e96127 - }, - { - 0xd9204ce2, 0xa718864f, 0xc06a9af2, 0x1ce1ef75, 0x2cc0bf34, - 0x26d41551, 0xc1b48e94 - } - }, - { - { - 0x5ad96b16, 0xc426d4c6, 0x753f0e6e, 0x469708ec, 0x69b688c2, - 0x5de989c8, 0xd4993b4a - }, - { - 0xc126e337, 0xb5018c23, 0x4115360d, 0xbd4dd3c2, 0xee71c28, - 0xb8c3980d, 0xfb2c7115 - }, - { - 0x14c8275f, 0x97f706eb, 0x2ee87ca4, 0x497b1326, 0x1b7d0cd5, - 0xa82f82fc, 0x36ee605c - } - }, - { - { - 0x276ecd12, 0xa5b22b3d, 0xc2f236b6, 0x4915402d, 0x34b6064b, - 0x6b86b185, 0x86b1175 - }, - { - 0x6fbc30fe, 0x45fe0ab0, 0xc81e6e66, 0x1f6f1cd3, 0xcbf9e288, - 0xc9e8045a, 0xd89df4ed - }, - { - 0xd33d9c32, 0x30a8b449, 0x10a56966, 0x3c4f5e8b, 0x73c9021c, - 0xef5df964, 0xc0455c45 - } - }, - { - { - 0xb5530bf6, 0xaaccb025, 0xb773d660, 0x128dbd56, 0x918a81d1, - 0x2c354e22, 0x8c80707a - }, - { - 0x57d10c04, 0xf5965219, 0x668898ff, 0x58dbcda0, 0x3860eb1f, - 0x90d2e71a, 0x3cb520ef - }, - { - 0xa1e48ffc, 0x3234923d, 0x2743987c, 0xa84ebc4c, 0x48e56df8, - 0xd08f3573, 0x519823b3 - } - }, - { - { - 0x9ecadce6, 0x6a200d3a, 0x87234e99, 0x50c4a57a, 0x133bc37b, - 0xc4f89f16, 0x3817c918 - }, - { - 0x27346f66, 0x3c3cd881, 0x5882fadc, 0xf7fc6cac, 0xc280dc18, - 0x538b03e6, 0x550be3d2 - }, - { - 0xca4193b3, 0x5dda5285, 0xf18f18cd, 0xe4480fd6, 0x2ecc3ee5, - 0x4d6acafe, 0xe79c332b - } - }, - { - { - 0xb4873e0, 0xdc6e2cb8, 0x96251e6, 0x190a5520, 0x48934b8b, - 0x752843c8, 0xa59c716a - }, - { - 0xa1f351a3, 0xafdc5582, 0x44b3a859, 0xbaf6ea5e, 0x45927ec4, - 0x8027fbf, 0xc91f639 - }, - { - 0x82ae75ab, 0xb4c87c21, 0xb5246a07, 0xb9741480, 0xe4595af0, - 0xae9a44e1, 0x9006a50a - } - }, - { - { - 0x63302fc0, 0x155dcaf3, 0xfdfad60d, 0x32ef7671, 0x34a32906, - 0x7787a988, 0x11288393 - }, - { - 0xb5c18c67, 0xb5b57511, 0x5457b735, 0xf78b503e, 0x623b2080, - 0xd29481db, 0x71d71cfc - }, - { - 0x655f64a9, 0x68926286, 0x599ab8b7, 0x8f351dcc, 0x558611d, - 0x1c81b5dd, 0xd0d99d75 - } - }, - { - { - 0x2977d036, 0x7dc8ff6b, 0x8efff3ca, 0xa165669a, 0x20ac439, - 0xf4518624, 0xd54dc29e - }, - { - 0xde96e22, 0x1a9321ee, 0xae3aa80a, 0xbe2e3ace, 0x82747787, - 0x3bd22871, 0x3fa49f33 - }, - { - 0xebca694a, 0x8e8abddd, 0xf5f7343f, 0xda6614b9, 0x67324aae, - 0x40fada3b, 0x8065d155 - } - }, - { - { - 0xa7adecb2, 0x55553160, 0xe7e6b81c, 0xdb0a5e3f, 0x70b100df, - 0x3f2ea27a, 0xe47e4613 - }, - { - 0x699af2e, 0xcd26e3cc, 0x3f68e965, 0x2aa738e0, 0x3fde2d7d, - 0x887e1990, 0xe494b417 - }, - { - 0x27a67161, 0x7b41b27c, 0x838eb6ca, 0x9f457002, 0x3e9ffeb1, - 0x1e86722d, 0x15f00150 - } - }, - { - { - 0x3609f648, 0x2ffe9880, 0xb397d104, 0x931d7aca, 0xf985ddc3, - 0x7551cb30, 0xad91da0b - }, - { - 0x1a772f4d, 0x81feee75, 0xca6b704, 0xd367d1ba, 0xcded3383, - 0x1f3df7d2, 0xfc31772a - }, - { - 0xc7257d9, 0x9d806382, 0x987bfe9, 0xdd09cb52, 0xe45abaae, - 0x5b4425b7, 0xcc5d399d - } - } - }, - { - { - { - 0x4dd64091, 0x7a7b7c00, 0xf522a210, 0xf6861d72, 0xe12d8542, - 0x8a9fb69d, 0x767fa551 - }, - { - 0x612ad6cc, 0x7a4a7d5a, 0x50b2b17d, 0x44d7c205, 0x6e24a396, - 0xfd42ed8f, 0xd5856571 - }, - { - 0x70b12442, 0xe3780069, 0xde709c61, 0xbf6f21f7, 0x2c7dae9c, - 0xc864f80a, 0xd1254892 - } - }, - { - { - 0x9484342e, 0x9dbf23b0, 0xf2657418, 0x3e331408, 0x9bdae5a3, - 0xf21f8c3d, 0x7f63def2 - }, - { - 0x5b7cc9be, 0x5ef9da5e, 0x73ccfac0, 0x46acf808, 0x4d96e601, - 0x4ac60d50, 0x53b4f8bc - }, - { - 0xa6e77302, 0xf908cb7f, 0xccf97946, 0x1440e961, 0x22b18434, - 0xe740da83, 0x7590dffe - } - }, - { - { - 0x4b06c3ec, 0xed0f2574, 0xcc4b10c9, 0x4685b45d, 0xf49f36fc, - 0x9507a622, 0x56e8f638 - }, - { - 0xf5ca209e, 0xb4f5b21c, 0xbfb100f5, 0xc630c503, 0xbe996b3f, - 0xdfb7993e, 0xe3fa842d - }, - { - 0x3e75f4c6, 0x2e6d96ad, 0x461151a4, 0x301f6cd9, 0x6ff86f01, - 0x7f54ec4a, 0xe8501d94 - } - }, - { - { - 0x14c8de8, 0xd318179d, 0x6a5652c8, 0x5c2a1ab7, 0xd63135d2, - 0x8fd9d98, 0xdfccf6d2 - }, - { - 0xc39fef30, 0xc6da60f4, 0xb576a93e, 0x541fcae3, 0x7d794d5a, - 0x5c607c21, 0x3bdc3c4c - }, - { - 0x5bd2606c, 0xbb63c92e, 0x3f8dc0ba, 0xb54af547, 0xbfe2c03a, - 0x21bab7b6, 0x5bcc5a92 - } - }, - { - { - 0x5ecf01d8, 0x99cc7602, 0xa007f461, 0x7f01cf9d, 0x25dc9aa3, - 0x7c59f230, 0xc47dba9 - }, - { - 0x499e529, 0xd3d329f0, 0xb84176b7, 0x6646d990, 0x33508dec, - 0xff72200, 0x3a3582 - }, - { - 0x118e84b1, 0xa4ac4bd0, 0x7fc64452, 0x6ab87630, 0x2215dbec, - 0xec425707, 0x3e752d57 - } - }, - { - { - 0x35923249, 0x535d3438, 0x658194e8, 0x6e184d79, 0x75e02881, - 0x22e5d41c, 0xd6aef974 - }, - { - 0x9e5cbc9b, 0x40cc0116, 0x137554c8, 0x31717aa9, 0xbb5ca12d, - 0x8d5c8faa, 0x8635fcea - }, - { - 0x5bd4fc63, 0xc4bac38b, 0xf8553624, 0xf4694536, 0xfa266636, - 0x1afca8da, 0x502c1672 - } - }, - { - { - 0xbfd8ec89, 0xa7780c5e, 0x53e1dfa1, 0xdf1d898e, 0x5c188dc6, - 0x2a2a0d20, 0xf064c890 - }, - { - 0xd2980a67, 0xaecda1c6, 0x5f910eac, 0xc529bbfc, 0xd06accf4, - 0xf4f3cba2, 0x39dc6cc0 - }, - { - 0xb2cbda7c, 0x915da1b4, 0xa35ea3ff, 0x464c7278, 0x422e2c57, - 0xd797fd44, 0xb30db3bb - } - }, - { - { - 0x2e9cf59, 0xdc8b08fa, 0x65348157, 0x136a4224, 0x5986446a, - 0xe96f172f, 0xf86339e1 - }, - { - 0x9da5fbeb, 0x48ba6b7c, 0x5e35402b, 0x1dfde83d, 0x629c11c3, - 0x60fb03c7, 0x31ba77ac - }, - { - 0xc4ffb27d, 0x4bea119, 0xf5b8426f, 0xcdc7fe0f, 0x8b515cc6, - 0xe26a687f, 0x1b858fe0 - } - }, - { - { - 0x76afc8eb, 0x8036ec7, 0x1625b5f8, 0xa8ebe6c9, 0xedb0b4f0, - 0x478dabcd, 0x9bedaa9e - }, - { - 0x42802be4, 0xd6fe6419, 0x354a2ecb, 0x2d16dfd3, 0x820ea1ed, - 0x3dabc1fd, 0x8852cc52 - }, - { - 0x970285c8, 0x855201, 0x9c209131, 0x3c108192, 0xa7d5af08, - 0xd8552932, 0x6c769531 - } - }, - { - { - 0xe2872c5f, 0x52955194, 0x64ecac4b, 0x614e5eee, 0x73ce4a6a, - 0xf8f2fa82, 0x7d550fe6 - }, - { - 0x5ee79418, 0x9203a8ed, 0xeee4e4c3, 0xaee0226, 0x6bea0c76, - 0xe8436cad, 0x7772f779 - }, - { - 0x612e1ec2, 0x1f6763c4, 0x5c10b26f, 0x34f6dd10, 0xb1534886, - 0xa4fc956b, 0x521613f5 - } - }, - { - { - 0xd6a69bfe, 0xe2a2bcdd, 0x53e30e38, 0xd203506f, 0x9148e2fc, - 0x95ae9c78, 0xa787ab15 - }, - { - 0x33299a00, 0x19eef22e, 0xe17c0285, 0x10672439, 0xfe904529, - 0x79f27072, 0xb3063e5c - }, - { - 0x6546783a, 0x401f65eb, 0x8e0ce266, 0xd3968483, 0x95333a15, - 0x8e5516e, 0xc0392883 - } - }, - { - { - 0x417c508e, 0xd3f080b9, 0xc420cade, 0x7a406ad3, 0x8a46a932, - 0xc94150cd, 0x65404ea6 - }, - { - 0x93b8d605, 0x122c7adf, 0xd22c045, 0xb3278aa8, 0xbe8ad68e, - 0xa66912d9, 0xe71cd6c6 - }, - { - 0x3a576afa, 0x84430221, 0x2e81c8c8, 0xb1c7fb7f, 0x5bf8e37a, - 0xed72ee5d, 0xf388dbdd - } - }, - { - { - 0x24816fe0, 0xb548f8af, 0xe20aae7, 0x462853c3, 0x17147d42, - 0x6fece3e, 0xb837e5b5 - }, - { - 0x988b2599, 0x2023b803, 0xf3f026b1, 0xffe4f9c7, 0xf83586f6, - 0xe5df17a3, 0xd4ecb0fa - }, - { - 0x148ec85e, 0xab07491d, 0xd7cea461, 0x627c7976, 0x23babd78, - 0xe5fd7ae3, 0x2026f3d9 - } - }, - { - { - 0xb829cd4, 0x79af5909, 0x1f76fc6a, 0x812b956c, 0x350d9eeb, - 0xc4135415, 0xc2800556 - }, - { - 0x65cb31fe, 0xb9550621, 0x7616540a, 0x9e970be, 0xe6b6317c, - 0x59bbf748, 0x1b02fa55 - }, - { - 0xd0e2831d, 0x1f897c30, 0xa7843a5f, 0x23e5a6da, 0xf941d91c, - 0xe64d459, 0x4e2b3ff - } - }, - { - { - 0x3722f327, 0x85768575, 0x6e6987af, 0x3f3cfb4c, 0x17fac399, - 0xe3bfe230, 0xa96670b9 - }, - { - 0xcca5dc27, 0x447031ef, 0xa707befa, 0x139aa779, 0xce8a8465, - 0x1b239c4a, 0x14657827 - }, - { - 0xb6d5d170, 0x7ec30db3, 0x5ed64335, 0x33651053, 0xb74fcf8b, - 0x5ceec99, 0x5d1a9ec - } - } - }, - { - { - { - 0xb4b4e490, 0x383006d2, 0x1238a299, 0x2cf1e0a0, 0x7edb2f76, - 0x330e8af8, 0x8f8d7351 - }, - { - 0x973838e1, 0x4076d645, 0x8e49e67c, 0x85ca6aed, 0x322a9f42, - 0x4365364a, 0xa5ac6fe2 - }, - { - 0x98c3fb75, 0x2a85b79c, 0xdb719e6e, 0x90c924e8, 0xa66aac3e, - 0x206adac6, 0x7937c596 - } - }, - { - { - 0xd725943d, 0x78942897, 0xc2e9d1c2, 0xd2a0c881, 0x141543ab, - 0x21e2fd97, 0xc337e59 - }, - { - 0x975ae287, 0x878300a, 0xac6bf6e3, 0xa2b58e56, 0xad6b802a, - 0x7bf5cd68, 0xf7857f95 - }, - { - 0x12182463, 0x7f3d8280, 0xfab387de, 0x1c0e1d55, 0xc2bdf4d0, - 0x9064b108, 0x2492de9 - } - }, - { - { - 0x6e3a71e9, 0xd353eaaa, 0x1f04bccb, 0x915e19c9, 0x4e40df26, - 0x18252614, 0x3538d751 - }, - { - 0xb64f7e50, 0xaf84057f, 0xeb05c3a1, 0x4002fa21, 0x6df8133d, - 0xdb587e4, 0x3f3ccdf8 - }, - { - 0xfc64ab89, 0x20916c80, 0x3a329ca4, 0x1e1992e5, 0x3312f2b6, - 0xbe62fcc8, 0xb47ce6fc - } - }, - { - { - 0x9ebc27d6, 0xc455385c, 0x935213, 0x235826f3, 0x56ab96cf, - 0x502a5bf9, 0x73b0877e - }, - { - 0x57117581, 0xaa5452e2, 0x2a75e38e, 0x4fee0a61, 0x9cf6b7ce, - 0x1b2dd53, 0xbccccd5d - }, - { - 0xadffe5cd, 0x8e4cef0a, 0xca7e72b9, 0xaa128a38, 0x247d46c3, - 0x2ba46bce, 0x36e4d94 - } - }, - { - { - 0x646edc4d, 0xd5b1de79, 0xfa0c1973, 0x585a08cd, 0x56f6bad8, - 0xa8efd3c, 0xe9c0dd15 - }, - { - 0xd1a84bfd, 0xe99be0d9, 0xa8733c99, 0x9cdb3e44, 0xe986bcb0, - 0xbb68a4ba, 0x52fad469 - }, - { - 0x6f6c994d, 0x54e0c224, 0x2fc588a6, 0x8f6c2bb8, 0xf0342e1a, - 0x43246f08, 0x40d43ba8 - } - }, - { - { - 0x943c1ec1, 0x96116733, 0xfa5500cb, 0x7fc27e85, 0x1095af2a, - 0xb5da38e0, 0x2a99ea23 - }, - { - 0x3b6dcbec, 0x54cacb3f, 0x5c84a3e5, 0xdda3cd80, 0xee627d1c, - 0x6c0ece9, 0xed0c01c9 - }, - { - 0xbcc2eed8, 0x832def14, 0x26c5c43d, 0x67f703ca, 0x7c9fb61c, - 0xea8eae92, 0x56319954 - } - }, - { - { - 0xf8c00b16, 0x1281addf, 0xc69822b4, 0xc777ae42, 0x2eff44c7, - 0xcd4036cb, 0xf20c63f3 - }, - { - 0x3ed4014c, 0x995fea03, 0xc82dca7a, 0x5458bfec, 0x4726e077, - 0x212deb3, 0x2fd6261a - }, - { - 0x6e8481b4, 0x28c632ce, 0xecc0bf0f, 0x64531765, 0x18cd8fe1, - 0xf5843fbb, 0x49ebf1c - } - }, - { - { - 0x8cdb00db, 0xff400512, 0x22ac52c6, 0x3690ec3a, 0x9829b7a6, - 0x51996e23, 0xd7f002ac - }, - { - 0x651f6662, 0xa96fd622, 0x47d812e7, 0x5423020f, 0xb5f378eb, - 0x307382ab, 0x32ad082b - }, - { - 0x5ee6aeb0, 0xd1f24e1, 0x780ede2d, 0x7828add3, 0x95bb9009, - 0x7040b143, 0xf9d40ad0 - } - }, - { - { - 0x10455eb1, 0xddb1b21b, 0xfae1c4e3, 0x5ad0a75d, 0x8b06e0ef, - 0x73547a44, 0x738c0298 - }, - { - 0xee434f65, 0x740aab52, 0x776d3896, 0x13536680, 0x38b5baf, - 0xd6d08c64, 0x85220105 - }, - { - 0x913ad2bf, 0x17ff864d, 0xd06ebcf4, 0x9ccc067e, 0x8ff4971d, - 0xa90fb444, 0x5fa39852 - } - }, - { - { - 0xd1ccb217, 0x3e90e69c, 0x3934a6a7, 0x49aa0569, 0xabf48594, - 0x1ca7af3d, 0x799ae860 - }, - { - 0x3d73b21e, 0x762e679f, 0xfd682d62, 0x69b8e2de, 0x8dca29c7, - 0xd0b82461, 0x85bf71eb - }, - { - 0x602b74bd, 0xd5c4096f, 0x39e458ed, 0x8acd3afe, 0xeb626700, - 0xe2fbb5be, 0x4200636e - } - }, - { - { - 0x990abc18, 0xdd9e0074, 0xa58b72b9, 0xf7b7f95, 0xced54889, - 0xba713c56, 0xcda76bc - }, - { - 0x68761cc, 0x6586a0bb, 0x9d135524, 0x3dbaed59, 0x94f9929, - 0xa2dacc8e, 0x63ae450f - }, - { - 0x1a2cc0f9, 0x8a500f4c, 0x2e52a404, 0x6dbb39cc, 0xb38a516c, - 0x992a8c34, 0x5789d0fb - } - }, - { - { - 0x796a521, 0xc6754190, 0xf07901e0, 0x8e59f299, 0x58d92657, - 0xd53643b7, 0x614b984a - }, - { - 0xbff5cee8, 0xdb1c2880, 0x64a05e2f, 0xdc7017f8, 0xac80956, - 0x11cb794f, 0x20344d7c - }, - { - 0xe6bdf2d4, 0x4d508a0e, 0x6200e45e, 0xe268b36d, 0x90cde351, - 0xb2c7da0b, 0x97008566 - } - }, - { - { - 0x8bb4b1b4, 0x265bd7c5, 0x5cc0a549, 0x3546ee83, 0xa7991b84, - 0xea1b650d, 0x14f9c32 - }, - { - 0x3c15e06b, 0x2052548b, 0xdee0cf97, 0xb5e53f73, 0x5f1b7c08, - 0xa544ec5f, 0x4d570ae6 - }, - { - 0xa39f2b41, 0xa107eac7, 0x49b97193, 0x7450a203, 0x62f8d7e1, - 0xab60eae4, 0x6b0507d4 - } - }, - { - { - 0x3e8f72cc, 0xbccbf962, 0x298f90c5, 0x47f9bdae, 0xd76b200c, - 0xf4a6d060, 0x499db4df - }, - { - 0x1d83dea1, 0xf28f1a4d, 0x6c673cd5, 0xdac72f05, 0xcabe9cc8, - 0x5a230a67, 0xf887bc8f - }, - { - 0x1d3b4e63, 0x57bd8e93, 0x60709ed3, 0xb9ba48c7, 0x3afdf53b, - 0x9bfbc746, 0x59abf241 - } - }, - { - { - 0x4e9f6202, 0x483f693a, 0x1eaadfc2, 0x3b1a29b3, 0x2eae41b6, - 0xaa23632e, 0xf5bfe8d - }, - { - 0x22bb638f, 0x2cb1f726, 0x55b1a889, 0x75fa95e7, 0xe75e981, - 0x30aa77d8, 0x6fae4d7d - }, - { - 0x8bd32098, 0xc46d20f5, 0xb06e24c8, 0xdd10d7d2, 0xf84e0092, - 0x58ab2aa3, 0x789e7330 - } - } - }, - { - { - { - 0xc65962bf, 0x91b4c83a, 0x4ea92cc9, 0xa6dc3243, 0x4f970dfa, - 0x968791b2, 0xb703eb40 - }, - { - 0x18d22a92, 0x27fb0105, 0x9b0dbe43, 0x96673462, 0x462a714f, - 0x2fd35573, 0x459b54af - }, - { - 0x89cce308, 0xcfa36b5f, 0x25fb9067, 0x871ac9f5, 0x1a9ab47e, - 0x7a4b690d, 0x4def399f - } - }, - { - { - 0x81c24b7a, 0x2c2f3795, 0xc2e3b23f, 0xcf269c73, 0x2a3fd2e0, - 0xfa0273b9, 0x385ca511 - }, - { - 0x3e69c7f7, 0x4641e5f7, 0x42906aaa, 0xdcf54360, 0xdb8d2c3e, - 0x4e9531b4, 0x2291518 - }, - { - 0x416eaea1, 0x58becc21, 0x52577ed1, 0xe3ea07ef, 0xe255b5e, - 0x62f1d62f, 0x57227993 - } - }, - { - { - 0x4f27f3cf, 0x6eb78c4f, 0x8710d074, 0xbb29b1c0, 0x52a01f94, - 0xf63d80ca, 0x1d9aacda - }, - { - 0x3df6d7fa, 0x7f4f2f83, 0x72553b99, 0xc65caba6, 0xbb31dab6, - 0x917782c7, 0xb5f8079b - }, - { - 0x25ea35a3, 0x119fd808, 0x6ff01d67, 0xa99ddec, 0x2c781138, - 0x9aaa147d, 0x92cd7243 - } - }, - { - { - 0x9e4d590, 0x7467eaf, 0x9ef70716, 0x310c4cca, 0x34ba905f, - 0x1d148865, 0x8c24b043 - }, - { - 0xd9550e82, 0x552131d0, 0x531c5f9c, 0x47773284, 0x672b3a04, - 0xeaae8803, 0xcb0b2bcc - }, - { - 0xb8e08d1f, 0xed6609f3, 0xdd3fafda, 0xfd22ef08, 0x8a984792, - 0x61f8e7ab, 0xf4243133 - } - }, - { - { - 0x807cfcc5, 0x23ccd1ad, 0xd9e4c49f, 0x352f55ae, 0x6c80642f, - 0x9c489b9, 0xb88695e0 - }, - { - 0xeb99c0fc, 0x1b7ae81a, 0xcad31c75, 0x8fe8beec, 0x52d5b960, - 0xba374202, 0xe0d9c144 - }, - { - 0x92b79b7e, 0x5c3b7fcd, 0x9b18584c, 0x9388712, 0xdb575324, - 0xc7dddf92, 0xd76f1e15 - } - }, - { - { - 0x4d029a03, 0x19f5a3af, 0x34a2c04e, 0xfecb514f, 0xfb37e79d, - 0x9dc3c475, 0xd4eb61f8 - }, - { - 0xf11582e6, 0xb5f30a9c, 0x55b267e2, 0x87df0fa2, 0x2383b27b, - 0xf1f6f8f1, 0x4faf69e9 - }, - { - 0x6969529a, 0xe285f199, 0x32e2e00b, 0xa646918f, 0x7e4eeea2, - 0x9b45a1dc, 0xb47f0385 - } - }, - { - { - 0xc6f8393c, 0x8661f224, 0x8de369cc, 0x6fd3b769, 0xf44d2116, - 0x5678b489, 0xd8de5daf - }, - { - 0xa5611f2d, 0x24e52ae3, 0xd6a40be1, 0xb50205f2, 0x53d24339, - 0x3418ae9f, 0x37cd3083 - }, - { - 0x7f52062e, 0xfcb3eed2, 0xebef2c86, 0x4abad019, 0xb21a826c, - 0x35a9fafc, 0x6e364e70 - } - }, - { - { - 0x9d8d1e81, 0xd8affc9, 0x2870b0a9, 0x175871bf, 0xd5a5a75d, - 0x47cda4da, 0x9fffc997 - }, - { - 0x556839c4, 0x75bd717b, 0x940c5de2, 0x98785bcc, 0xa23c14b4, - 0x42c563ac, 0x99c64c2 - }, - { - 0x9dbb531a, 0x30195138, 0x85d82b20, 0x60ee1dd7, 0x85684515, - 0x7387ba39, 0x2d66f6e3 - } - }, - { - { - 0x2b83d3e1, 0x1cf10387, 0x7197779c, 0xd3a057e0, 0x591feed7, - 0xe292271f, 0xa78c3eb1 - }, - { - 0x2f4f62f6, 0x4cee91d, 0x98af992d, 0x1cf01bb4, 0x7a98c0f1, - 0x9bbd00ea, 0x6c6b50a8 - }, - { - 0xb9df4410, 0x33f4c8d3, 0x54144527, 0x4394a5ed, 0xa51c7056, - 0x46d52b24, 0x1ba413d6 - } - }, - { - { - 0xc3cd2729, 0xc4e2b5d, 0x176a258f, 0xdda53ed9, 0xa7ac57c7, - 0xbd0742ac, 0x45ffeae7 - }, - { - 0x15b2c6f6, 0x72d04898, 0x577fac2e, 0x5af01ff9, 0xb9470b93, - 0x4174ea5e, 0xb4fcc8ab - }, - { - 0x828bb52d, 0x748aa6c8, 0xcef5d00b, 0x1e019847, 0xcd84ab67, - 0xf0750392, 0x624ec6be - } - }, - { - { - 0xfd485ef8, 0xbec2e0ea, 0x3c7d74a0, 0xa148cf05, 0x7edadeb7, - 0xab7a1ed0, 0x4411c72d - }, - { - 0xdb7c5578, 0xc783ec53, 0x437e7558, 0xfd4da3ac, 0xdc9d5d09, - 0xa564e9ec, 0x796cda91 - }, - { - 0x89415745, 0x19f37b2f, 0x8580d483, 0xb5a57f57, 0x11267395, - 0xe1ee0d59, 0x179309aa - } - }, - { - { - 0x111efc1a, 0x9ac049dd, 0x82e8e4af, 0x908d514d, 0x18ebcc2a, - 0x42986401, 0xa924dba8 - }, - { - 0xdcad618a, 0xf3301e01, 0x5494c4, 0x20c77270, 0xe07b585b, - 0xbf86c040, 0xd961d0e1 - }, - { - 0xda2e440c, 0xc763f3b1, 0xe2f4a56e, 0xaea220bd, 0x3101fed3, - 0x8ab825a2, 0x18e0c476 - } - }, - { - { - 0x749ab26b, 0x8ff1c11a, 0x734ac50f, 0x785d236a, 0x24c55033, - 0xe70ea68a, 0x17d0896b - }, - { - 0x6d0e00db, 0x449560f5, 0x3d941a6e, 0xa4059047, 0xf7bd786d, - 0xf22c4b44, 0x308615ba - }, - { - 0x5dcb30f1, 0x8c390b93, 0xbb8924fa, 0xcd5e259e, 0x96cffa54, - 0x8ee0af99, 0x92235ff2 - } - }, - { - { - 0xd99ba215, 0x646ce519, 0x7f8f9981, 0xd0b81bfc, 0x6859e2, - 0xc659943e, 0x8cfaaa2f - }, - { - 0x80ed91de, 0xf3007f57, 0xabfd528, 0x6b0f93cf, 0xd54ec65a, - 0x82d343a7, 0x40cb80fc - }, - { - 0xc269b805, 0xd59d3eae, 0xb4dc9406, 0x5905f101, 0x84db8bf3, - 0xb5922c2f, 0x863ebb4 - } - }, - { - { - 0x611cb89d, 0x7a3f05af, 0xcb96467a, 0xff561d4e, 0x33b73547, - 0x79b62464, 0x49e7124c - }, - { - 0x323760f9, 0xa7013904, 0xbad05560, 0x6aac41c8, 0xd53bc35a, - 0x93db1d08, 0xd6960d5b - }, - { - 0x77538537, 0x8b7a818, 0xb6725d1d, 0xd2335628, 0x2ee00bbb, - 0xf929d722, 0x37c14af6 - } - } - }, - { - { - { - 0x85c5964b, 0xecaa514d, 0xc8aca2a1, 0xe0f3078b, 0x160fc043, - 0x43f94928, 0xdee0962a - }, - { - 0xde11e71f, 0x17f525d4, 0xb667bfc9, 0x5259b7fd, 0xcf2dc162, - 0x3a7083ae, 0x4a4a2033 - }, - { - 0x529f4c16, 0x5a3e6f10, 0xb56b406d, 0x81199fb4, 0xa21e83ed, - 0xc267dc, 0x2c340e55 - } - }, - { - { - 0x6136bd85, 0xf343a898, 0x304447c2, 0x277b1477, 0x126c321d, - 0x4ea078ae, 0xf2d3302e - }, - { - 0x37a45382, 0xd5a9b81c, 0xb596b1f6, 0xb6e50195, 0xe6264f22, - 0x4bbb1143, 0xbc27c884 - }, - { - 0xfc658d15, 0x6b393953, 0x221f4d7c, 0xc2314be8, 0xa1aa30b7, - 0xae330442, 0x14b96ad7 - } - }, - { - { - 0x8556675, 0x4aef17b7, 0x63536fc3, 0x730abeb3, 0x2fae2042, - 0xc740e8bb, 0x3034beed - }, - { - 0xe19db9c1, 0xf5a941bf, 0x253e487, 0x9d38da5e, 0xaa26b4d0, - 0x9359f78e, 0x88eddcae - }, - { - 0x28a12730, 0x9415c30c, 0x866e8bff, 0x51bc522f, 0x73c5533b, - 0xd810693b, 0x9ae9abfe - } - }, - { - { - 0xb4e3558, 0xed84400, 0xf8017e3c, 0xdc667f51, 0xfcd735f6, - 0xf94b57c7, 0x63c142ea - }, - { - 0xe195052d, 0x642e278c, 0xb847a27, 0x5c7eef02, 0x584669a, - 0x9e83a3ca, 0xb8473b84 - }, - { - 0xf2c7d923, 0x2759fce4, 0x317a8c86, 0xbf22e28d, 0x56374035, - 0xc6b4e592, 0x4e5f62ff - } - }, - { - { - 0x58fbb0e3, 0x378f54e, 0xed3f81e, 0xc6cf133c, 0xa0da98be, - 0x6ef27ab5, 0x3d75d24d - }, - { - 0xf074c7e6, 0x46d75a32, 0x4f1c76ba, 0xab647adb, 0xd422890d, - 0x4afac3c, 0xd5cd3830 - }, - { - 0xd7ea08a, 0xd305332a, 0x30cebb88, 0xd3746bf4, 0x7b5d505d, - 0xfdf8cb5d, 0x17ed3eda - } - }, - { - { - 0x25fd35aa, 0x33dc4a5a, 0x7074fe3d, 0x5ebcbc33, 0xd97cc64, - 0x1b393308, 0x5f09d935 - }, - { - 0x820eeae6, 0xe3b15b19, 0xf1683ae4, 0xc453e791, 0x8cc224d, - 0xb77fd582, 0xc8b4a0d5 - }, - { - 0x4d69e5ed, 0x90ef5de7, 0xae2b782, 0x4af4d89f, 0x13e17420, - 0x18c97557, 0x3cbf9d1e - } - }, - { - { - 0xa48b2eb7, 0xab0f491e, 0xe6ea98ee, 0xb441652, 0xe5851f3b, - 0xd5d70a7c, 0xb32e715a - }, - { - 0xe77e9f73, 0x141d2fef, 0x5453390f, 0x585fe1c6, 0xeb734b82, - 0x5aa6af2, 0xa4dbe9ae - }, - { - 0x574fc06b, 0x57119acb, 0x3853f960, 0xe2e82d2a, 0x8df6c83d, - 0x6b267b93, 0xde37ba68 - } - }, - { - { - 0xb172dcef, 0xcc546c02, 0xa059b3fb, 0x92147d43, 0x1d4c1f9d, - 0x1ee5b0ec, 0x3f1c8f0d - }, - { - 0xc1ff1cbb, 0x74365feb, 0x81f90228, 0x5b6c6645, 0xb0dd74e, - 0xc73d25c9, 0x40f24b6b - }, - { - 0xf198b488, 0x4d62ff78, 0x927d1a99, 0xb31612ad, 0xa455fa2b, - 0x59c33f94, 0x7d218d79 - } - }, - { - { - 0xaa1814e7, 0x90077d63, 0x805b547d, 0xe64ab89e, 0x72cafdca, - 0xe105df09, 0xc75ce7aa - }, - { - 0xc03893f3, 0x6b324824, 0x38d8e35b, 0x5ea70088, 0x2c8ba696, - 0x13638e24, 0x3772a1a5 - }, - { - 0xafc856b3, 0x3a72580a, 0xf976cd5d, 0xa08310e2, 0xec93c4ba, - 0x7361f874, 0xd852445f - } - }, - { - { - 0xf13deb9a, 0xd3640b37, 0xe052a188, 0x4333fe80, 0x429f24fa, - 0x84f32f02, 0x6c541c40 - }, - { - 0xf479c1bf, 0xd9a5175c, 0xa409be3a, 0x940565ee, 0xeda7859a, - 0x76c58749, 0xaa935690 - }, - { - 0xd57d65d3, 0x46f5ac68, 0xc5155370, 0xd7d01117, 0xbfb72e9, - 0x77cff986, 0xc0f77243 - } - }, - { - { - 0x1b2ada1b, 0x61aab098, 0x63c484e8, 0x67295e3d, 0xf4c8a560, - 0xb03c714a, 0x10cf092c - }, - { - 0x52c69cb0, 0x405589de, 0xcdad038a, 0x2c037105, 0x468fd1b9, - 0xaea50eff, 0xdefdc607 - }, - { - 0xe0c8d514, 0x24d4f386, 0x2c47d4b7, 0x88df4169, 0x9d709684, - 0x689a854e, 0xf334dcd4 - } - }, - { - { - 0xeeabeacd, 0xafe81914, 0x515e645a, 0xc5ed1ec5, 0x5a1fa65, - 0xec0362fb, 0xdbc43946 - }, - { - 0xae6f8079, 0xf8e98988, 0xf22c846c, 0x13c43b77, 0x7981ef01, - 0x3c0adcc6, 0x8f631044 - }, - { - 0x896c4420, 0x3e771999, 0xf1fb8cc7, 0x6caaa0bf, 0x1df6164d, - 0xb72af963, 0x54a89870 - } - }, - { - { - 0x0c61d2, 0xecd0346f, 0x5f6d7149, 0x670dc7bc, 0x9da535f2, - 0x31a4f103, 0x32aa467c - }, - { - 0x47950c7e, 0x90ae68e0, 0xfb8d39d5, 0x2110b781, 0xe5862b3f, - 0x75b226ef, 0x582e1520 - }, - { - 0x9adcd4ce, 0x7967ed24, 0x7cf56811, 0x2e3cc775, 0x9a2cc1fc, - 0x4d2781c6, 0x20ceda21 - } - }, - { - { - 0x2a73d6ad, 0x6c60af9b, 0x9ad34af3, 0xa24c3ee7, 0x425f8799, - 0x8e166d2c, 0x61468d9a - }, - { - 0xff249363, 0x4a849101, 0xee96c82, 0xedc1adca, 0xef2c292, - 0x87d65534, 0xb63b4768 - }, - { - 0xff10d572, 0x4d0d1f10, 0xf552b148, 0xac7a8c7f, 0x866a2efd, - 0xeb67a489, 0x4d1d6d34 - } - }, - { - { - 0x47053cfb, 0x2fc2c0ac, 0x3b7c2f9f, 0x3a8ef09d, 0xdd1c3b29, - 0x22508172, 0xd80c12c8 - }, - { - 0x9c770d5d, 0xc02e2250, 0x628688bf, 0x79e1bf94, 0x1595a356, - 0x73596a8b, 0xee3e6ad2 - }, - { - 0xef7a70c9, 0x3201effc, 0x17683c1d, 0x6cbfda3d, 0xb727b349, - 0x729587f3, 0x2885738b - } - } - }, - { - { - { - 0x742ef329, 0x22f61bdd, 0x1ed394eb, 0x37f17e4b, 0x79bb8dca, - 0x7382294e, 0x45d31beb - }, - { - 0x3b44ce2d, 0x8f96a2ed, 0xc4b7237b, 0x6a787a38, 0x7cb37132, - 0xe289cafb, 0x6c4a9ff - }, - { - 0x9cc4befb, 0xd888ca75, 0xa353537a, 0x4f26d4ed, 0xa6acb0a8, - 0xdc775841, 0x86d2703c - } - }, - { - { - 0x47fa06df, 0xae7b0859, 0xaae7f7cf, 0xb1501575, 0xbbfd7c52, - 0xaab0ac, 0x92011e57 - }, - { - 0x61fb48b6, 0x9cda5a1a, 0x9cfd1e5b, 0xf313e499, 0x4c8ce2b6, - 0x373a84a5, 0xa85db369 - }, - { - 0x1a710b2b, 0x72f35a6a, 0xcec8e6e7, 0x6cb8b8ba, 0xb8a3c261, - 0x5d4c4b14, 0x700b68fa - } - }, - { - { - 0x76e66f40, 0xad8daaef, 0xd808c403, 0x6d2adaeb, 0x6620e835, - 0x814481f8, 0x40ef892d - }, - { - 0xf5e8110a, 0x3bc1436d, 0xfb3327e2, 0xb08a83b1, 0xe0cd5f09, - 0x88021216, 0xa03b7ae4 - }, - { - 0x9b741b89, 0x1666bc7a, 0x9e91e9dd, 0xc34c295f, 0x3ef87b68, - 0x35a580bd, 0xf533fcad - } - }, - { - { - 0x2d1d2281, 0x73277bb7, 0xe5fab9be, 0xbb799667, 0x4216847a, - 0x7bcae52b, 0xd1eb94aa - }, - { - 0x4a50c498, 0xd31df848, 0xc3d1f842, 0x7598c9ae, 0x6733837f, - 0xa76509c3, 0xa7cae668 - }, - { - 0x6492e42c, 0x4dc28d88, 0xb0157d6a, 0x18a2ea4f, 0x9b61591e, - 0x25dbc490, 0x49b40af7 - } - }, - { - { - 0x61655d3c, 0xadc03317, 0x8080c5c2, 0x29067f1d, 0x37e62fde, - 0xac5fd50, 0xed62ccf1 - }, - { - 0x99008918, 0xba9113bd, 0xad8ba7d0, 0xe275f6a7, 0x96907ab0, - 0xc83d358c, 0xf28bbe07 - }, - { - 0xbb10b02c, 0x75bb6724, 0x61c6dae8, 0xa3afa642, 0x4451a63b, - 0x59548474, 0xbbc1c5e0 - } - }, - { - { - 0x285402f5, 0xaaf0f53b, 0xbaf6c407, 0xc3487ab2, 0x5d5ef07a, - 0x90b3537d, 0x6c2c3718 - }, - { - 0xae5e8465, 0x33d55930, 0xaa682e69, 0x9e55830e, 0x2e297f26, - 0xc6555539, 0x76bcb6d5 - }, - { - 0x3ed8f114, 0x1994995d, 0x80a27e24, 0xee08e1fe, 0x4a878f0e, - 0xa148aae7, 0x59a72cd - } - }, - { - { - 0x57c2e7d8, 0x5fc116a0, 0xfae82c6, 0x181b1cea, 0x6cc623cb, - 0x5a83e0ac, 0xc5b12a01 - }, - { - 0x4099dccb, 0x76d96120, 0x41cd0dbc, 0xe17af068, 0x55633c04, - 0x35c70470, 0x85ac42c3 - }, - { - 0xe1b7e74a, 0xa86d4a01, 0xffb6010d, 0x5f4da00a, 0x6793dbfd, - 0xa50f8ef3, 0x6754e26b - } - }, - { - { - 0x253bbc7a, 0x7ec648bd, 0x74ad7d69, 0x41f6b2d8, 0x615b68d8, - 0x4d5aa6b4, 0x7d62b0ae - }, - { - 0x8b26003a, 0xf704c97b, 0x90ce4d0b, 0x93a002e0, 0xa3ef5965, - 0x9ca17559, 0xc021fa62 - }, - { - 0x7242d777, 0x2d114b23, 0xbdfe18de, 0x183dc48, 0x763158ff, - 0x808f9fa0, 0xae02ea8c - } - }, - { - { - 0x3ebe976d, 0x186a8df8, 0x2d4896ce, 0x850c940e, 0x7cf471bd, - 0x12de911, 0x41423306 - }, - { - 0x9babdffa, 0x12a2b54d, 0x40f30b27, 0x80ae0426, 0xb25d7614, - 0x60e17f55, 0x6e84b671 - }, - { - 0xfe75e14c, 0xf6c876c9, 0xeef60cca, 0x31199031, 0x1ca39efb, - 0xca945118, 0x98487a17 - } - }, - { - { - 0x9d152477, 0x88fbead6, 0x333cab14, 0xe05dda6a, 0xf40c357, - 0x99aa5087, 0xbda155e5 - }, - { - 0x2c8ac1cc, 0x7ba98b7a, 0x11be3493, 0xc11a9226, 0x5fb617d9, - 0xa5e3739c, 0x1e33441a - }, - { - 0xa3e88573, 0x3410f223, 0x6c7c7dcd, 0x6b437aef, 0x3044df60, - 0x6610446f, 0x1188b74f - } - }, - { - { - 0xa4a0cd1f, 0xd61d7fc4, 0x3c7df208, 0x48e5395b, 0x3f9e998a, - 0xf680bf11, 0x8e7cb369 - }, - { - 0x41e75d90, 0x8ce95126, 0xbc016a35, 0xeb241cbb, 0x4d0d963d, - 0x8ef0dff2, 0x86495115 - }, - { - 0xb71c472b, 0x7d8410d9, 0xbb0c0757, 0x41d5072a, 0x5e9c3eed, - 0xd3472577, 0x2d07c805 - } - }, - { - { - 0xe0eb331b, 0xddd75589, 0xf07b2a02, 0x54ac4536, 0x4d748d29, - 0xd752c6f9, 0x344d006e - }, - { - 0xc6b91cb3, 0x5bb1db71, 0xadf500eb, 0x756cdd66, 0xa01d3f54, - 0x4ee1272c, 0x4bd61070 - }, - { - 0xa75085ec, 0x63526bb, 0x382cd68e, 0xe977cfef, 0x890bf27d, - 0x2c91966, 0x6b3b46c3 - } - }, - { - { - 0x1302d4b5, 0xc2617e67, 0xbccc2634, 0x7716b8c0, 0xf8a0149f, - 0xa383a6bf, 0xc64dfc5b - }, - { - 0x79c4e5ef, 0x29bd7623, 0x9e796302, 0x151fa47, 0x512b29d3, - 0xd0559bd5, 0x219f39d0 - }, - { - 0x819ae063, 0x310546e2, 0x81a6f0bb, 0xd89cc9d7, 0xfb99b047, - 0x73241e90, 0x80fba2e6 - } - }, - { - { - 0xe636eb7d, 0x4294aa4f, 0xaf6e41e4, 0xdb53d993, 0x7cc10d1d, - 0xa0d3b4b8, 0x7568036f - }, - { - 0x7cf3635f, 0xbc3f0922, 0x384d59f5, 0xec95c7f9, 0xf8937767, - 0x60959692, 0x3f59aac1 - }, - { - 0x26dc264c, 0x25bc9fab, 0x7d32af4c, 0xf5072acc, 0xf6e68204, - 0xb568e3aa, 0xe04384d8 - } - }, - { - { - 0x17d62c17, 0xe2838b99, 0x4e16fbf2, 0x6495962b, 0xfa7a66a2, - 0xf46e05e, 0x14645911 - }, - { - 0x2d336841, 0x8f200b11, 0xb2675706, 0x933d30ac, 0x994117ac, - 0x248c40d8, 0x319bb559 - }, - { - 0x569e1292, 0x3ccda065, 0xb1c386cd, 0x98735b76, 0x1e9d21ec, - 0xeb78ba9c, 0xdee4460a - } - } - }, - { - { - { - 0x11d95d1e, 0x67d52b11, 0xce5699e1, 0x6afe66ff, 0x85be409a, - 0xb45b3b46, 0xd56b3434 - }, - { - 0xb0a1e1b5, 0x8c57d3ba, 0x956c484a, 0x3a6c829e, 0x33220451, - 0x1046b23e, 0xea759fa6 - }, - { - 0xf710b59f, 0x6178ed62, 0xc8070dff, 0x6d6c20c6, 0x14c358e5, - 0xb7d5097f, 0xcc0254b8 - } - }, - { - { - 0x46ae0c2b, 0x55fc7184, 0x2d5d2339, 0x236a18e2, 0x8d5d6ae1, - 0x36520c5, 0xbb6eab51 - }, - { - 0x945024f3, 0xaba2c4c8, 0xbdde6a7e, 0x2e122128, 0x9284cbd0, - 0x64c8985a, 0x7b4495b5 - }, - { - 0xf746bb6c, 0x5f639bdc, 0x7106e89b, 0xe3cc74e6, 0x76a6963c, - 0x1c0dd10c, 0xe96596a8 - } - }, - { - { - 0x37390064, 0xc010103c, 0xc0ca3003, 0xd64c2b50, 0x262c68e1, - 0x6072865a, 0x6b2f8a2a - }, - { - 0x9089543, 0xad3a9ac7, 0x4cb4ae0c, 0x67d5d0c6, 0xc1d8da40, - 0x67f6d1b5, 0x94a78db2 - }, - { - 0xc0001502, 0xef1b6249, 0x94908be7, 0x41d90a38, 0x7d4a8d71, - 0x3c43c925, 0x3d3ab797 - } - }, - { - { - 0x523e9be4, 0xfd95595, 0x6ca1afed, 0xe9b2af2a, 0x1f15e8d1, - 0x93081b43, 0xef564ac1 - }, - { - 0x81501db7, 0x29d8f017, 0x1ec1db68, 0xe52087c0, 0x1b7cf140, - 0x48bab5c7, 0x7ba055fa - }, - { - 0x86db9721, 0xd31a676c, 0x18444d5d, 0xf7dedafd, 0x34dbff60, - 0x64e4abee, 0x4d4de0b6 - } - }, - { - { - 0x93a4e8b3, 0x507a2d50, 0x95bff7e6, 0x6497e543, 0x9a8db4d8, - 0x93ac79a0, 0x5b7a9858 - }, - { - 0xb7eb2297, 0xfa6aedd4, 0x3dc744a4, 0x59710be5, 0xc2e520f9, - 0x76553894, 0x35d1f09b - }, - { - 0xda91eb3e, 0xc521815c, 0x96645283, 0x110483fb, 0x26b8d534, - 0x5d60c96b, 0x374f7aab - } - }, - { - { - 0xc1671f14, 0x53f78867, 0x85945c98, 0xddf89baa, 0x3d4f182a, - 0x8af75b27, 0x51b1389f - }, - { - 0xd27d3fc9, 0x4e910732, 0x784684a4, 0x17b9f419, 0xec39ed4d, - 0xded4e498, 0xee49d240 - }, - { - 0x26c651fc, 0x3bbd1d23, 0xae099a69, 0xf2d2c70f, 0x5c41ee4d, - 0xce24b71, 0xaf69d978 - } - }, - { - { - 0x927318bd, 0xb3fec6d4, 0xdc33adbc, 0x7f2f57a, 0xabbba0d8, - 0x1bb19004, 0x80c7e1ee - }, - { - 0x5009abf6, 0x997b3dad, 0x1b17864, 0x8485b456, 0x3b05aa4f, - 0xbc5b43ea, 0x48cdff5c - }, - { - 0x576d14f1, 0x49868566, 0x26ad4489, 0x77a6894f, 0xc4b5f12c, - 0xf106669e, 0x23c7604d - } - }, - { - { - 0x7289964d, 0x69dfb4b0, 0x7dd5015c, 0x62372b5b, 0xf9875591, - 0xdc76a81e, 0x9ad572d6 - }, - { - 0x15e8ef9e, 0x2999176d, 0x2e29b71d, 0x2898d1c0, 0xe2015154, - 0x792c7d3, 0x2935cb0d - }, - { - 0xa0f0b27e, 0xc60930f, 0x790781bf, 0xd2a4193, 0x0dd0bc, 0x2217cad9, - 0x1406a8d6 - } - }, - { - { - 0x6a7bf12b, 0xabf67175, 0x47af12ef, 0x3a3e6e9, 0x88cd55a6, - 0x765301b3, 0x95bfa693 - }, - { - 0x542753f, 0xeba65420, 0xf9a28ac8, 0x722643f4, 0x9bc85971, - 0x47ae12d9, 0xcb0da506 - }, - { - 0x6e03b55, 0x49f3ecc1, 0x1bd51b77, 0x7d21a15f, 0x8d5c8ef4, - 0x2b8d76f5, 0xa1e182c6 - } - }, - { - { - 0xc3f910ec, 0x6f7d3f85, 0xd7a7ddf2, 0x1f33fdb6, 0xc46c8c8d, - 0x10310eb8, 0x261a53cc - }, - { - 0xc7f30b71, 0xb438be72, 0xf292f6d7, 0x100a753e, 0x81f13c84, - 0x7ae58ee3, 0x2d5c12fb - }, - { - 0xfe45fe65, 0x7c322b56, 0xf3cb3fa0, 0xafda2827, 0x504a6247, - 0xadf5e996, 0xb47d5a12 - } - }, - { - { - 0x1d0ca1eb, 0x4df59ae0, 0xc8259b65, 0x33a93b29, 0x3c568d07, - 0x81bae8e0, 0x24719f2c - }, - { - 0xfba3362b, 0xea7327a7, 0xeb80f431, 0xd35ad317, 0x16c92ce8, - 0x88eb516e, 0x659792a1 - }, - { - 0xeaa1c7af, 0x423aad1f, 0xe0bba4dd, 0xc6e8ce7b, 0x4b8b215d, - 0x85f0324b, 0x39639541 - } - }, - { - { - 0xc49bf0f6, 0x6934ca21, 0xe9b053c1, 0x3081ab4c, 0x70499abf, - 0x2a4ee8e9, 0xe85077f2 - }, - { - 0x66162d8c, 0x30a14c6c, 0x2650b35f, 0xc7e10437, 0xfc342efe, - 0xd45c38f4, 0x463f1b6f - }, - { - 0x1685189f, 0x481e8c81, 0xe1de35f2, 0x7aa1eac9, 0x5867c709, - 0x86bc170c, 0xf5ea9a97 - } - }, - { - { - 0x74425a62, 0x5cc5db28, 0x9c5dbcd4, 0x1bca87dd, 0x80b20abd, - 0x95a331e6, 0x88a1a1da - }, - { - 0xac122a80, 0x35d9fa0c, 0x8ae6bb86, 0xe12a7c1d, 0x85f1b1f2, - 0x4ffaf11e, 0x60688c93 - }, - { - 0x236fb22, 0x4fc5ba92, 0x6737e38e, 0x47d1ea57, 0x67baab29, - 0x2e874920, 0xaf572dd1 - } - }, - { - { - 0xf00e84b8, 0x133f842a, 0xe62f20ea, 0x6e12aa4e, 0x42ff7b8d, - 0x528e7daf, 0xd4c87f9e - }, - { - 0xad3e2e01, 0x8e100807, 0xe02d4978, 0x6794ab5f, 0x2b5da39f, - 0x76acdc09, 0xde1cf836 - }, - { - 0x56b26692, 0xc4f2b127, 0xbb6f67f0, 0x683952c9, 0x20db918e, - 0x7b71ec87, 0x6b9e978e - } - }, - { - { - 0xdb976ac0, 0x3c818c39, 0xc7f4fec7, 0x8c596c5a, 0xff01f4b4, - 0x59637a49, 0xe80c906b - }, - { - 0x9c17eb96, 0x3a5f1f13, 0xfdf3aea8, 0xf9de992b, 0x3f09d70c, - 0x9e6ea586, 0x5ff73ba2 - }, - { - 0x636f1d72, 0xf47698ff, 0x1f080249, 0xac57f352, 0x81e92acd, - 0x85e35072, 0x8e91745b - } - } - }, - { - { - { - 0x611a7c8, 0xda050e0e, 0xe33cca59, 0x7836fe45, 0x2c713812, - 0xf6ee074c, 0x21a5d34f - }, - { - 0xbfe83930, 0xfaa03f6e, 0x173185a1, 0xdadb7bd1, 0x914c128a, - 0xec285b64, 0x57a412e3 - }, - { - 0xa1684740, 0x5be7f5c7, 0x538b3da8, 0xa3fa903f, 0x1fc6c422, - 0x719631aa, 0x618472ca - } - }, - { - { - 0x3ab2dd2b, 0xc7720a16, 0xee707946, 0xa38a9bd2, 0x31d59976, - 0x9e39474, 0x9d480971 - }, - { - 0x8179df46, 0xc49534b8, 0x8e01282f, 0x487dec0f, 0xd30e440b, - 0x24310a17, 0x586e0136 - }, - { - 0x4122cbb, 0xc6b18b8e, 0xeb003371, 0xaba26fa7, 0x159637d9, - 0xf607133c, 0x59719d2a - } - }, - { - { - 0x778e0499, 0xa71a46bc, 0x1bc36fa8, 0x5f9c9fe6, 0xd64ed4bd, - 0xed474984, 0x6e00e387 - }, - { - 0x633cdb0f, 0x2b395c90, 0xe8b7ea9a, 0x5f94d58, 0x51bc12f7, - 0x13d0c6b6, 0x243df285 - }, - { - 0xdc482c88, 0x93c8b395, 0xa3a62463, 0xd901f34d, 0x78c9fe7c, - 0x4eedb597, 0x21bb783c - } - }, - { - { - 0xe7ce6ef5, 0xc093bcf2, 0x138a1ac7, 0x57aebb46, 0x50af5165, - 0xe476bd5f, 0x9f5a747a - }, - { - 0x28be6563, 0x867fc3e8, 0xf609e1a5, 0x4bdd9948, 0x3ee79902, - 0xca9a80c5, 0xbc13f6a2 - }, - { - 0x771e1f56, 0x21edf2a0, 0x7f7b1991, 0x16a9d644, 0x9b238b5e, - 0xce912830, 0x872a0d54 - } - }, - { - { - 0x5d6e4124, 0x6332eb03, 0xbb0e7894, 0x2a4e178d, 0x89d8ffa4, - 0x80727834, 0x88fd7823 - }, - { - 0x36c67848, 0xa43f5425, 0x43bbdbba, 0xc539ee8f, 0x18d75990, - 0xa7f0bab, 0x8abc3f0e - }, - { - 0x578d1223, 0x761a5b43, 0x665f71d6, 0x8ae9fe68, 0xfc429ac4, - 0x6a831064, 0xdbb07cc4 - } - }, - { - { - 0x82a41ecb, 0x2b9ac6dc, 0xc1ffe5c4, 0x8422fcb5, 0x5e06a377, - 0xdf6e961, 0xc1933dd - }, - { - 0x6fb8dab5, 0x562d8045, 0xbcc32734, 0x922d5c1d, 0xa75b416d, - 0x16b16d87, 0xb87ae595 - }, - { - 0xe6279772, 0xc48d61db, 0x7b163d4a, 0x7125366, 0xc12f3d4a, - 0xa2970b77, 0x3126ca22 - } - }, - { - { - 0x97caad69, 0x16ec4272, 0x5e4fae4f, 0x3b808968, 0x86c59275, - 0x9ae98987, 0xbc73bb87 - }, - { - 0x78a7a9a9, 0xa3dc7cb9, 0xb6d863a9, 0xa86626f8, 0xccce66e7, - 0x4aa81a46, 0x673f1fb - }, - { - 0xa03cd1fd, 0x94e5eea2, 0x20b9b3f5, 0x1296a8c5, 0xd5d5441c, - 0xf989777c, 0x15140535 - } - }, - { - { - 0xb9dcd61d, 0xcbaaec34, 0x16ba6f27, 0xa958ab00, 0xc7d2a24a, - 0x6029ee82, 0x2d6e185a - }, - { - 0x3d903248, 0xffe81e81, 0x32c85e8a, 0x4275cf21, 0x44d143d6, - 0xb712fba1, 0x8c0174c6 - }, - { - 0x22d77608, 0x3a6f9e3e, 0x21ca1d29, 0x8c107f4a, 0xda8190ce, - 0x3a1bff86, 0x74a7dbc6 - } - }, - { - { - 0x8ef711d, 0xcdf7aa53, 0x979f592, 0x2bc6affb, 0x9f074606, - 0x7282f888, 0xdb99d0e2 - }, - { - 0x20dd5703, 0x86e90006, 0x28a38078, 0x6ddc6d32, 0xc52cc31b, - 0xd5b8f27a, 0xab7980dd - }, - { - 0xcd61ee21, 0xed689d93, 0x2a9996db, 0x5f5550af, 0x97a9c51a, - 0xdf4cf867, 0xb90903f - } - }, - { - { - 0x5100fca, 0xba27f8ad, 0x548a7a0f, 0xb545e3d7, 0x258e6b13, - 0xcdc76bc9, 0xa939d7c4 - }, - { - 0x79183000, 0x23b1061, 0x8d219b8f, 0x32a4393d, 0x559ed23c, - 0xe0b2893f, 0x461347 - }, - { - 0x6fe0a443, 0x25b230cb, 0x742379e8, 0xc6dd7ed5, 0x6e1cc9c3, - 0x5b110872, 0x7d04af17 - } - }, - { - { - 0x3db0101b, 0x8a0ac07d, 0x3c601041, 0xb8e648a8, 0xa167f165, - 0x445550ea, 0x4aa60620 - }, - { - 0x9e02bb1b, 0xd74f60a5, 0x2398a639, 0x9fba4eb9, 0x7cca2e96, - 0x52c47318, 0x332fad8a - }, - { - 0xd126a13d, 0x7b438517, 0x206481c1, 0x5e75cf30, 0x543affef, - 0x948fc91b, 0x2c4c12d2 - } - }, - { - { - 0x4128531e, 0xab105159, 0x2977fb61, 0x1145e39b, 0x93cb938a, - 0xb9b704, 0xa8dab165 - }, - { - 0xd751c43d, 0x937a6c7e, 0xc6583374, 0xc974d290, 0xb4bedf77, - 0x27009b0d, 0xf0d280bf - }, - { - 0xd94a14ec, 0x87885e9, 0x4053c10d, 0xadbc5e8a, 0xbf0bcc61, - 0x2e296de7, 0xc78d31ed - } - }, - { - { - 0xda5657e8, 0x30d888a1, 0xc87771e5, 0x3323ddf9, 0x1a68c04a, - 0xe625a762, 0xefdf9812 - }, - { - 0x49e1bfd5, 0x4388ac9a, 0xea23e6d2, 0x65acb94a, 0x4c2e2657, - 0x1fc48439, 0x4769f14b - }, - { - 0xd3f925a2, 0x98f58fc3, 0xdcf4682d, 0xb578dde7, 0xe2069756, - 0x927d62ea, 0x2d69c534 - } - }, - { - { - 0x51337629, 0x1756ecda, 0x748d5d1a, 0x804ebf3a, 0x3f86617a, - 0x3ee20951, 0x598e26ac - }, - { - 0x7c6b914c, 0x81fe1e18, 0xc567bcde, 0x9af62b58, 0x2351e019, - 0x2c33f32f, 0xd7dc5b80 - }, - { - 0x520dde20, 0xd5bab412, 0x2a7cc1b0, 0x2c7f2948, 0x584ebbc5, - 0x488262ae, 0xc3392076 - } - }, - { - { - 0x2edeaa42, 0x50fc59e5, 0x832f4fdf, 0x5fa956d9, 0x829780ae, - 0xba1c6db5, 0x1d17aaf9 - }, - { - 0x1a770cdc, 0xf5b84572, 0xbb39fec5, 0xb7cba2bc, 0xb29f7091, - 0xe9aa0d8d, 0xd2aedae9 - }, - { - 0x7da00a3c, 0xe57e2815, 0xe54889ae, 0xb7ee485e, 0x296f7e5f, - 0x74917be1, 0x7058d3e0 - } - } - }, - { - { - { - 0xfd4349ca, 0x6a9377f5, 0x54c0c4, 0x39049d1b, 0x7cc353e4, - 0x550eb1ce, 0x5351df5a - }, - { - 0xa4f12f38, 0x9b5658fe, 0x2157b0f0, 0xba453782, 0xb3b614f6, - 0x2bc5a24, 0x55717769 - }, - { - 0x951ee272, 0xaa26cf43, 0x88e2eb5e, 0x59c3ad91, 0xaceb7341, - 0x3c2c1936, 0xa62bf0a2 - } - }, - { - { - 0x86c1cb0, 0x52bd57ca, 0x446bdc0, 0x276bd3c0, 0x3a3e94b5, - 0xf725f079, 0x14ae17a4 - }, - { - 0xb8ac8f99, 0x9b234128, 0x48fddea5, 0xa970033d, 0x823903f4, - 0x4ee7889d, 0xb72b9060 - }, - { - 0x25c45e0e, 0xf2793039, 0x77b1b530, 0xf75e5ccd, 0xef8b46f6, - 0x21992f84, 0x8f66ae23 - } - }, - { - { - 0x1cedd707, 0xf447a993, 0xbab63ae3, 0xca31a0f6, 0xc8bf6897, - 0x25d12c88, 0x147a0a50 - }, - { - 0xf4d4db02, 0x521259c1, 0xb8dcffd9, 0xdcfd4aa8, 0x2989d09c, - 0x7633e293, 0x1af4b155 - }, - { - 0x11343aca, 0xa8ceb7d3, 0x3c2930fa, 0xcd70379b, 0x1fe2627e, - 0xfe0a49cc, 0x5cf584d - } - }, - { - { - 0xba8feb24, 0xcc58da51, 0xb9738ec, 0xce1f7363, 0xd8b33e2a, - 0xe72d6f3f, 0x832998df - }, - { - 0x2d182a1f, 0xd5a2a621, 0x48131b5c, 0x50095632, 0x63864782, - 0xaaece2a, 0x4973b1b5 - }, - { - 0xe9760fdb, 0xb8d3b1bd, 0x4cb9b5fe, 0x4036508f, 0xde53f69e, - 0x341c4b37, 0xdebd71a0 - } - }, - { - { - 0x19d74f06, 0x6c9dbeb9, 0xfa14e753, 0x9007a76a, 0xb75ba5ed, - 0xa5eb999b, 0xb735d466 - }, - { - 0x2c3b470e, 0xbbe5553c, 0x8868d986, 0x6efa7081, 0x1b8e6385, - 0xc45b2e63, 0xb509c4b4 - }, - { - 0x775bf634, 0x1f76e2f2, 0x3c62c19f, 0xc3eb5f81, 0x5616faf6, - 0x8d9bdd43, 0x50b3f535 - } - }, - { - { - 0xe26f84c2, 0x833d3654, 0x6debfaa8, 0x561a220f, 0x56688fac, - 0x168bbb84, 0xc55efaee - }, - { - 0xdab432fc, 0xa88e73f, 0xbd8c5282, 0x330b494b, 0x9a7d593f, - 0x4507a2ba, 0xd407f61 - }, - { - 0x4ab0d15e, 0x8744d3c1, 0x60dcd257, 0x3b45c284, 0x9b35c389, - 0x1c7ddfed, 0xb3e40684 - } - }, - { - { - 0x219e157e, 0x496e40e9, 0x9b5a6466, 0x10febf26, 0x8283cbfc, - 0xab118f6e, 0xd0fce4e3 - }, - { - 0x19865a55, 0x9d6a55dc, 0xb52c72f1, 0x7b4912d, 0x18089a3d, - 0x2e7da1d, 0xbcdede84 - }, - { - 0x444c223, 0x447badea, 0x575a23ae, 0x8b9dc95a, 0xfd88d452, - 0x7ae2a195, 0x16b00438 - } - }, - { - { - 0xe9d50fab, 0xbf15bc7c, 0x390b1d04, 0x9de70d4f, 0x5ac291e4, - 0x596679d4, 0x8cd18181 - }, - { - 0x2ef35ac9, 0xca89e622, 0x53636802, 0xd4deb00e, 0x497f879, - 0x1e9f5060, 0x79e3d029 - }, - { - 0xb7513603, 0xa3352454, 0xdac7e8c4, 0x32d3d17b, 0xe785d1f2, - 0xce6f0870, 0x8944de02 - } - }, - { - { - 0xb575418b, 0xa0c0cc2c, 0xc2ab7be8, 0x6faf9ee1, 0x89ebfae6, - 0x63ff53a0, 0xb13c1089 - }, - { - 0x5cc40886, 0xb6a20502, 0x5be88588, 0xbe19952c, 0xb12a88c5, - 0xf6d043af, 0x69255518 - }, - { - 0xab343c98, 0xfd831c3b, 0x1270facb, 0xea29f6b9, 0xc0734429, - 0x212f30, 0x6d7d6f34 - } - }, - { - { - 0xac607d80, 0x218cdb8, 0x587fcf8b, 0x2b485859, 0x1c76db36, - 0xc0059013, 0xc0cd3c66 - }, - { - 0xf9e32a40, 0x4e0e2832, 0xe011e08d, 0x7043c9f5, 0x6079cca, - 0x686fab74, 0x1b1bb4c3 - }, - { - 0x65f98a3a, 0xdbbe760e, 0x708afc41, 0x86d93df0, 0xc49c1326, - 0xf6292a94, 0xf5347db3 - } - }, - { - { - 0xa146808, 0xac7a5314, 0x34928972, 0xe34950a0, 0x212261f2, - 0x841944ec, 0x1c36b335 - }, - { - 0xcd350f00, 0xab646a66, 0x4a0490f4, 0x326b5129, 0x8a74378c, - 0x56970c57, 0x67ee64e6 - }, - { - 0xba200d68, 0x7ab36007, 0x40a20740, 0x8584d755, 0x8c1cf8e2, - 0x90f94e43, 0x42fc77f7 - } - }, - { - { - 0xd0f10a1b, 0x9b54569d, 0x375259b, 0xd41b5f0d, 0x3e8d5795, - 0x550274a9, 0xfc9e8dd6 - }, - { - 0xde86efa9, 0xfcdf4bd6, 0x8242ffe8, 0x8c5a0db1, 0x2f666bce, - 0x463ab20b, 0x2668adce - }, - { - 0x61ac9ddc, 0x5b02350c, 0xa21aca69, 0x71a0bba8, 0x19adf6f0, - 0x3655b8c6, 0x974e1648 - } - }, - { - { - 0x8f74e08, 0x40f03e47, 0x1b0721c6, 0x478d7863, 0x49b5556f, - 0x8eb2fe15, 0x65a1fb65 - }, - { - 0x9444437b, 0xbfc62d59, 0xd5b4f800, 0x17fe06bc, 0xc49b2703, - 0x8b19c4b6, 0xff01238e - }, - { - 0x2b512f, 0x789d7795, 0xadceff03, 0x96861a84, 0xe9bc076f, - 0xea4137af, 0x1c95f54d - } - }, - { - { - 0x4683ad13, 0xfeee37ed, 0xd3a46db3, 0x1844dbe4, 0x374bb874, - 0xb4971ef0, 0xad8e5d66 - }, - { - 0xbd1fa71c, 0xd3c7b312, 0x7ae2741b, 0xc5dfff7d, 0x2a914dc7, - 0xea1b1230, 0x93189a3a - }, - { - 0x182ed421, 0xceb234e2, 0x141e5104, 0xdd9f3767, 0xaa05d31d, - 0x66551495, 0x4a8cd8f1 - } - }, - { - { - 0x3f2fe09b, 0xbdac392b, 0x62d36ed4, 0xb83696fa, 0xee033a2d, - 0x4f54f296, 0xac709ed4 - }, - { - 0x55c08548, 0xf218fece, 0xc6363f4, 0xcd892ec6, 0x850ed37d, - 0xd91913d1, 0xf9f82546 - }, - { - 0x7d63778d, 0x13400ef0, 0x3bc9b158, 0xb106af39, 0x38544d44, - 0xea78cf28, 0xe83a74ca - } - } - }, - { - { - { - 0xa946830b, 0x34cb4b69, 0xb6e96075, 0xfd46de6f, 0x8ccffaa5, - 0xd2aa6696, 0x2705d63f - }, - { - 0xbb6074ee, 0x886d9236, 0xf0e5e739, 0x43fb24f2, 0xcaf8cc56, - 0xa923b0ed, 0x8de33df2 - }, - { - 0x91f680d7, 0xcbe3ebed, 0x1f46d79a, 0xacd73a29, 0xdfbeac5d, - 0xbde8d429, 0xc1b4019d - } - }, - { - { - 0xab185823, 0x319ee97d, 0x3f89c466, 0x41ee0e9a, 0x5895c81a, - 0xeb32abf, 0x58ae10d7 - }, - { - 0xf5ad361d, 0xa5c3c7f2, 0xe6fceb6e, 0x1c060c87, 0x325696f9, - 0x13295c70, 0xfab95b73 - }, - { - 0xb0e1de2, 0x25cce69, 0xf52604f2, 0x78a658d9, 0x1db0eb61, - 0xb637255, 0xbfa23d48 - } - }, - { - { - 0x2d185470, 0xe10a0631, 0x855d3e82, 0xad938f69, 0xca7672ee, - 0x19cff9e2, 0x98ba7624 - }, - { - 0xab871613, 0xcb50d59, 0x66b98afc, 0x2e2f092f, 0x18e3593e, - 0xfd011f32, 0xcc5f0ef7 - }, - { - 0x6d180923, 0x8a24fc6c, 0x64b7f253, 0x6f082ef9, 0x436869d5, - 0xcae171ee, 0x131b30b9 - } - }, - { - { - 0x2392936a, 0xad70064b, 0xae1ddf98, 0xda21a391, 0xb5660365, - 0x1a06ec4a, 0x4965c8e2 - }, - { - 0x826f1ee6, 0x361431ed, 0x8913a78d, 0x35c399b3, 0xab11b2ea, - 0x79bb36a0, 0x3e1f3cad - }, - { - 0x46ea6c0b, 0xc91039e6, 0x3f274b92, 0x26d3a7d3, 0x3bf4e535, - 0xe501a7c8, 0x162065c3 - } - }, - { - { - 0x38e766d5, 0xb07c0fca, 0x4b4b4a77, 0xa73262ca, 0x19db95d0, - 0x4239aa10, 0xd4f9dc8f - }, - { - 0x85c27d13, 0xe6c77629, 0xc544f348, 0x62b164fc, 0xc17bfac0, - 0x6b10a3b, 0x77a505a5 - }, - { - 0xc27573d2, 0x5efae766, 0x97fcd99, 0xd3d10aa, 0x1cd3828d, - 0x2898d7a8, 0x64706f48 - } - }, - { - { - 0x3d251e2, 0x21c32137, 0xf719d97c, 0xbf2b869e, 0x31f7fb0b, - 0x1863f523, 0x62052a91 - }, - { - 0x8015893e, 0x940f38e6, 0x2c10dee4, 0xae9acac6, 0xfbf91d4c, - 0x404d9133, 0xae49f395 - }, - { - 0x40323ed4, 0x5bcf31ff, 0xbf9d36c8, 0x75cc8958, 0xebf9229e, - 0x27010560, 0x29cfa342 - } - }, - { - { - 0x9dfd3391, 0xa29f3966, 0x9415bbab, 0x38e71790, 0x72cb24f1, - 0xdff8ba73, 0x24f30d5 - }, - { - 0x2aa518fc, 0xaa781d53, 0xf32fd06d, 0xd0d67a51, 0x7663928c, - 0xb48f4b60, 0xbfcf637 - }, - { - 0x169448e2, 0x27732e19, 0x6f90afb9, 0x6dfa6890, 0xb0ad1694, - 0x7f0e7f2a, 0xf7220a31 - } - }, - { - { - 0x4adf9bc0, 0xcf321af, 0xd00187d5, 0x8ba08201, 0x4fb489ac, - 0x9321b389, 0x8e620219 - }, - { - 0xbf9dbe4a, 0xd48a5891, 0xb13ff8de, 0x64aec91d, 0x43c97685, - 0xc8a1f04f, 0x9b48b27b - }, - { - 0x47f85bbe, 0x9a82c92b, 0xfa70ed8f, 0x2d2146d9, 0xf80bce1d, - 0x4f5bef46, 0x84de2c2f - } - }, - { - { - 0xbc8bb5a2, 0x97c1e9b, 0xd565edc7, 0xaeb0453e, 0xfa35c121, - 0x68127f71, 0xad5f9c25 - }, - { - 0x689522c9, 0x60382166, 0x9c7dc765, 0x7aed95c7, 0x75db6c60, - 0x16b023b, 0x3ab92631 - }, - { - 0xc39cae63, 0xc2bdeafd, 0x23c3739, 0x5be11dd6, 0xe3125fa7, - 0xa64ac082, 0x67d54b16 - } - }, - { - { - 0xc1ea0aa, 0xfe6133b2, 0xe718ce79, 0x2e40b98e, 0x23e6ce62, - 0x41dbc0b2, 0x296c7ab - }, - { - 0x891e796f, 0x571ba45c, 0x84784e74, 0x4e979d49, 0x81f862e4, - 0x1a85d0c4, 0x64aab2ee - }, - { - 0x3dbff3cc, 0x4c85c19d, 0x93263072, 0x3f53ccf4, 0xf32e1cf2, - 0x632df497, 0x8b97fab4 - } - }, - { - { - 0x4aafc883, 0x759a932, 0x88e7e781, 0x6e203331, 0x9eae4026, - 0x7967a04f, 0xd49317e - }, - { - 0x8f5ba114, 0x6bb3f383, 0xe62bb51a, 0x20eb4cd7, 0x1d37b473, - 0x1b8cd0a, 0x78a4351b - }, - { - 0x53875b91, 0x7f066d48, 0x23070bb, 0x10db1986, 0x8e2a1d2d, - 0xb15286d0, 0x2c262430 - } - }, - { - { - 0xb0dfa66d, 0x4fe9f968, 0xdf8bea0, 0x41cbb87d, 0xbd19f15a, - 0x3867a6dd, 0x5dc65e87 - }, - { - 0x8b438a5e, 0x66b198ee, 0x86f7712a, 0x29cf4a46, 0xb82f46f3, - 0x86be188, 0x3b2024f5 - }, - { - 0xf96323ab, 0xe722f460, 0x36815c01, 0x21e2c1ce, 0x2ca0e882, - 0xae482df6, 0x5ab1dc60 - } - }, - { - { - 0x1fd2ba0e, 0xe1d7ffdb, 0xa56d8f5a, 0x81719729, 0x3c260da3, - 0xca4b6ff, 0xa637909a - }, - { - 0xc0256e14, 0x316fc980, 0x6d1558db, 0x7f097542, 0xd077e791, - 0x41c22b0f, 0x2ba29f66 - }, - { - 0x62769e10, 0xd123327, 0x5f774ab9, 0x5bb33a7, 0x69c93cd9, - 0x5e945612, 0x3ec5ce1a - } - }, - { - { - 0x795dff3, 0x252092de, 0x2f6e07b4, 0x19df0860, 0xcb0175f3, - 0x62f1ea4f, 0xb7d848cb - }, - { - 0xbff3f596, 0x13891d76, 0x5575ba6a, 0x60b3617d, 0x8287018a, - 0xa3674978, 0xde62fc9 - }, - { - 0x9694c089, 0xc33b139c, 0x4ea7b9d9, 0xb9f5ffdd, 0x4b0ab5e7, - 0x955a025a, 0xef65612a - } - }, - { - { - 0x7e81df78, 0x6ebca730, 0xe9c415c2, 0xc9490bcd, 0x34672113, - 0x53af4c17, 0x9e321db1 - }, - { - 0x51bcb29c, 0x1a029dcc, 0xce3795d6, 0x7e220605, 0xc8ca458f, - 0xaf7e3da3, 0x81fff321 - }, - { - 0xa210305f, 0x914f2f52, 0x9f2335a0, 0x87f42c43, 0xd8a44674, - 0xda23dde3, 0x71da8dae - } - } - }, - { - { - { - 0x6df536c1, 0x3d4d46b7, 0x14e5208c, 0xedca0ee2, 0x77e0face, - 0x2697a43c, 0x1dad56bc - }, - { - 0x49fee01e, 0x50556951, 0xcc656e2c, 0x3c0d61e3, 0x7a9e64b8, - 0x3a563b9d, 0xb2f6cb11 - }, - { - 0x1ff7925e, 0xdb7df1a5, 0x88e417b6, 0x4b3bf1c, 0x1ceae2f3, - 0xa3429d1f, 0xff6bf05f - } - }, - { - { - 0xf6759629, 0x3ea593e0, 0xc8fda486, 0x88075ca4, 0x564a6ae, - 0xe0f4bddb, 0xa3ba08f - }, - { - 0x3cd9beb7, 0x4ae05a98, 0x6a2f5fc3, 0x1c8b76ca, 0xb12b708e, - 0x1cc0a8d7, 0x791477d5 - }, - { - 0xcf245c49, 0x671046b, 0x5986385d, 0x6d35bcaa, 0x2b280e8c, - 0x1e333667, 0x7670a239 - } - }, - { - { - 0xe0d0b6b1, 0x5d2b0719, 0xb78d3288, 0x942b804d, 0x8a708d01, - 0x9f36e42d, 0x334dc320 - }, - { - 0x56b41f34, 0xa27da7d5, 0x567ea96c, 0x4910cc9a, 0x2b1e4921, - 0x80b34334, 0x8b42998d - }, - { - 0x20b4593e, 0x7b170e0e, 0x77bed106, 0x22b78c94, 0x521eb383, - 0x36a8c0b4, 0xc7b905c - } - }, - { - { - 0x256f1797, 0xd6331f6c, 0x33bfb2dc, 0x9c5619cf, 0x61a04255, - 0x441ae6fa, 0x2b4843ed - }, - { - 0x994580dd, 0x48b7d40b, 0xa4f58ef0, 0xc91735e6, 0x99ff017f, - 0x50010da9, 0xe13dc69 - }, - { - 0xc71e7894, 0xa6dc88a2, 0xff7395f2, 0x454945c, 0xd4c10fb7, - 0xe3a4dcaf, 0xe109b043 - } - }, - { - { - 0xaa99a10c, 0x530edca3, 0xfe5c63f2, 0xcd60019e, 0x30875f84, - 0xb3f08098, 0x43404616 - }, - { - 0x2af05b9a, 0xfbf2b730, 0x9d44a0c7, 0xaa6bc29e, 0xfde8a93e, - 0x61e0ddc4, 0x33441e9 - }, - { - 0xf77bdfa9, 0x92f299e, 0xb30d6ddb, 0xcdec1541, 0x9191c6dd, - 0x9bc6096e, 0x4449d6a4 - } - }, - { - { - 0x8688d3ca, 0x5ff911fc, 0xb6315b78, 0x636897d4, 0xd85ac58a, - 0x5ab3e2bb, 0x872695dc - }, - { - 0x1e29a4db, 0x583bddcf, 0x44f04ed5, 0xc2b19291, 0xc611a71d, - 0x34b5a8fb, 0x9d10498e - }, - { - 0x2e54e85c, 0x45a8ca16, 0xa80e01c7, 0x9284b50a, 0xdacf62ae, - 0xc1b34c9d, 0xe47e5732 - } - }, - { - { - 0x942db043, 0x1d5afdcc, 0x3bed56c4, 0xe3c7d456, 0xced14d71, - 0xee7a4a14, 0x303b2e21 - }, - { - 0x526a23d1, 0x6c9f2187, 0x98993d3f, 0x4cdac58d, 0x47afe976, - 0xb855eaeb, 0xd729d446 - }, - { - 0xd9407f9c, 0x78e63e7f, 0x44ba24d2, 0xbeb182ea, 0xdb6cc606, - 0x59763fff, 0xd59bde4e - } - }, - { - { - 0x64526768, 0xe9ae2b41, 0xe7bf6db8, 0x63d49761, 0xf9724760, - 0xc2a3f352, 0x177577bf - }, - { - 0xc5c4503c, 0x84f67960, 0x97a8771, 0x4d0f4529, 0x7ecdc8e8, - 0x6e44f764, 0x3feb575c - }, - { - 0xa281a894, 0x6c26230f, 0x983cbfef, 0xc2313da8, 0x78314657, - 0x973baff3, 0x4835b7c8 - } - }, - { - { - 0x5588fb79, 0x9d4d4505, 0xb9c8b8, 0x6b6744d0, 0x4b054e20, - 0xdea9c08c, 0x24a3b8df - }, - { - 0x5719438, 0x31fdc053, 0x2af52fd0, 0x86eeec83, 0xeae351ac, - 0x850439f5, 0x6e236b34 - }, - { - 0xdf197d6e, 0x1f486772, 0xc9d5dce8, 0x733f16a6, 0xd4322f47, - 0x4aa65aa6, 0x9243644a - } - }, - { - { - 0x81bad365, 0xd8a4b732, 0xd6e919fe, 0xc0d22352, 0x4f7135da, - 0xcf244181, 0x2a7c1d5c - }, - { - 0x9795cb03, 0x203faf98, 0xd3053dac, 0x1f7d352c, 0xfbc3a709, - 0x5dffd61a, 0xd6814ec2 - }, - { - 0x3c628e13, 0xf2fad465, 0x70bd684e, 0x96dc9b16, 0x64415071, - 0x68ce5fa6, 0xec68e963 - } - }, - { - { - 0x1d41a23b, 0x18901567, 0x4a49bee5, 0x6641c830, 0x4b7a3b24, - 0x8fe04694, 0x1c76f627 - }, - { - 0x2ba29896, 0x66914beb, 0x8e7a27e0, 0x540f69df, 0xbff2c66d, - 0x4340b3bb, 0xa6c2e799 - }, - { - 0xef321d4e, 0xcf355393, 0x229d652d, 0xf54caf11, 0x2c5cdb26, - 0xaab80db2, 0x8a570661 - } - }, - { - { - 0x8e9e23a1, 0x676a1162, 0x8ef1c1e8, 0xda2f9976, 0x73f68980, - 0xb3fef011, 0x38ad274a - }, - { - 0xc6836912, 0xed24536b, 0xc009fb6, 0xd3c4e79, 0xa0cdf9ba, - 0x4ee572bb, 0x7e88fdd5 - }, - { - 0x8bc242fb, 0xc5b27d36, 0x3259c1d2, 0x9fec237d, 0xb6e7a47d, - 0x71e10b3, 0x329de94b - } - }, - { - { - 0xdc894bda, 0x7b92a503, 0x3cf83f1, 0x6059361d, 0xfdc3ffb5, - 0xd29f8d84, 0x61636de6 - }, - { - 0xe0de7cc9, 0x224b780c, 0xd6fff03f, 0x749d0a64, 0x67a3dc5c, - 0x812993e2, 0xdfe68255 - }, - { - 0x810c32a8, 0xd5718f, 0x1029febe, 0xffdb9815, 0xb98d55b7, - 0x790df633, 0x54b043e6 - } - }, - { - { - 0x79c93d9a, 0x4d0f8588, 0x5ce36196, 0xf122dc8c, 0x9c103ebf, - 0xf7c6561d, 0x85778988 - }, - { - 0x334f03cf, 0xf3074e77, 0x9beadc1, 0x4190d789, 0xc7d11f32, - 0x910c2d76, 0x44ef319b - }, - { - 0x30494481, 0x78c046d4, 0xf16afa70, 0x214178da, 0x5e8062ad, - 0xe840867f, 0xc0c11728 - } - }, - { - { - 0x40c354cd, 0x28ca0a6d, 0xf419fb8, 0x5ba034eb, 0x54dea830, - 0x1a1095be, 0x4dac576 - }, - { - 0x20638db1, 0x4c3b58c2, 0x20e5dd4b, 0x4d3d6fe5, 0x555c3edf, - 0xda49aebb, 0x38635cde - }, - { - 0xd43bc445, 0x3a7bf9e6, 0x5164e0a, 0xe475536e, 0x59296813, - 0x138ce694, 0xbe4f1239 - } - } - }, - { - { - { - 0xdd0a1ac1, 0xd64ed56d, 0x9838695, 0xb3acdd1d, 0xf93b2314, - 0xa8bc6876, 0xc0fffec6 - }, - { - 0x598d4df8, 0x72b88425, 0x3ae50ab, 0x7ed6192b, 0xe0410ac7, - 0x664d2523, 0x89aa1f74 - }, - { - 0x6ca56373, 0x7351699d, 0xc6249181, 0x37632021, 0x85770e9a, - 0x97e2f853, 0x487dc6ba - } - }, - { - { - 0xf47dc6bb, 0x76066ce9, 0x3eea5d8a, 0xdf867619, 0x79df8cec, - 0x6c349235, 0xc801644a - }, - { - 0x3c3cc21c, 0x3be79180, 0x36fb36a2, 0xc3e64227, 0xe7a4f06c, - 0x59db04d8, 0x6974b6a9 - }, - { - 0x3e5f3fae, 0x64619b35, 0x32090fa2, 0x58257d80, 0x1495290, - 0x6c26224b, 0xccecd351 - } - }, - { - { - 0x8b489ca3, 0xd259342e, 0xb4c0c95, 0xb8eb381, 0x8d44b81d, - 0xb1b41e04, 0xe30c1e3d - }, - { - 0xc71bdca4, 0xdd168346, 0x325467, 0xa8cb56ee, 0xf045379e, - 0x1f935b37, 0x65e9c6a0 - }, - { - 0xc8b6092c, 0xba406f2f, 0x2d489eff, 0x82082175, 0xa29a416b, - 0x5ed891e, 0x5105d67d - } - }, - { - { - 0x8dbf4df9, 0xe4778b66, 0x9e73821d, 0xaf6e6b88, 0x25eecefe, - 0x72159114, 0x2cde1243 - }, - { - 0xd1ed742f, 0x3955ac9e, 0x460193e7, 0xa836f0e9, 0xdd62a3bf, - 0xeadc6801, 0x44e073d9 - }, - { - 0x9d0dc7ec, 0x8e88e258, 0x3f9578e2, 0xf332c861, 0x3e68b7a4, - 0xfcad3be0, 0xac78639c - } - }, - { - { - 0xb2e8005d, 0x9f53b45e, 0x4c0a4b79, 0xc8fbbf2b, 0x22f2f7f, - 0x2eda3bd8, 0xe00aaa47 - }, - { - 0x98ecfbca, 0x41af6cfd, 0x8d41d554, 0x2f14abb, 0xba095788, - 0x39b5f6ae, 0xe5f5467c - }, - { - 0x73d180d4, 0x13a08211, 0x4ef7c7aa, 0x91128e76, 0x95de58e3, - 0xe9b1d2bf, 0xe4d38615 - } - }, - { - { - 0x234c3d12, 0x816c36b0, 0xf0c9d06, 0xc1d985b1, 0x95f00131, - 0x66e75e9, 0x9cf8d9e3 - }, - { - 0x6a624d12, 0xf8e4621c, 0x3587ecc9, 0xc4579895, 0x3cb36590, - 0x343587c0, 0x28f60d63 - }, - { - 0x6646204e, 0xd688b099, 0x102ae151, 0xf4a80289, 0x19c1307d, - 0xef380e57, 0x18980f14 - } - }, - { - { - 0x1dfc3f12, 0x1b7afcac, 0x4f315f9f, 0x37838578, 0xf17128aa, - 0x63a9a92e, 0x920ffa9 - }, - { - 0xc1bc5f22, 0xb979a91, 0x4bed091c, 0x6ce98bc, 0x709a00af, - 0x95eb05a9, 0x35a2e1e3 - }, - { - 0xaaad5d9b, 0xf2e052a3, 0x4f1f7a2, 0x67792ff2, 0xde940218, - 0x6f634d79, 0xacf72ae0 - } - }, - { - { - 0xb63b27f8, 0x33f1cfa9, 0xbe52dcc0, 0xeaf7d7ea, 0x4022c001, - 0x2ab80894, 0x642d9ed5 - }, - { - 0xf762e82b, 0xa4523c53, 0xd6b0681c, 0xd7272264, 0xf9b102c4, - 0x93a4a6d9, 0x4867e414 - }, - { - 0x9db6d03d, 0xe631ba8e, 0x41598e9f, 0x159c062b, 0x3e9eae01, - 0xf1dcf787, 0xaabba0ef - } - }, - { - { - 0xaf482042, 0xaf6ab3a5, 0x46588702, 0xaef02105, 0x3f662ad7, - 0x552be83f, 0x87c44d70 - }, - { - 0x3c8cc17b, 0x479b9a27, 0xf246f7d8, 0x46e0c71f, 0x5b59b0c0, - 0x3413c7f6, 0xc5c20ea3 - }, - { - 0x9161b7d3, 0x1acda2ca, 0x830c6270, 0xb9b591d8, 0x3d7c4e90, - 0x704e7616, 0x298d977f - } - }, - { - { - 0xeff2739e, 0xd58545b9, 0x7e914e03, 0x10082a5e, 0x8d174e89, - 0x77c053c2, 0x1ee196e8 - }, - { - 0x8f2ddd99, 0x46d6675, 0xe0785a4c, 0xc8034a96, 0xfb0292a7, - 0xb195f06a, 0x3bc11ca8 - }, - { - 0x133926f7, 0x76e08899, 0x4f9f8d28, 0x74aaf9fb, 0xd3889bf2, - 0x811abe07, 0x939e28fe - } - }, - { - { - 0xc48eadf8, 0x8b8ec7bf, 0x74e45ea6, 0xe6510b5b, 0x84e466ae, - 0x2f70d5d6, 0xedd9bf69 - }, - { - 0x242b0f1d, 0x34dfa6cb, 0x3a78d93b, 0x74b05ebe, 0xcee39119, - 0x2722952b, 0x5616017c - }, - { - 0xe4fdb6ec, 0x8aec9e1b, 0xcb904dfc, 0xbc8f3ce9, 0x6f5cdd6e, - 0x95f2cbb4, 0x968341bd - } - }, - { - { - 0xaa68d79d, 0x4c306a4, 0xdae1bae4, 0x6870c3a3, 0xabdd1aee, - 0xf00d2a5d, 0x5dbf0d36 - }, - { - 0x8475bfcf, 0x30f7b3ae, 0x5c8425b8, 0xda850ebb, 0xd0423d4d, - 0xfc10b649, 0xe8915b2 - }, - { - 0x2326b8a6, 0x27a3df3, 0x8b27d00e, 0x45709295, 0x669e3271, - 0xc94b18f9, 0xf95dc9be - } - }, - { - { - 0xd6481d69, 0x86a681d1, 0x3dfdb9f0, 0x7add8ad0, 0xd44ac205, - 0xb0013689, 0xc0b00ca2 - }, - { - 0xd11bf539, 0x96c89def, 0xfc43dfa, 0x1872b930, 0x32734e02, - 0xe16eb001, 0xe03f5dfb - }, - { - 0x33f51954, 0xe1ca0369, 0xd00c8a92, 0x33946f7c, 0x946dcd46, - 0x6c40458a, 0x795bc33e - } - }, - { - { - 0x53d2e62c, 0x5231d4b5, 0xcd751fcd, 0x95b69629, 0x2382e7dc, - 0xd618e81f, 0xd63fcd8a - }, - { - 0xa3f48975, 0x98dd820a, 0x50a0305e, 0x3db6812f, 0x27265731, - 0x21c87579, 0x8005e9b4 - }, - { - 0x8c1497b2, 0xd584e004, 0xcbb5e9b9, 0x2c9f73fc, 0x2bb0bf92, - 0xa59ee471, 0xe74b2043 - } - }, - { - { - 0x685a5e8d, 0x95251370, 0xa81ca685, 0x19e36101, 0xee1fceeb, - 0xfce25d22, 0x553266b9 - }, - { - 0x85e38ece, 0x1a6f2d93, 0xdc1bc550, 0xd0ca8fb, 0xa5b5d96, - 0xa6bffedb, 0x474d3dad - }, - { - 0x82175adc, 0x3b433b3d, 0xdf3455c9, 0x996fedd8, 0x14905fb, - 0x37f59b7d, 0xb081ffb6 - } - } - }, - { - { - { - 0xb5d4481c, 0xb6fcc72c, 0x74417c36, 0x34c20f45, 0x2251ee7, - 0x9e494774, 0x9ae8e76 - }, - { - 0xe16649b4, 0xb28cdc31, 0x49ac92bc, 0x8fad73cd, 0xd155b6f, - 0xd2ad9b57, 0x1cabdc9b - }, - { - 0xa0b668a7, 0xcd860543, 0xa6011d84, 0x75d23fc6, 0xbdcdee5, - 0x4b09235f, 0xd6ec83e - } - }, - { - { - 0xe9f53c37, 0x706278a2, 0xb96fb484, 0x8c2dd4f6, 0x25b0599a, - 0x18129b9d, 0x3c116f99 - }, - { - 0xfd5181be, 0xcdc0570c, 0x6593be32, 0xf8668c9f, 0x2ba44c5e, - 0x37fa0bd4, 0x599bafc - }, - { - 0x43fa58c1, 0xf0c23b19, 0x93a565a8, 0xbc4f83e3, 0x7c7c2c4c, - 0x3c9bb670, 0xdab0cd55 - } - }, - { - { - 0xce19fd58, 0x1f68a3f9, 0x3d347e00, 0x9c8e877a, 0x1f5678bd, - 0x3ba9e994, 0x285121c3 - }, - { - 0x61562bcf, 0x9702c95, 0x99611337, 0xe11d6a19, 0x11c83adf, - 0xbc96e647, 0x37d37e27 - }, - { - 0x40ff5029, 0x25b4dbbe, 0x8e7ba385, 0xa8cbf34d, 0xe99bbeee, - 0x3f9b535a, 0xb3ca851d - } - }, - { - { - 0x97fa538d, 0x7e36d85a, 0x47667247, 0xe8b483ce, 0x4c682cdc, - 0x2f982bfe, 0xe927a16 - }, - { - 0x6ed8430c, 0xa67746fc, 0xe76cb682, 0xfbc3f6a, 0xc3303f11, - 0xa7677a6, 0x3b8913b6 - }, - { - 0xa44b85c8, 0xe046000b, 0x84f0759, 0x5fc4d1a5, 0xbdcd933b, - 0x41854251, 0x440288c1 - } - }, - { - { - 0x1d770ba7, 0x82a856d8, 0x6d1ab440, 0xf47a1dfa, 0x23b7c188, - 0xc6d155c8, 0xca53c2b6 - }, - { - 0xe6aae320, 0x28adee84, 0x26f74c9, 0x5c04fd68, 0x7ec02235, - 0x434ca8a6, 0x4b1f99e5 - }, - { - 0x4d2362dc, 0x5307b075, 0x87748645, 0x110e6d65, 0x31b15727, - 0xd019211a, 0xf3c75f4 - } - }, - { - { - 0xa2219e7b, 0x1ea45d5d, 0x198da33, 0x7997e64f, 0xcf4ac9ec, - 0x8887d9cf, 0xf929dd25 - }, - { - 0x455cb237, 0x80639c92, 0x2be97e5d, 0x2434a035, 0x28f4db31, - 0x603eccd0, 0x9a42bd0e - }, - { - 0xaf756f35, 0xc98bd8b2, 0xd1e37688, 0x287e7230, 0xec115a68, - 0x50dafed4, 0xa2682eca - } - }, - { - { - 0x95e34b70, 0x26aa59f9, 0x6c0e7ea, 0xe717b16c, 0x268b26bb, - 0x2ae8234e, 0x45bb5f85 - }, - { - 0x19f304e6, 0xebddebcf, 0xfc4c77c4, 0xf40ca50f, 0xb21a4925, - 0x5887e65, 0x22844c6 - }, - { - 0x561ff797, 0x5b46b257, 0x80953e2f, 0xbcb2cb54, 0xab22d52f, - 0x466b506c, 0x31a246d7 - } - }, - { - { - 0xec02ac96, 0xa741b563, 0x2bb94ab, 0xd5aa72d6, 0x9e612ef, - 0x75e3831c, 0x81cfb45b - }, - { - 0xb68445f3, 0x2b83016f, 0x7cf5a8d0, 0x41b818ca, 0xc027734, - 0xf57bca7c, 0x49f51db1 - }, - { - 0xdc3fc13c, 0xcba2a273, 0x6a476a5, 0x8f0b08c5, 0x5f187944, - 0x69c3b9f1, 0x3358ad56 - } - }, - { - { - 0x253ee7a0, 0x1d0b796d, 0xf5df8cea, 0x8c4fc150, 0x5e8cd97e, - 0x1f55e8a3, 0xee244843 - }, - { - 0x1f47bc5e, 0xca422515, 0xbe0fc99a, 0x6b27feb0, 0xdcf02b45, - 0xfd23f81a, 0xe47b816b - }, - { - 0xde8b4b52, 0x56f734e9, 0xdf6b1e94, 0xa7322118, 0xc25437c7, - 0x80d2b5bb, 0x9bee1fbd - } - }, - { - { - 0x13ec6e66, 0xb0917172, 0x89c5e98a, 0xb774bc56, 0x203fff06, - 0x7d7be6a8, 0xd1eb7508 - }, - { - 0x64a2c194, 0xc29fcaf9, 0xdd6eb29a, 0xbab23d8d, 0xc27cce9a, - 0xcb0867a3, 0x857bb6ad - }, - { - 0xb56976a7, 0x9eadff54, 0x13353dee, 0xcd931fd5, 0xd55f446f, - 0xdb609a31, 0xe96f1d0d - } - }, - { - { - 0xa82ea63, 0x2d292227, 0x3c5af3e3, 0xf161d13, 0xf19e01b8, - 0x5b44aef2, 0xd2767bcf - }, - { - 0x30f4aa31, 0x799d99ab, 0x2dae75b0, 0x799bab15, 0x25f00043, - 0x25587aca, 0x133066e6 - }, - { - 0x8be43233, 0xf6c87b83, 0xbf5a71a5, 0xb25e35ff, 0xf0cdcb29, - 0x42bd3510, 0xa9e23831 - } - }, - { - { - 0xaa1f4b7, 0x937a8aae, 0xabbb4cf9, 0x43e377ab, 0x196ea81, - 0x1bfc51c, 0xac470a7 - }, - { - 0x838e6828, 0xb8a085fb, 0x8571b6f7, 0xd51de91c, 0x7e5b676a, - 0x7117b5cc, 0x6a932de3 - }, - { - 0x1aa8f7ab, 0xf0439f6f, 0xb38cf64c, 0xe7f6f2a, 0xa536ea48, - 0xefa623c8, 0x2d50b1ce - } - }, - { - { - 0x16804002, 0xe2543eb0, 0xe2c26786, 0xbd15030a, 0x369b389e, - 0x718362cf, 0xde8afc4a - }, - { - 0xa8d76b58, 0xb6e7cce7, 0xfca00525, 0xc3917f52, 0x2e5cb196, - 0xc45007d6, 0xb8a98342 - }, - { - 0x57c0e5eb, 0x471df341, 0x7ff289f9, 0x8e760d07, 0xc1734fce, - 0x879d4500, 0xf00a9b55 - } - }, - { - { - 0xdd13ef34, 0xdbd30dc8, 0xd67643d0, 0x73cfedb7, 0xfd734fc6, - 0xee3a20f0, 0xd4e38c28 - }, - { - 0xd59b1a37, 0xd4505404, 0xb1d2d5f5, 0xab124104, 0xb629018a, - 0x82997740, 0x315364a3 - }, - { - 0x9d825c85, 0xc148d906, 0x371c6d4a, 0x4679591e, 0xdf35009c, - 0x4f183553, 0xc445e1e6 - } - }, - { - { - 0xa2a5346d, 0x34bc71b4, 0xf7833118, 0x4ae79e9c, 0xe2860ede, - 0x9786eb71, 0xcff9df2d - }, - { - 0x5541f8b5, 0x70586b16, 0x924387db, 0xc5c6fccf, 0x6b8cd483, - 0xa32a9c56, 0x657f1bcc - }, - { - 0x5d9c4d45, 0xf643d4ba, 0x80b5bd54, 0x1502af8, 0x68017b18, - 0x53336311, 0x43756a82 - } - } - }, - { - { - { - 0xed332623, 0x79ae69f1, 0xd60d7221, 0x895f6509, 0x3ef38a32, - 0x5e8a184d, 0x3193ff9a - }, - { - 0x1c5f3255, 0x236b6342, 0xa3179f94, 0xb91c8e3b, 0xf49b1472, - 0xf410282d, 0x34cbd296 - }, - { - 0x4446ef6f, 0x431cbc8d, 0x821aa3d9, 0xeecb141d, 0xa7664bd, - 0xdb2f1a99, 0x963aa569 - } - }, - { - { - 0xa5083eac, 0xfc7e00b1, 0x1c27350b, 0x1488df7e, 0x6996177b, - 0x11fcbd5e, 0xf8219462 - }, - { - 0xcef4cc3, 0xebf0da6b, 0x560bcfb5, 0x10d4452d, 0x5c9aacae, - 0xdb8eb7f6, 0x625693fb - }, - { - 0x7d06bf88, 0xe59ea0b4, 0xde004c95, 0xbea4af61, 0x1fa5a283, - 0x7d39b93c, 0xe7803f71 - } - }, - { - { - 0x587ff13c, 0x9f190a33, 0x79f14ab, 0xc60c4895, 0x3323ca5e, - 0x3855e084, 0x416b1d49 - }, - { - 0xf8e3b8a5, 0x6257856b, 0x68ca5b75, 0x65cbaf5c, 0xaeab1929, - 0xabcda666, 0x1d931094 - }, - { - 0x540c7985, 0x3c92039c, 0x562bc963, 0x7369a161, 0xdcf899, - 0x4e6b124a, 0x7e0d4097 - } - }, - { - { - 0x9db5eddb, 0xf07a06da, 0xe4b3ef4b, 0xbf7f0f0, 0xb639a879, - 0x4d88127b, 0x95776126 - }, - { - 0x2ac1dca2, 0xed9eec0e, 0x6792db1d, 0xdc39600a, 0x5aea1c88, - 0xca807a6d, 0x98f4786b - }, - { - 0xf0fa185e, 0xdd2c32aa, 0x49818b09, 0xcc4b2c64, 0x6958a1ec, - 0x2ac366b9, 0x108f9bae - } - }, - { - { - 0x3833af96, 0x89dbf20, 0xc222b0c1, 0x67db4f11, 0xeab50aa8, - 0xb0cd3fa3, 0x84720808 - }, - { - 0x41eacd88, 0xc205aa13, 0x5e53bfc0, 0x4a916412, 0x9b012d5d, - 0xb7a948dc, 0x39eb90ef - }, - { - 0x8a568dde, 0x46ec2350, 0xc774afad, 0x550160c5, 0x3843737b, - 0x176153d7, 0x5bfb437d - } - }, - { - { - 0x3b6fc7d1, 0x4ce373a3, 0x8a81cd54, 0x6a08bace, 0x75fdc8b7, - 0xacd6fe96, 0x746b5d2e - }, - { - 0xa4b92285, 0xf90c748, 0x8b4ed576, 0x7df25bf1, 0x5e144a5f, - 0x34fe0e8c, 0x94b33a68 - }, - { - 0x51cb34ee, 0x521f97b, 0x344097b4, 0xf8f865b2, 0xf0eb77cf, - 0x70c1e193, 0x7bea6954 - } - }, - { - { - 0xdecbe193, 0x924dc420, 0x769a7db5, 0xa7ad561a, 0x47fab499, - 0xe6b21b2d, 0x7744dc7b - }, - { - 0x3d4ed091, 0xe23017e, 0xd0168b13, 0xa72d228c, 0x11c0a38e, - 0x41007de9, 0x6cc9f5b2 - }, - { - 0x1f57fe4b, 0x9f165a2, 0x1c1c34f9, 0xe1fb1ee4, 0xb7d957e7, - 0x6fa10aa8, 0x87b54b7 - } - }, - { - { - 0x9b30361e, 0x48e5e986, 0x230aead1, 0x6b6a7d13, 0xe358ebd, - 0x256b6e96, 0xfb16c8a8 - }, - { - 0x91580da7, 0x9f221b37, 0x730e50ea, 0xa50416b1, 0x9a06f39c, - 0xbebd74c3, 0xeb4cb3ff - }, - { - 0x89173ed1, 0x1a880cab, 0x9e1de278, 0x89f511f, 0x3cb1f7e3, - 0xac97412b, 0xd74522ca - } - }, - { - { - 0xa7380d5a, 0x8a2381f2, 0xb73f524e, 0x519dad4d, 0xbb015131, - 0x18685a0e, 0x9b28b2b5 - }, - { - 0xd215110f, 0x38914f12, 0x2a41dd3, 0x35a5b795, 0x8a88ddf5, - 0x97caea1f, 0xf83c751a - }, - { - 0xed130510, 0x141a4cee, 0x11eb90cc, 0xfc7c7f7f, 0xc0199561, - 0x8ed5247, 0xd400d781 - } - }, - { - { - 0x5e5e2ea6, 0xcb7814bc, 0xd9d0535a, 0xb3503c8e, 0xed27463d, - 0xd65a3afb, 0xb56ba31c - }, - { - 0x567c71ff, 0xf29c4f2c, 0xc6262690, 0x65241434, 0xfe5534f2, - 0x983e28eb, 0x37bce2b2 - }, - { - 0xe77c19ae, 0xf62a48e2, 0xac3aea2, 0x3d8d2910, 0xcf3e2350, - 0x10c40a27, 0xabfe6713 - } - }, - { - { - 0xe6d231d3, 0x2b9fe917, 0x2ad987aa, 0xa552c24d, 0x641dd6be, - 0xadbc8754, 0x7b247264 - }, - { - 0xf75f27e4, 0x2dae007, 0x91df6773, 0x6328af9e, 0x98e3d19c, - 0x5e8ef2bc, 0xcb0f2a0e - }, - { - 0xf1a1b484, 0xc290a7fb, 0x4bb6beec, 0x676e49f5, 0x50fb21ad, - 0xc3b0bf9, 0x569182ad - } - }, - { - { - 0x9895590d, 0x80fe5729, 0x8267e7fb, 0x562155ef, 0xf4647f4b, - 0x5f91656, 0x4f7021ae - }, - { - 0x4c179736, 0x2fd307d4, 0x902aa0a3, 0xc91e6f87, 0x12ad0709, - 0x10cc08f7, 0xf5bf6a51 - }, - { - 0xa64cb3a8, 0x83631b60, 0xa34ad33e, 0xade8f6f7, 0x972c7036, - 0x67324ec0, 0x9d5c3c63 - } - }, - { - { - 0x62f0d6d2, 0x237f18bd, 0x54d21868, 0xd4e47014, 0xb23345d, - 0x480550af, 0x31aa8aa1 - }, - { - 0x69537d7e, 0xab09e59d, 0x993e488b, 0xa1f29744, 0xb582d7c, - 0xa3318968, 0x343291ae - }, - { - 0x730c846c, 0x6123b3e1, 0x68dbf8a, 0x9d732e50, 0x4af8e107, - 0x2621b16, 0x4452bc1a - } - }, - { - { - 0x573c42b1, 0x85126403, 0xd13c6a49, 0x8712486, 0xdf0a6511, - 0x7543c555, 0x24c98697 - }, - { - 0x4f33ab56, 0x6fec9d4f, 0xa4c17d9a, 0xf557255b, 0x3ad30cc, - 0xca10036b, 0xa4ef16a9 - }, - { - 0xf715680f, 0x38c5d8b4, 0xc1673ad5, 0x340fc9b2, 0xd83ad43d, - 0xfa769800, 0x53f7aee6 - } - }, - { - { - 0xe339d98b, 0x89c288e8, 0xc6afee3d, 0xcddea9ec, 0x59ef172, - 0xd88e90ff, 0x24cf6ddc - }, - { - 0x99faf566, 0x64845ef5, 0xdac5251e, 0x52cb9120, 0xca27179b, - 0x65c08847, 0x4b545431 - }, - { - 0xd15064c1, 0xc3324307, 0xc6df7429, 0xa1fd5a4a, 0x22ccc2ab, - 0x19f1bcd3, 0x5d01e57b - } - } - }, - { - { - { - 0xaa3119c0, 0x1ea8e1b4, 0x369a1df8, 0xf7a8415e, 0x504b5b29, - 0x73039242, 0x9df913fa - }, - { - 0x9cf5eb45, 0x55a2af37, 0x18a82915, 0x1dd19318, 0xdfcdb837, - 0xdd32c85c, 0x6223f443 - }, - { - 0x4c4876af, 0x7b439c54, 0x4519c5d4, 0xd4eeffe6, 0xe1e04709, - 0x9790c73f, 0x6f0f73a3 - } - }, - { - { - 0x654c0eff, 0x18edcff6, 0xba5ffc4f, 0x19dd3912, 0xc613c9f3, - 0xe92b48e5, 0xcc4e6940 - }, - { - 0x97c65ce3, 0xdddf37b1, 0x7620a730, 0x1d48052a, 0xff268d4b, - 0xe7cc34de, 0x36398146 - }, - { - 0xe561a1c9, 0xd84ba900, 0x4203d7f0, 0x600f243f, 0xa2a21187, - 0x69e4b069, 0x5adbd4f0 - } - }, - { - { - 0x65e862c7, 0x27b53d99, 0xf4b6339e, 0xb3890791, 0xbf4437d9, - 0x50996682, 0xab4f4119 - }, - { - 0x1f0e9fb0, 0xd1dc984, 0x513d7d1f, 0x6929cd8d, 0x1e460b26, - 0x86d0e0b1, 0x18b80f08 - }, - { - 0xb7169342, 0x1e97fdb4, 0xe7c5224b, 0xf31d62e, 0xe1af5277, - 0x1cab5651, 0x4403d834 - } - }, - { - { - 0x927056da, 0x73ec09d1, 0x545f308, 0x69a5ec7c, 0xf2e4494a, - 0x89209920, 0x21f681cf - }, - { - 0x6586ba66, 0x21e10911, 0x94cfcac2, 0xae43dbf2, 0x32746a8, - 0xbb8d346d, 0x47ceb918 - }, - { - 0x5f8ea1df, 0x8fa9d955, 0x9aa258a1, 0x16c8caf2, 0xdcc011ab, - 0x73b474da, 0x1c9b939c - } - }, - { - { - 0x90593b95, 0xa2995ba, 0xef4085af, 0xafd0ba75, 0x994abd70, - 0xaf19c867, 0x346f3921 - }, - { - 0xc26ad989, 0x364936fc, 0xa7a0107, 0x3911200, 0x5d59d53f, - 0xa29bd308, 0x1aa63eaa - }, - { - 0x24639f49, 0x111cb74, 0x33fa2ef6, 0xb294cbf1, 0x8ed8a7b4, - 0x799a2a10, 0xa89ceca2 - } - }, - { - { - 0xa606cffe, 0xa82a1e1c, 0xae2339aa, 0xa708a11c, 0x1c9822c5, - 0xd99b30fc, 0xb64d306d - }, - { - 0x6206a78e, 0x82d34109, 0xe0163479, 0xb6971a71, 0x9da7033f, - 0x3d5ac28b, 0x4ae453b6 - }, - { - 0xc04f65a3, 0xad85374e, 0xc5f498da, 0xcf0d233f, 0xdf13fe45, - 0x48fc33b9, 0x729e4732 - } - }, - { - { - 0xf59e0d98, 0xc9d6301f, 0x4256a97, 0xf804add, 0x31c6e9ca, - 0x52df7bd, 0x55bb97ea - }, - { - 0x8d7917b0, 0x3ce714fe, 0xe9f08826, 0xf9206d6e, 0xcbad8400, - 0x86ca32c4, 0x8b8ddca6 - }, - { - 0x387e5a81, 0x5faf00a6, 0x95975256, 0xa58fb9c9, 0x50a3f92a, - 0x9c709433, 0x3f662c17 - } - }, - { - { - 0xf260d2e6, 0xaf4c6ad0, 0x820892aa, 0x4fc54fbd, 0xf0f2406d, - 0x55dc1a4e, 0x31466f3d - }, - { - 0xfec41b86, 0x7c7bd631, 0x679ff352, 0x4fa9c3b, 0x7af09577, - 0xe379e453, 0xd16580e8 - }, - { - 0x46ec9cac, 0x80ebe1a5, 0x1b3d2a72, 0x610e050d, 0xd767a65a, - 0x122fc2f2, 0x9d9bbe6f - } - }, - { - { - 0xf80411d4, 0xb0be5d22, 0x4d539d36, 0xcd4eadbb, 0x73748a1, - 0xc6beb956, 0xb07b5092 - }, - { - 0x33c1e5d2, 0xd87e4a88, 0x1b0a9eb1, 0xb60f5a8b, 0xedbcfb83, - 0x433d988c, 0xd2da9067 - }, - { - 0xffa02d8e, 0xd777026e, 0x479a0762, 0x27a52fcd, 0x90d6fc14, - 0xf5e66b1, 0xa21b5e3d - } - }, - { - { - 0x527f802, 0xfe67a491, 0x3d976e4c, 0xcc925f0f, 0x58febefa, - 0xca74e18, 0x74131fb8 - }, - { - 0xf909057c, 0x55631ce3, 0x46a012cb, 0x2748a07a, 0xd1cadbbf, - 0x551f7a83, 0xfd3f2c01 - }, - { - 0x1fa2c482, 0x5a4417f1, 0xaf5a0d0a, 0xdedbd72c, 0x69326b8a, - 0x9a91668, 0xf0e46675 - } - }, - { - { - 0x980fb1cf, 0x1049910a, 0x4f1efd92, 0x8763a237, 0xbf5e2d26, - 0xd2996fee, 0xec8b2868 - }, - { - 0xf2b0e9d9, 0xf74756bd, 0x5f576c49, 0x86d97106, 0x11d3d441, - 0x5b7e90cf, 0x5ca5bfe3 - }, - { - 0x288e4ba1, 0x9934c1b7, 0x17d3eebf, 0xe4d0992a, 0x15f41ae4, - 0x6c56c783, 0x93df3180 - } - }, - { - { - 0xd745e3ee, 0x91b0bdb4, 0x1917012b, 0x79f0dee7, 0xedc0816c, - 0x7fb7254d, 0xaa5a5ef7 - }, - { - 0xbb478319, 0x3a5d3bfa, 0x4ac0199c, 0x1070fdd6, 0x272ce7c4, - 0xf1b8bcb4, 0xd4f2c8bd - }, - { - 0xf8c737d4, 0xd2c81e13, 0x312f139f, 0xc5fdbb08, 0x1752bcc1, - 0x204c21fa, 0xd5941729 - } - }, - { - { - 0x54b8696f, 0xc7466698, 0xb2e98b57, 0xc211b90e, 0x4e19269e, - 0x6dd182e0, 0xb0f32cfd - }, - { - 0xc4ff3e45, 0x31e28e70, 0xb9150b8, 0xc8a7e0ce, 0x4042a70b, - 0xeb7bfda0, 0xd13dbfce - }, - { - 0xe577f172, 0xaefb801d, 0x728e68c2, 0x16a217ac, 0xb9dff4b8, - 0x118bbe62, 0x928ce69e - } - }, - { - { - 0x1ab6b4e3, 0x337e1249, 0x3227c700, 0x4132210f, 0xe0d29fe7, - 0x9d8f0f13, 0x3a8d4a99 - }, - { - 0xfaa700df, 0x6fa73793, 0x94f795f6, 0x9b277966, 0x7d79d784, - 0xba7bc003, 0xbecf2f88 - }, - { - 0x3ff3fb5b, 0x31ba5f29, 0xde5f3bd4, 0xc5ad64a3, 0xffbd3d95, - 0x83fbb2d6, 0xc9c68a0b - } - }, - { - { - 0x4a16c17, 0x8a1918d7, 0xe2864a5f, 0xabc45aa5, 0x7d0e93, - 0x85fc951c, 0xbb900c09 - }, - { - 0xc1f9f91d, 0x17358d6b, 0x26eb9a52, 0x1988dec7, 0x265937b5, - 0x2916c753, 0xc750a669 - }, - { - 0x2e36b39f, 0xe86c31d4, 0x1c18aac6, 0xfb9f67c7, 0xa88d017e, - 0x73e65d29, 0xf6b62adc - } - } - }, - { - { - { - 0xa4a63f15, 0x56353dd6, 0x8a38ce97, 0xffcb3734, 0x4cb896d, - 0x7772ab7c, 0x596c1255 - }, - { - 0x305b733b, 0x7cecbbb5, 0xf7b6bded, 0x72d109d7, 0x104df942, - 0x77bd73bb, 0x6415d413 - }, - { - 0x85875798, 0xcc4b4e15, 0xa5a4b3ea, 0xbc31c93f, 0x37c2ff6, - 0xc71ac0d8, 0x366da90d - } - }, - { - { - 0xeb2d4ebc, 0xdc93a606, 0xbb13f22f, 0x7b2c2d5f, 0xc9634fc5, - 0xb414674e, 0x2d65adf1 - }, - { - 0xe5ddd1d, 0x919e0df3, 0x4e951c53, 0x8d213184, 0xb12f4320, - 0xf92d10d6, 0xb6b60fb7 - }, - { - 0x67effcb, 0x44e44d39, 0x15a5586b, 0x3bd0ed46, 0xf341a7fb, - 0x47881d52, 0xb713f3c5 - } - }, - { - { - 0x3f82231, 0x9749774d, 0xfedcbef6, 0xf851b957, 0xf9f1fcef, - 0xc5864150, 0xabdc3e4b - }, - { - 0x47649eba, 0xc841cd55, 0xd69af520, 0xe8349041, 0x976534de, - 0xfdcea2bc, 0xd6004f60 - }, - { - 0x2d96bb00, 0xc0761dd0, 0xebce2922, 0x189c69d3, 0x6db8e23a, - 0x4bef2ab1, 0xce4c81b2 - } - }, - { - { - 0xf8b2925d, 0x7e5eb8a4, 0xf1b80eb4, 0x884dcb51, 0xbb46ad30, - 0xbfa64652, 0x82dca043 - }, - { - 0xc142c6b2, 0x12b815ef, 0x96cd3cff, 0x8aa87ac4, 0xba9eab85, - 0x28769974, 0xb5e0217d - }, - { - 0x12c028c6, 0xdf9150d0, 0x69456cec, 0xda20def9, 0x371fffe2, - 0x788993ef, 0x791cbcf - } - }, - { - { - 0x4065bc8d, 0x3654a466, 0x9bacf479, 0x8acc1d6d, 0xc7dc6266, - 0xa02ec31d, 0xbcf50702 - }, - { - 0xd0ecba6c, 0xabc4804e, 0x2435837, 0x97812b48, 0x53825095, - 0xf668a40f, 0x42404892 - }, - { - 0x4f97f76, 0xed538abf, 0x918e3a92, 0xe1b23452, 0xe438bbd7, - 0x6e77b680, 0xbdc16c92 - } - }, - { - { - 0x2ffefd5d, 0x41a7f370, 0x69748161, 0xa4e5f5e, 0x5371d51f, - 0x6d26c265, 0xb81b93ed - }, - { - 0xf74ffc4d, 0xd3900bc8, 0xd78b9d2c, 0x29be7dc4, 0x200df87f, - 0x2e677810, 0x91803795 - }, - { - 0xfe7a93c6, 0x28eeea03, 0xbb3d0d7e, 0xe3b115ab, 0x72b6576f, - 0x81ebd4fc, 0xcccd441a - } - }, - { - { - 0x9664992b, 0x16b7f373, 0xf83f1f65, 0x1e16fc48, 0x69d038a1, - 0x91c21e30, 0x4412c50c - }, - { - 0x4a1306e1, 0xe4640da5, 0xbb2442ab, 0x325e6eb7, 0x701ccd40, - 0x20271d81, 0xabb28b8e - }, - { - 0x9af7dc32, 0x99905bb, 0x19108d2a, 0x15b9894a, 0x1ac1b6de, - 0x5fdb23ff, 0x66229b74 - } - }, - { - { - 0x8b7ad5b7, 0x90835be9, 0x48d4bb32, 0x2bbac9c7, 0x81c36f06, - 0x6517039a, 0x5d1bbfde - }, - { - 0x3a9d9b71, 0xe766f062, 0xa13a157b, 0x64bb600c, 0x25fa84c9, - 0xa15f63da, 0x13fb096f - }, - { - 0x705d8a2, 0xfc86a194, 0xd879dab8, 0x8b3d7555, 0xe945356e, - 0xeced72e3, 0xa315a55a - } - }, - { - { - 0x28ea634d, 0x8d6058e4, 0x1efc2546, 0xa4969f35, 0xf54bc3c0, - 0x8932f369, 0x718e36a8 - }, - { - 0x5d6ae1e7, 0x211874bd, 0x745b3478, 0xd1b4c74e, 0xa1d0d3a8, - 0xcd19e2be, 0x7fdef2e6 - }, - { - 0xfb2d346a, 0xccb3592e, 0xfb170717, 0x70b8282b, 0xe242146f, - 0xb6910db1, 0x9c4189a3 - } - }, - { - { - 0x75b3af43, 0x234746cb, 0x97b62b66, 0xb8dcf573, 0x981c5c61, - 0x233b7db2, 0x5dc5a2af - }, - { - 0xa12c091b, 0x8753be2e, 0x883674be, 0x8d7e53a2, 0x8372f6c9, - 0x89e7ca8a, 0x5eb74b31 - }, - { - 0x9c5d0768, 0x4cd94628, 0x2b57f564, 0x255435cd, 0xb34779a2, - 0xd6f19817, 0x8d7e8d94 - } - }, - { - { - 0x84be7503, 0x5c70dd22, 0xee68e685, 0xb5126362, 0xa3da6495, - 0x53a7b2d7, 0xe6536deb - }, - { - 0x799f9b9a, 0x2f65eca9, 0x35ce7225, 0xccd16abd, 0x1f4e1725, - 0x215750ab, 0xa8d9722c - }, - { - 0xad2b88af, 0x772207fe, 0x5dd290f1, 0x1de47163, 0x2c9fbc77, - 0xbec7f4b7, 0x5476c96f - } - }, - { - { - 0x6dc45991, 0x69f63fa, 0x22f52dfd, 0xff6692ae, 0xfd67ddd8, - 0x31e8ba41, 0xd026b6f6 - }, - { - 0x4214d35d, 0xb8e4da91, 0x165d2cce, 0x79e6ffea, 0xad178345, - 0x1064a9f8, 0x3ca028da - }, - { - 0x9a4de3ec, 0x35eddb, 0xed8879e8, 0xccf5327e, 0x48790eb5, - 0x3c3ae5f9, 0xbb27485e - } - }, - { - { - 0x5d7dede, 0x93bdf18b, 0x1d1890f5, 0x41bddedf, 0xacbd7ade, - 0xf8ad5b46, 0xbf4f1bd9 - }, - { - 0xb4e01127, 0x6e5f2d9e, 0xa0126a92, 0x52d52336, 0xb5b9365b, - 0xde25cbe0, 0x71863311 - }, - { - 0xdcdfde8a, 0x3a4ea271, 0x47d4b1bd, 0x8b6037ad, 0x3f570ed, - 0xded648aa, 0xb3a1a870 - } - }, - { - { - 0x6caba93b, 0x786de4a4, 0x9ee3f0d4, 0x1750a3a, 0xeb20a697, - 0x9a87de82, 0x40cac4d5 - }, - { - 0xcf901552, 0x2a0d126c, 0xabd0da77, 0xf95d3790, 0xa25aee09, - 0x699885c5, 0x8227247d - }, - { - 0x545c5e9a, 0x558d2d6a, 0xaeeb6d84, 0xbca118c3, 0x53e418f5, - 0x48fdfe5c, 0xcd7a4dd9 - } - }, - { - { - 0x8d2f30a6, 0x279a0aae, 0x2f113681, 0x4dedb65e, 0xd758bb6a, - 0xe19698c2, 0x93ac0b9c - }, - { - 0x6cbca508, 0x5199d740, 0xef9e2f41, 0x6ba47084, 0x457c31f, - 0xcc6f4c22, 0x8e1fa09e - }, - { - 0x47eb0944, 0x7aba3b89, 0xc5084be3, 0x5081e1d7, 0x75a1175b, - 0xa6074efb, 0x1a8664a2 - } - } - }, - { - { - { - 0x87e40176, 0xfc5820dc, 0xce9e322d, 0xe8e4b413, 0x23b920a2, - 0xff7e5289, 0xde7d3d8a - }, - { - 0x7995ce16, 0xa8c7093f, 0xa3b0b53d, 0xdc316d9d, 0x6b4fddff, - 0xc207149d, 0x47283bd1 - }, - { - 0xca92a8de, 0xc4e17f34, 0x456e08aa, 0x804628e3, 0x689dad86, - 0xd76dee92, 0x70431464 - } - }, - { - { - 0x1b9c5870, 0x1ea41ba7, 0x1d6effbe, 0x82399a9b, 0x31cc73f5, - 0x9d8b11e2, 0x90da32c0 - }, - { - 0x98cd4451, 0xea068b7e, 0x48a0fad7, 0x8f04b668, 0xd2596a58, - 0x7f094730, 0x4053a579 - }, - { - 0xfcab54, 0x52d70727, 0x78e681f, 0x34e9c49f, 0xa2e84b65, - 0x1f9fdbcf, 0x174fe036 - } - }, - { - { - 0x99183c09, 0x27c2f791, 0x2a9547ce, 0xe7a45f40, 0x510beea8, - 0xdb577c43, 0x50930279 - }, - { - 0x2056f454, 0xa8ba24c2, 0xe9664277, 0xe9e8032e, 0x8ec6e660, - 0x811c409a, 0x666e66e3 - }, - { - 0x4816e8c3, 0x1ac5b2b6, 0x2b3e896f, 0xe47d9794, 0xc951423c, - 0xb48704ef, 0x4a9dc7c0 - } - }, - { - { - 0xff605832, 0x2cf3be74, 0x53e760bd, 0xb5c0c767, 0xfa3992af, - 0x8404058e, 0x9cbc8c0c - }, - { - 0x978ee412, 0xafad0944, 0x1bcaf9a8, 0xe4f0860c, 0x84aa63bb, - 0x5b287a7, 0x676ff0e7 - }, - { - 0x1842c183, 0xaef907b1, 0x71266066, 0x6fb2c3e2, 0x2d3e1d39, - 0x41160d7f, 0x46dd8a8a - } - }, - { - { - 0xb6086fa, 0xc6fb2d9b, 0xfe8d3ac6, 0xb0f9a3ac, 0xc2faca53, - 0x1cecf733, 0xb1de6901 - }, - { - 0xf7d20821, 0x92126868, 0x2f1d12f3, 0x25081c24, 0x9449e5d5, - 0xcd158f44, 0x27f52c9f - }, - { - 0xf6a303c7, 0x23ea694b, 0xa4fba87e, 0xeefe6b0c, 0x93e4a12d, - 0xb01a6109, 0x30b4a1ae - } - }, - { - { - 0xeac408aa, 0xe3ebbb62, 0xfe0c09cf, 0x4f6094d7, 0x6b0fdb76, - 0x865e1382, 0x11dca9ac - }, - { - 0x6aa9d2b1, 0xae04b0c5, 0xa66db9e8, 0x94da0b0a, 0xcbd9963e, - 0x2b6f2431, 0xde3d7041 - }, - { - 0x5c995514, 0x39258cb8, 0xf3b0acec, 0x1661b84d, 0x1a401d80, - 0x5d28c157, 0xbf5bb2d3 - } - }, - { - { - 0xf7db6f2b, 0xc57abb6b, 0x40aad712, 0xb9deff01, 0x395d960f, - 0x3dd643aa, 0xe2681e70 - }, - { - 0x49484456, 0x28d59349, 0x856134ae, 0x9180379a, 0x8a0f3ef1, - 0xcddda122, 0xf8d7fb4d - }, - { - 0x2b9572f5, 0x487b45a1, 0xc4d46170, 0xacb994e2, 0x62fb0754, - 0x7971e9ce, 0x442f903a - } - }, - { - { - 0xfe3ed93e, 0xc7ccdd1b, 0x73e3264f, 0x68ca7ef6, 0x41cdccd1, - 0x4ab3e3a8, 0xafeb70e0 - }, - { - 0xd7fc47be, 0x786139cd, 0x615e1039, 0x42363cec, 0xa24060f1, - 0xc999d436, 0xc09bdfdb - }, - { - 0x306ce01e, 0xd7bc7aa7, 0x23339acb, 0x5ba283b, 0xc5d31cc0, - 0x1f6d1f01, 0xc18f0d81 - } - }, - { - { - 0xcf9816da, 0xcbdf9dc5, 0xc715102, 0x7fa226bc, 0x25fe4e6f, - 0xd250aa08, 0xb50dbd96 - }, - { - 0x2d1c1168, 0x8385248a, 0x7496cf1d, 0x675f0c75, 0xa4dfe485, - 0x41591fbd, 0x4d26cc4 - }, - { - 0xbdbee111, 0xf12d6690, 0xd911b1a6, 0x670552a9, 0x77018ade, - 0xada8e04f, 0xe8b4bf95 - } - }, - { - { - 0xc3fe240d, 0xf12d819e, 0x7d3e22aa, 0xf5d0fa8a, 0x6dc479fc, - 0xa6c4c1a3, 0xf5cea593 - }, - { - 0x8c1d2bd2, 0xf5dfeb0d, 0x2ecda59a, 0xad800958, 0x483bead0, - 0xe71ca618, 0x12669ae8 - }, - { - 0x5e19f3a6, 0x250fa7cb, 0xbc31f268, 0x35d2320c, 0x854800f3, - 0x4ea63742, 0xce8ef1c4 - } - }, - { - { - 0xcd2b031, 0xdebfac4e, 0x9e0a6fb9, 0x10098041, 0xc3d1dca, - 0xc344e314, 0xd855cc10 - }, - { - 0x309ad10c, 0x74aa8a73, 0xea1fb357, 0xb4f73eeb, 0xd50e7383, - 0x38ed83a9, 0x9e9fd58f - }, - { - 0x10e295d5, 0xf4964275, 0x10af20ad, 0xead98134, 0x188dc753, - 0xddfcbc9, 0x26737dc4 - } - }, - { - { - 0x25579ecd, 0x7c102168, 0x3bc85684, 0xf08ff1df, 0xbb15e948, - 0x5a74cb89, 0x5cdd23fe - }, - { - 0x42be4ec5, 0x504f09f9, 0xdbbaf39b, 0xfb56c207, 0xcc38db15, - 0x46f0fcd4, 0xf78354b3 - }, - { - 0x5b2b845f, 0x23042cf2, 0x189654b3, 0x33f2a9cf, 0xe6f1aa9f, - 0xf6735136, 0x99cf3746 - } - }, - { - { - 0x6d4586f4, 0xf044b533, 0x67129518, 0xd67662a5, 0x274ad3cd, - 0xf97fe8ff, 0xef48df2d - }, - { - 0x82dc8506, 0x1b9963bf, 0x4d124cba, 0xea6030d7, 0x21676cf3, - 0xf23e4a06, 0x7ad71b7a - }, - { - 0xe02cdd62, 0x2daceefc, 0xa242cfaa, 0x662e96c5, 0xa4302b1c, - 0xcbb0e39a, 0x6db6f2d5 - } - }, - { - { - 0x2e93c034, 0x1c252549, 0xbd999f60, 0xe80c990b, 0x547dde8, - 0xe0217a8b, 0xb4917791 - }, - { - 0xa2642da9, 0xe4f2d097, 0xbb85acf, 0xdcd6ed6d, 0xa93380f7, - 0x42f6ffcc, 0xff7d041b - }, - { - 0x93ef59b4, 0x71b34147, 0xef763fa2, 0xadd85d76, 0x77f3100b, - 0xa843a8a2, 0xdac23ca6 - } - }, - { - { - 0xfc7a356, 0x6ec18454, 0xa952e03e, 0x6c2c3675, 0xbc9140f0, - 0x28b1ab9d, 0xa8aaef30 - }, - { - 0xaeaa53ac, 0xbe8c8604, 0x8120c5b1, 0x9e530efd, 0x76370ac3, - 0xa7b8905d, 0xad8ab161 - }, - { - 0x6df4990f, 0x26e53eb4, 0x8c10eb3, 0x13c289f2, 0x5ffc8e3a, - 0x983058a1, 0x155b89f8 - } - } - }, - { - { - { - 0x80b425fe, 0x83854814, 0x6cc75ab9, 0xb39264a5, 0x44085ce7, - 0x9e8960ad, 0x13ae6f6f - }, - { - 0x82ae881b, 0xc4671089, 0xf8e58b0f, 0x5ff63d69, 0x31bbaf63, - 0xc1435c2c, 0x9bab77ae - }, - { - 0x14620c0a, 0x52050bf4, 0x6aa290a1, 0x989af0a5, 0x8af2fb3e, - 0x67821900, 0xc6000b1b - } - }, - { - { - 0xad00d77, 0xa635c3b4, 0x9618d8e7, 0x961e55b1, 0xe134c618, - 0xdc9173f4, 0x1dcdd70d - }, - { - 0xf37600f9, 0xee41e146, 0xca159a33, 0x18c10e67, 0x7b9f3ef1, - 0x42fa03e0, 0x6e1d1c66 - }, - { - 0x5235ad79, 0x4508a843, 0xba80aa40, 0x88e75bf8, 0xc07c4869, - 0x8cefa7cf, 0xded3fa0b - } - }, - { - { - 0xe1008a0, 0x902b96ec, 0x5a8efb65, 0xfe3a5238, 0x497efbcc, - 0xa37f8755, 0xe91e72bd - }, - { - 0xaf82950e, 0x8df82ad4, 0xffc4e813, 0x3ff3dadc, 0x29221999, - 0xc0873ebd, 0x985760 - }, - { - 0x1043de65, 0x75bb0a01, 0x86def0fe, 0xfe0b77c2, 0x1b860c90, - 0x41f09dd5, 0x11a4533a - } - }, - { - { - 0xdbc108bd, 0xc0da8354, 0xb8cdead4, 0xae266154, 0x49f6097b, - 0x2338000a, 0x99c8fa6f - }, - { - 0x94b41740, 0x6de2a558, 0xf1ed82d1, 0x49b10a3d, 0xddf15ecd, - 0x82a15491, 0x3f3d2df9 - }, - { - 0x6b227c6b, 0x2d284a57, 0xd92a249a, 0x573d8308, 0xc1a0eef6, - 0xccbdfd5f, 0x5c9cc94f - } - }, - { - { - 0x3e1af8d9, 0x505acedc, 0x950abe1a, 0x94afe1c1, 0x755ff8bb, - 0x6eddf8c8, 0x4c4fe15f - }, - { - 0xc11b943d, 0xc2e1e4fd, 0xc597520e, 0xbd71cd32, 0x91e8c724, - 0x265f81ed, 0x6162f856 - }, - { - 0xd0088bc7, 0xdd211035, 0x119f94f, 0x614af8e0, 0x97755af8, - 0xf52a7521, 0xb4ff83c4 - } - }, - { - { - 0xf89757ed, 0x195f251f, 0x5937babd, 0x5b742897, 0x8f0d08fd, - 0x2d44b83b, 0xb29138d6 - }, - { - 0xf63592e4, 0x25f6bed9, 0xab22dab1, 0x3801f165, 0x188e0632, - 0x174bf9cd, 0x7afd3e9c - }, - { - 0x3590215, 0xeb36b7d4, 0xdcb6fe4a, 0x50732358, 0x42783997, - 0x501d2f, 0xd3b113c3 - } - }, - { - { - 0xa9868fcf, 0x89066738, 0x3b47f35, 0xe94007ba, 0x98d12f2, - 0xc6d663d6, 0x1cf5906e - }, - { - 0x66443950, 0xcfab3e2e, 0x9b1d8d7b, 0x990d5593, 0xd4404dbe, - 0xb1d114e3, 0xcb6785f8 - }, - { - 0x92212edf, 0x5ceaa78e, 0x3914e9ec, 0xb722423, 0x85984ec2, - 0x3c302e05, 0xa29831f7 - } - }, - { - { - 0xe4aeba61, 0x3a6c39f9, 0x93ea856b, 0x476231ae, 0x99a2ac0, - 0x614a3d3d, 0xb824d247 - }, - { - 0xd9708d9f, 0x5bce9eca, 0x1cc5ef1b, 0x2453a11, 0x2688c8c4, - 0x285c254d, 0x3824b4e0 - }, - { - 0xc4f6a41f, 0x6345858b, 0xc95d1945, 0x3f58acdd, 0xf8e43e3d, - 0x63b166ba, 0xa5164516 - } - }, - { - { - 0x53753c0, 0x217f2cd0, 0x8072e29f, 0xb7014755, 0xa0788ea4, - 0x5c486969, 0xc3eb78ee - }, - { - 0x99a0b502, 0x47193146, 0x8851e429, 0x591271e8, 0xc213d4a1, - 0x75a58fed, 0xb2683cb4 - }, - { - 0x3e1ac07, 0x5c2cd1cb, 0xd4ec9c02, 0xf3552484, 0x9e58f33a, - 0x58467f22, 0xf81bf52a - } - }, - { - { - 0x5cff853b, 0x43814dd3, 0xea3904b0, 0xb2a27ecf, 0x9b27d2bf, - 0x204b0e9d, 0xc3344bba - }, - { - 0xd100996f, 0x8c811d9, 0xb9f56d8, 0xbb297308, 0xe66eb0bb, - 0x392378e3, 0x44891e8b - }, - { - 0x5c13a940, 0xca13e024, 0xb10ee822, 0x6c30fdb4, 0x44fdc6f2, - 0xab9fe8dd, 0x181a6584 - } - }, - { - { - 0xa8a80248, 0xfafd6d9, 0x3eabfc60, 0xa205f58c, 0x1702710d, - 0xbe2f8317, 0x9bcd5142 - }, - { - 0xb7de6262, 0x695c20a7, 0xfca34ce, 0xa6029d46, 0xd282e63e, - 0xf59eead2, 0x73aa9913 - }, - { - 0x93d0e785, 0xfdee48be, 0xcc869db9, 0xe98420d7, 0x3ec78e4b, - 0xa704531f, 0xd7719066 - } - }, - { - { - 0x57da92d9, 0x37418923, 0x4c96f5fc, 0x9995a34c, 0x56064463, - 0x91dc63cf, 0x1e26ee50 - }, - { - 0xf3bb86bc, 0x3caac55e, 0xd36389bd, 0x7bc69ff7, 0x39272677, - 0x7ffefdf4, 0xd024c3ff - }, - { - 0x359c2d50, 0x811b84b9, 0x1c22eb75, 0x6452d8c8, 0x94672866, - 0x8739617b, 0x97471ebd - } - }, - { - { - 0x1abc57ef, 0xe4b2b9c9, 0xd46992d8, 0x92787d33, 0xa679b094, - 0x211a492e, 0xa049e81e - }, - { - 0xa980e0cc, 0xe0c17cc0, 0x38392498, 0x95953d51, 0x613b7c72, - 0xfc73256e, 0x4cb08fe8 - }, - { - 0x37112612, 0xdbfb4cee, 0xa0c007aa, 0x7ebb71, 0x6a30ef85, - 0x2d5584f9, 0xd1f05c3f - } - }, - { - { - 0x5a2810be, 0x94bb5c1d, 0x16920238, 0x53536970, 0x21386a38, - 0x80f65382, 0x968eab2b - }, - { - 0x4136862b, 0x9fd0cca3, 0x9e6d972a, 0xec796b8, 0x2c5013de, - 0x2ba60ce4, 0xd3283050 - }, - { - 0x4886b3bb, 0x75123858, 0x542cda75, 0xdb38c773, 0xa10e14fb, - 0xae7e0328, 0xebbfddfc - } - }, - { - { - 0x5d2ca649, 0x1a912c49, 0xb0113735, 0x7505b9e7, 0xee21134b, - 0x6aa7c5c0, 0xc3178c56 - }, - { - 0xb85b2de9, 0x8e03a295, 0x95bda677, 0x52e10006, 0xeeb3a592, - 0xec9d4f2b, 0x42cdd27 - }, - { - 0x3b7c2163, 0xd19a9484, 0x4ea6fd5d, 0xaed37cf1, 0x37984c7b, - 0xce573166, 0x8e03b4b9 - } - } - }, - { - { - { - 0x7d3f54fb, 0x2d3a413c, 0x3b573504, 0x25b15d4f, 0x23fd664b, - 0x74cae4c2, 0xa3df7378 - }, - { - 0x3505a57d, 0x3a1db67e, 0x8e2fd40e, 0xeda5896c, 0x668d1853, - 0x7f96bffd, 0xdb3ecce9 - }, - { - 0x546c1389, 0xbf11624d, 0x3886b628, 0x9f528ce8, 0xd0bdb827, - 0x56ca21d7, 0xac137003 - } - }, - { - { - 0x19c8d66a, 0x161ab1b0, 0xa8aed119, 0xbf5422e, 0xdf34504b, - 0xe2487f85, 0xcba668ca - }, - { - 0x409553e6, 0x405fe630, 0x6492dda4, 0x118dea4e, 0x6827ba60, - 0x1d09d6c8, 0x833df519 - }, - { - 0x6f1eb107, 0x42831aba, 0x996611c, 0xa6e727dd, 0xb43968fb, - 0xece0996d, 0x79322c03 - } - }, - { - { - 0xddbea4a7, 0xbc308ae8, 0xf733643e, 0xc08d136a, 0xbd6ab0ef, - 0x22c5b4f6, 0xa585dc41 - }, - { - 0xefc3b3a1, 0x10c08373, 0xc2883d6c, 0xadbd7a72, 0xa517845b, - 0x2dbe94d9, 0xa326dd0c - }, - { - 0x5659f037, 0xb384be73, 0x38661ade, 0xff1c41e0, 0x18b68674, - 0xfbb8c51b, 0xef73eac1 - } - }, - { - { - 0x83f7852f, 0x50d52f45, 0xbcad84e7, 0xfb4ac967, 0xe089dbf7, - 0xb3db0f7a, 0xee56bfe7 - }, - { - 0x521bb874, 0xdd859c27, 0x18b0ad7e, 0xf364c38b, 0xced2d33e, - 0x20a080c4, 0x578e6b35 - }, - { - 0x39cc585b, 0xd5411f0b, 0x7cff96e0, 0xe10cdfc9, 0xf8c12657, - 0x7bef550d, 0x268a61dc - } - }, - { - { - 0xd88988fa, 0x17448ac4, 0xe06ee9b, 0xd28c7fda, 0xce40d805, - 0x51384a24, 0x3a855d08 - }, - { - 0x6105c8b3, 0x8b5f77ca, 0x819bc059, 0x686f1cf2, 0x96d1366f, - 0xb0a669ad, 0x8cbebd8a - }, - { - 0x7b65fb76, 0x644b8cf0, 0x9d8902c0, 0x6a776942, 0x5c26eecc, - 0xacf7a66a, 0x8729ed4a - } - }, - { - { - 0x2fff1ee5, 0x81c09d95, 0x5fad33d1, 0x1493818e, 0x8deb2286, - 0xf9552860, 0x9f99bd67 - }, - { - 0xf6164e37, 0x8442474c, 0xcffbce97, 0x4f091df, 0x7b920ded, - 0x2950433c, 0xd04f8280 - }, - { - 0x7314495a, 0xf485e44f, 0xd284fa89, 0x1d2add69, 0xb8fb6463, - 0x3b625e8b, 0x676fa186 - } - }, - { - { - 0x6a7c4ffb, 0xd7bd1e4f, 0x8c47a771, 0x5e9c179a, 0x44db32ac, - 0x655064ba, 0xba9bd157 - }, - { - 0x6b542df9, 0x319e408d, 0x44046447, 0x9d3ad6d7, 0xdd945668, - 0xe412e702, 0xafad355a - }, - { - 0xc5bab4f3, 0x2469706d, 0x4c830026, 0x94eac759, 0x8ecd7013, - 0xe7222ca8, 0x491d667b - } - }, - { - { - 0xd1a788f9, 0x845498bf, 0x599af5a1, 0xc38dfd9d, 0x9545f8f5, - 0xb10cb021, 0xd56f6dcb - }, - { - 0x7140fb73, 0x9c36b264, 0x796a06c9, 0xda1935eb, 0x5e32409d, - 0x618095bc, 0xebcf3bf8 - }, - { - 0x71295cf, 0x29b24d91, 0x9465fb11, 0xe3bde528, 0xc66f6952, - 0x9ab8b425, 0x363c640e - } - }, - { - { - 0xc7307dcc, 0x84fbe6c5, 0x47bfa53a, 0x435b0be, 0x2397b81a, - 0x6f2c6741, 0xfa4e3f40 - }, - { - 0x447fc5df, 0xf17e4abe, 0x88c0fbf6, 0xc0828b97, 0xed8af81c, - 0x733e9157, 0xf7502289 - }, - { - 0x1ee9204e, 0x8b676e7c, 0xc6da65ae, 0x8d87498a, 0x8389f772, - 0x80bb046e, 0x6a1eb804 - } - }, - { - { - 0x5939e6ab, 0xc83059b5, 0x4cf0bcad, 0xb9615e9d, 0xaf80f3b8, - 0xb85c3ea1, 0x5a1e30f1 - }, - { - 0xc80e4f91, 0xef53cf14, 0xc849ae2a, 0x12ab67d8, 0x54420b03, - 0x8f8e96cb, 0xbf9cd403 - }, - { - 0x9e89ceef, 0x55b3db6c, 0xcdd8600b, 0xd2955bb4, 0x1684e043, - 0x98084ca2, 0xb7a321b1 - } - }, - { - { - 0x383a2d4f, 0xa0ace7a3, 0x3ec256c1, 0xcef46604, 0x3441da92, - 0xd97be5ac, 0xb9fbf18d - }, - { - 0xd9437663, 0xd153f933, 0x608b4c05, 0xd423b63e, 0x2dbce409, - 0x4b9d5d39, 0x52d6d10e - }, - { - 0x31a1039d, 0x6f020085, 0x28cd5b39, 0x27a08c21, 0x5d978608, - 0xd067187d, 0x97490535 - } - }, - { - { - 0x61cac16e, 0x6a4225b1, 0xe8d16429, 0x70e5a993, 0xcbacafb4, - 0x473cd88d, 0x67a6eeda - }, - { - 0x8ed4284a, 0x6cb9c070, 0xa321b800, 0xfa7634b3, 0x9821fe1f, - 0x8b624d0d, 0xa27407c7 - }, - { - 0xfa4db8b0, 0x75ac10cf, 0x6d9f4ed4, 0x5d36d7ac, 0x9b1a2f38, - 0xcaf395c8, 0x5ee424e4 - } - }, - { - { - 0x34eead75, 0x57216262, 0x27a8670b, 0x68e20d39, 0xd6290721, - 0x376e6477, 0x45ca8308 - }, - { - 0x3f79f67b, 0x2ea5b4b6, 0xf947fb8f, 0xa6272ebb, 0x503bf7ee, - 0x57a12d6f, 0xd0f36602 - }, - { - 0xa09f69f9, 0xbf000909, 0x158e44b1, 0x8638711e, 0xff3f4c67, - 0x87fd7c27, 0xb6da0f15 - } - }, - { - { - 0xbd07ee5f, 0xae95e8b3, 0x6740b56b, 0x73cd7ff, 0x2cbea32, - 0xba6d0148, 0x97035dba - }, - { - 0xc4953df3, 0x773f07e4, 0x94a131cb, 0x314214ac, 0xf13c689b, - 0x1a1ef26c, 0xccb44d8d - }, - { - 0x68a16f3c, 0xf57a48bd, 0x112059a4, 0xc25a770, 0x1ec891e8, - 0xb2d7c5d7, 0xb17bbd68 - } - }, - { - { - 0xad27b2af, 0xd7b448cb, 0x943643ab, 0xfa2e7ed2, 0x6268c604, - 0x2db93890, 0xd42479c1 - }, - { - 0xbbe862e9, 0x5d167b21, 0x1ac681ce, 0xb7d852ac, 0x41ca71ad, - 0x9576b443, 0x85ca753 - }, - { - 0xebb73d1e, 0x1689eb03, 0x362f9c55, 0x705cc03d, 0xf2fbf87b, - 0x4be3c55b, 0x648eadb1 - } - } - }, - { - { - { - 0x987a5569, 0x8da4aff6, 0x404ab415, 0x47fc0b7e, 0x5d853e69, - 0x1d6adc3a, 0x4294a189 - }, - { - 0xb0da5da5, 0x294bba51, 0xa6d41377, 0x8d58157e, 0x14831dc8, - 0xf05f8357, 0xa108bac - }, - { - 0xc500111f, 0xfbcc412f, 0x9143c7e7, 0x681fa44e, 0x30486057, - 0xd63792a0, 0xdec6d561 - } - }, - { - { - 0x5821846f, 0xe70e09a8, 0x549d3c58, 0xb5754b5e, 0xd34290cf, - 0xeef1fab0, 0xf3f0a158 - }, - { - 0x7b1e6c9d, 0x33c9319, 0xf023343a, 0xcad1999a, 0x1e728691, - 0x7092f2f7, 0x4fe46c49 - }, - { - 0x464d34c1, 0xc1bdc156, 0x44c9388f, 0xdf742f7b, 0x7c30b96, - 0xf0a8c437, 0xa5a75223 - } - }, - { - { - 0x2b0042ab, 0xb6539310, 0x41cab2d1, 0x7f222e40, 0xa4e42030, - 0xf78126aa, 0xf39d0ddb - }, - { - 0x28f078af, 0x8501aacd, 0xd619bcad, 0xe4ca8a98, 0xd9551134, - 0xeb2756ff, 0x71970e3a - }, - { - 0xec097afa, 0xe5df95ff, 0x1e1cfa0f, 0x86894f83, 0xcd89cc61, - 0x6c7d1996, 0xec9a86bc - } - }, - { - { - 0x13e0d0a3, 0x8f76faa5, 0x4c26f049, 0x9c637ab4, 0x8ce23134, - 0xfdd611ee, 0xcb6078b5 - }, - { - 0x7fb6ed1, 0x67b95558, 0x2808ffae, 0x57abc912, 0xacd042e5, - 0x75de0207, 0xbcf7dc82 - }, - { - 0xc2789e2d, 0xf8db5762, 0x6f400f78, 0x655a95ca, 0x6f3411f9, - 0x69fb6694, 0xbebafcec - } - }, - { - { - 0x40d1f43f, 0xcea442d0, 0x4ae6c808, 0x4c8edd5, 0x48c88486, - 0xfa2d82ff, 0xc2a7ad12 - }, - { - 0x54b6003a, 0x3ea05152, 0xf30d547b, 0xd17e84b5, 0xfcb8559f, - 0x4b596bc5, 0x5a36ff76 - }, - { - 0x42b55deb, 0x1e6366d9, 0xf790b690, 0xbf529bb0, 0x52134d1b, - 0xd994de2c, 0xc35dd48f - } - }, - { - { - 0x879bed01, 0x3d492d85, 0x4ce615da, 0x7a6fd60c, 0x17e258dc, - 0x9bebb38f, 0x7d47a218 - }, - { - 0xd06014c4, 0x52c50b92, 0x903412d3, 0xc651764, 0xd32e9f4, - 0xad69f94, 0xc535e540 - }, - { - 0x155a2b03, 0x3dc6f2ac, 0x4661960a, 0x4138fc65, 0xa8029fb5, - 0x7a6dd645, 0x73cc473a - } - }, - { - { - 0x8e09f526, 0xbf1e8555, 0x8c74091f, 0xb135f026, 0x16f41e37, - 0x69c67fac, 0xe2bfadc3 - }, - { - 0x54032aba, 0xd4d26c6b, 0x68a2ce03, 0x13f4b5a7, 0x2f585dfe, - 0xe2f338b1, 0xfbd9feaa - }, - { - 0x304b8969, 0x7fab6263, 0xa9c556ee, 0x9f35704d, 0x6a08f993, - 0x1c9c2cf4, 0x76d52041 - } - }, - { - { - 0x484d7aa2, 0xcaeb21c1, 0x715da259, 0xa23373dc, 0x8b1e30d0, - 0x3001a461, 0xb4fc1374 - }, - { - 0x82ca4075, 0x9209197, 0xeeb342b8, 0x151b2f, 0x947d6051, - 0x180ff2f9, 0xdac76940 - }, - { - 0x84a95e3f, 0x5ee1871, 0x95d0ffff, 0x80e7f7da, 0x12e21cd5, - 0x94275533, 0x8e724b6f - } - }, - { - { - 0x2a11ff3e, 0xf8e03587, 0x8d70fb55, 0x3de0e447, 0xbd9f3a73, - 0xbf550b17, 0x16d30914 - }, - { - 0x7137557e, 0xba98b97b, 0xe28fe681, 0x42cf2dd1, 0x1edd555c, - 0x9146a83b, 0x997853a4 - }, - { - 0xc2e1ad4e, 0xb7049312, 0x39853b5, 0x49e0c6b5, 0x5c1f8c35, - 0x146649b4, 0x84cdd2a9 - } - }, - { - { - 0x2d9139a3, 0x5d204643, 0xa6874a48, 0xce2aa4aa, 0x45315533, - 0xa933129b, 0xf20efc01 - }, - { - 0xe33e549f, 0xb05fd3aa, 0x40237069, 0xd8d338a7, 0xc98ba33f, - 0xece2e4dc, 0xb85eee9c - }, - { - 0xc1e4cb3a, 0x10d6c738, 0xbda96c65, 0xfa2bd5ec, 0xa945698a, - 0x373c91c7, 0xb5d92593 - } - }, - { - { - 0xc516278e, 0xea537f13, 0xecbb4ff9, 0x87c2764d, 0x449e1ec, - 0xa9516426, 0x289e84dc - }, - { - 0xda739b39, 0x207bc277, 0x133d80df, 0x77b7cffd, 0xe00e4238, - 0xedd33fbd, 0x33ed11b3 - }, - { - 0xfa7c961e, 0x90d5042f, 0x548bb67, 0xa6a6f400, 0xd6fd7d09, - 0x1acdeddf, 0x20969f52 - } - }, - { - { - 0xc8f49869, 0x70faec1c, 0x4fdf9ceb, 0xfe3e8e03, 0x7238a530, - 0xa3af3c9a, 0x16933201 - }, - { - 0xd7561762, 0x64dcca75, 0xc40dc8f3, 0x729dacdd, 0xe112b05c, - 0x2837874a, 0xfbc45be8 - }, - { - 0x57236c53, 0x5d431c9e, 0x486c30fb, 0x952e17c2, 0xdf1bb519, - 0x275a7284, 0x23b9d6a - } - }, - { - { - 0x19613525, 0x9bb0a530, 0xbc78af88, 0x7d6e1634, 0xe847560d, - 0x8cac083f, 0xa09aac14 - }, - { - 0xe8e1f4f9, 0x9f32305d, 0x5df47e8d, 0xa894f260, 0x8c3c71df, - 0x9963ec38, 0x62e440e8 - }, - { - 0x48bcd4b1, 0xc3a0a370, 0xf4aef369, 0x53587347, 0xa5660d57, - 0x7a796e89, 0xf8fb46a5 - } - }, - { - { - 0x9a73d66a, 0xcdeabca6, 0x69300280, 0xf48df257, 0x8030b5b6, - 0xf8eb97bf, 0xf51f4fe - }, - { - 0x88b2c16a, 0x5d3253c6, 0xc4f0c7a3, 0x90f5f097, 0x6ff836e6, - 0xa98cf728, 0xd3175225 - }, - { - 0xe6ca7692, 0xf90bb496, 0xdc5f857f, 0x2d5a2423, 0x2767d10a, - 0xcb26e00c, 0xbd3d2e7c - } - }, - { - { - 0x6669296e, 0xdb501a1b, 0x98307a0e, 0xfc462747, 0xfa3379ed, - 0x16fb4d24, 0xc8efd70 - }, - { - 0x9daec734, 0x3b69466d, 0xb80d7191, 0xf04cf8af, 0xa7dc0678, - 0xeabb040a, 0xee37c92f - }, - { - 0x62ec6320, 0x33741b0c, 0x6cef8ea6, 0x316688c0, 0xde1bd348, - 0xbdea81bc, 0xb6abc3f2 - } - } - }, - { - { - { - 0x157b1478, 0xa70489f3, 0xc4938632, 0x13eb30b0, 0xd943f3ef, - 0xc4642b92, 0x73b1de94 - }, - { - 0x495b02bc, 0x51c3a5bd, 0x2c32bfdd, 0xa5470f1f, 0x239069e1, - 0x9d354150, 0x4af5b701 - }, - { - 0x51b0dc80, 0xaf803963, 0xa0c550e2, 0x41eb5d80, 0x5a8cb76b, - 0xcd27c752, 0xf68cb037 - } - }, - { - { - 0xbaaa03bc, 0xdd7807a6, 0x9f055cdf, 0xea9729df, 0x6a22127, - 0x5d28656c, 0x5993ee15 - }, - { - 0x237487d9, 0x2f431e1c, 0xf48bf619, 0xdc2bf875, 0xc6f43af2, - 0xe8e17049, 0x4f0cc1ed - }, - { - 0x9967c749, 0x911bda1d, 0x20e46f29, 0x80fa5e94, 0x11c3a406, - 0x867b8b6c, 0xc3994c19 - } - }, - { - { - 0xe79f0f9b, 0x3c654f56, 0x1cbd77e2, 0x869e161b, 0x84a2e06f, - 0xd446e368, 0xff20adbf - }, - { - 0xaf9f64f2, 0xf12eba75, 0x517004f6, 0x98cd7e3f, 0x504877ba, - 0x8d720ac, 0x6c89fbb8 - }, - { - 0x2307c422, 0xf56190fc, 0xd828f480, 0x4595fa21, 0x1793e1c9, - 0xa5b0cbc6, 0x1cdd30f - } - }, - { - { - 0xaaf907d7, 0xbb46e86, 0xdc1f8601, 0xa1de6c3c, 0x3961ee57, - 0xea801086, 0x9d8a5b5e - }, - { - 0x168c0a9, 0x4176da83, 0x8cb18d0b, 0x4874469, 0x6dab98bc, - 0xf4babc6d, 0xfc064978 - }, - { - 0xae2f513f, 0x40202337, 0x2c706a7c, 0xb8258d6e, 0x7528859c, - 0xaafa0570, 0xe49726e9 - } - }, - { - { - 0x2761da56, 0x9f632a2b, 0xebbffdba, 0x47081381, 0xe498dc94, - 0x5f3024f8, 0xbd928735 - }, - { - 0xf5545bfa, 0x935472cd, 0x2ff5489b, 0x1e4ed677, 0x2191cac3, - 0x83320f7f, 0x4c38de5c - }, - { - 0x106c57d3, 0x3f51676a, 0x1986e0cf, 0xab0278fd, 0x67e0700b, - 0x86d8d62d, 0xb4940c7a - } - }, - { - { - 0xb2e33acf, 0x9f4f309e, 0x5dca1dfe, 0xff9a5aa5, 0xc80ee0e1, - 0x334c3f, 0x36781791 - }, - { - 0xfbaf8563, 0x542b8fe6, 0xca56f5f7, 0x1025dda4, 0x56142fb7, - 0xa0ec69, 0x50ca39c9 - }, - { - 0x283861f7, 0x75bf4b28, 0xc6191b02, 0x205b689e, 0x5da64294, - 0x93d7ccaa, 0x5dac18f5 - } - }, - { - { - 0xa3e91e9d, 0xc0ddfe77, 0xb58dd798, 0x7c3bbb2e, 0xd12a8e38, - 0x98509056, 0x8da8fc61 - }, - { - 0x3e019e7f, 0x269cc61a, 0x3f36de6b, 0xe25d2e16, 0x63306d29, - 0xe633bae7, 0xd478d919 - }, - { - 0x9cdb6bdd, 0x42897fe5, 0x4bcb2e4b, 0x360a8507, 0x9583ac9d, - 0x78299607, 0xe0dcb848 - } - }, - { - { - 0xf47c0614, 0x60ab3b1e, 0xc918e0ac, 0xe0260340, 0x613ba90, - 0x6c754b0, 0x576e8d34 - }, - { - 0xcc300f90, 0x91ef7988, 0x12df3573, 0xcdf3d2ac, 0x277e95c3, - 0x6406ec10, 0x9de52f9b - }, - { - 0x7065560e, 0xedc9a5c0, 0x5517e5d2, 0xd89983f4, 0xaccccd57, - 0x64ad8311, 0x56f6f693 - } - }, - { - { - 0x46abeec0, 0x5e275703, 0x6a971a3e, 0xbe47865a, 0xcde6053b, - 0x1aa0647e, 0xbb28a42 - }, - { - 0x326b8d54, 0x9909cca4, 0xe6ae5463, 0x661082c1, 0x234a8ad9, - 0x768cbd00, 0xfff58452 - }, - { - 0x66252d54, 0x95b17abb, 0x1c0cc27, 0xf9361001, 0x8afffe27, - 0xf7f2316a, 0x3333df7c - } - }, - { - { - 0x85254ed9, 0xf854d9d3, 0x3ddbde00, 0x3f10d853, 0x4bfc3d98, - 0x28676c44, 0x383da8 - }, - { - 0x4af532cf, 0x7092aa60, 0x20ad577e, 0xef336cad, 0xe5a7caf2, - 0x8f9e0580, 0xd436731d - }, - { - 0xe829f372, 0x6c9f5e01, 0xa8bbd7a4, 0x478dda4b, 0xda59d41a, - 0x8475e517, 0x14f1b25a - } - }, - { - { - 0x3f77a390, 0xff0c7f2, 0xda39b7f, 0xdc649467, 0x3196c957, - 0x2ad489f1, 0xdb2d5387 - }, - { - 0xc7231ba0, 0x2629bb8, 0xfae86791, 0x101e64a9, 0x8f613d1f, - 0x367bfd12, 0xbbaa708e - }, - { - 0xe724a5a1, 0x78b701, 0xa02072ef, 0xf0b11d78, 0xe90efa51, - 0xea6bff88, 0x1273d0f5 - } - }, - { - { - 0xdd3d16b0, 0xd628f6eb, 0xa14fa381, 0x6b1fd60d, 0x66c6ee1f, - 0x252f5809, 0x51f5b8bc - }, - { - 0xfd546d5a, 0x8b23ec94, 0xf8a63da2, 0x5f94c179, 0x1389950f, - 0x5eb748a8, 0xc03953c4 - }, - { - 0xe148a485, 0x1c91f7ca, 0x9666bbaf, 0xa7e27d33, 0xd03fa5e3, - 0xa97f1a5d, 0x255fa9d7 - } - }, - { - { - 0x99bfeb82, 0x13e93ea1, 0xa1b34213, 0x5032bcd, 0x974b9c2a, - 0xf0eb8ba, 0xbc3d39f8 - }, - { - 0x479f8f4d, 0xc3ea93e9, 0x6bd50624, 0x7e5c4068, 0x7bc8794d, - 0x8ef3827c, 0xb524b869 - }, - { - 0xb7af381e, 0x4c65d3d1, 0xfb52103a, 0xa679f9bd, 0x84f1e3f7, - 0x4a1a4b97, 0xb5d5f46a - } - }, - { - { - 0x1337d493, 0xd8612035, 0xa3851575, 0x9f81687c, 0xbb5c0084, - 0xd81379dc, 0x7f3fa0bf - }, - { - 0xe30a43fd, 0xfd8b3ca6, 0xe99352c2, 0x928a956c, 0x483a0da0, - 0xb088552e, 0x55c2bb61 - }, - { - 0x70967a49, 0xa747dfec, 0x92cedbab, 0xe0832fd1, 0x827c03b8, - 0xd13ba720, 0x4e9b887d - } - }, - { - { - 0xb72f1a34, 0x6b4fbd7, 0x5eff9023, 0x6bc5da35, 0x3d88fb0f, - 0x267fb5f3, 0xd75d10d4 - }, - { - 0x74aa9179, 0x6663168, 0xd32e46e4, 0x6faf98b, 0x7002b13a, - 0x7d973519, 0x37583547 - }, - { - 0x5228206d, 0xd5b8b571, 0xf4df2df6, 0xf4b6b140, 0x79c5ce22, - 0x7f4ac920, 0xfa7fb665 - } - } - }, - { - { - { - 0x4edbd0d6, 0x1ac761da, 0x145d2d3c, 0xe6511ea4, 0xbaa52029, - 0xa4b126c6, 0xd1371bf3 - }, - { - 0x96d96703, 0x60df87d0, 0x2b4effd4, 0x3bcf5ad2, 0x50577e3b, - 0xc4dc3d35, 0xe5283ea5 - }, - { - 0x66f6147f, 0xe40ffc46, 0x97af186e, 0x3e9755d7, 0x6f8d9519, - 0x600cf496, 0xc84a8ef0 - } - }, - { - { - 0x3dc52dab, 0x83c40092, 0xfa924dde, 0xe725a08e, 0xf980f24b, - 0xd13012cc, 0x4ec939e7 - }, - { - 0x7fe2d9eb, 0xe4af24da, 0xd63f3083, 0x6bd63d31, 0xfe425735, - 0x5625baa8, 0x9bb45546 - }, - { - 0x4d8cdf4a, 0xe9e225de, 0xdb15270, 0x61ee0a29, 0xad92805b, - 0x5fbd945f, 0x78c637e9 - } - }, - { - { - 0x42fa40e4, 0xedaf3cc9, 0xbb409c1a, 0x2496aaea, 0x162c7f66, - 0xb32af4d4, 0xce209780 - }, - { - 0xf351047c, 0xde7af3ba, 0x6ce93ed5, 0x8f1a3e28, 0x2a464d4c, - 0x26aa1db5, 0x7fa7608f - }, - { - 0xd04ca2a0, 0xe2592575, 0x6abbb22d, 0xf35cef36, 0x9a90294, - 0xfb530f84, 0x143464a3 - } - }, - { - { - 0x6764faac, 0x2a623b1f, 0x9a659e62, 0xf79189e1, 0xd8e2b4a7, - 0x6fb0e48f, 0x5ba80168 - }, - { - 0xf5e34015, 0xf37da9e0, 0xc724a3c4, 0x600ae433, 0x7bb75da5, - 0xe206d8ec, 0x68d7061c - }, - { - 0xa3f38b46, 0xa1048860, 0xad1a9261, 0x515880b1, 0xaf9fd670, - 0x9f0fe8f7, 0xd02bd8ec - } - }, - { - { - 0xeb196550, 0xa7a208ac, 0xb21098ef, 0x8331864b, 0x134fa8df, - 0x2c12b31a, 0x7f7f8eb5 - }, - { - 0x653d1c88, 0xa9c2b80f, 0x4751b7d4, 0xa1272b98, 0x18cb10f0, - 0xa8a8b958, 0xd9b30334 - }, - { - 0xe58148e2, 0x29a6fd9d, 0xd6725a08, 0x502b97c6, 0x4f1269e4, - 0x9cccfd6a, 0x9df92e36 - } - }, - { - { - 0xeec56e7f, 0x2a21408e, 0x72956c2d, 0x534abdb5, 0x8d3f88c6, - 0xa3c8fb8, 0x5fc5a80d - }, - { - 0x80365094, 0x791e5a14, 0x2a623b13, 0x563ae5cc, 0x184ecc41, - 0x64554c87, 0x10bf3f6d - }, - { - 0xcafc2d80, 0xa96d416a, 0x38f8762a, 0xe79ca2d8, 0xd73d682b, - 0xee60b22e, 0x90bca2ff - } - }, - { - { - 0x6275bea8, 0xee7dbed5, 0x40bf0078, 0x7b67309f, 0x609c3d77, - 0x4899f647, 0xfe44e6d2 - }, - { - 0x5fe4885f, 0x4f0b23ed, 0x139ca20c, 0x4d6262a6, 0xbf91ffc2, - 0x68824a4a, 0x66944e7b - }, - { - 0xb33c52fa, 0xcb388cf, 0x652c8ddb, 0x200dfd3e, 0xd6012d22, - 0xeee3af3, 0xee21c0a3 - } - }, - { - { - 0xac49fd6f, 0x10703c7b, 0xfbc140c1, 0x2936e38c, 0xf70250b7, - 0x83cd83cf, 0x56b728b3 - }, - { - 0x408e5353, 0xbfc5800e, 0x45af1bbf, 0x80e3e309, 0xda766449, - 0xab76522b, 0x4c9f1e55 - }, - { - 0x2525110b, 0xdc267d4c, 0xca795fc5, 0xee02dd9d, 0xe034313c, - 0xc722680d, 0xf334923 - } - }, - { - { - 0x376e8b97, 0x448252be, 0x9dc41c55, 0x6be95e05, 0x86e9d700, - 0x1667228b, 0x8024a2b - }, - { - 0x9cc859df, 0x7c0b0571, 0x9e04fa34, 0xf0a41e80, 0x69d9508b, - 0xb0be5b98, 0x873ac277 - }, - { - 0xe90a6143, 0xc605d827, 0xcf485722, 0x86cd1a6, 0x4c237e1, - 0x96c5a43f, 0xf09bc16a - } - }, - { - { - 0x924506c9, 0x661b3e5, 0x1a231983, 0xb937405b, 0xd79fe049, - 0x13416d6b, 0x95b00a40 - }, - { - 0xdfcc4c3b, 0xecfc6de2, 0x51482b9d, 0x17e03710, 0x98f332b5, - 0xd15deb41, 0xdd9fdec0 - }, - { - 0xf7003ebc, 0xe04891d0, 0x645d766f, 0xb882d88e, 0xb6b183c0, - 0xd664ef0, 0xdc8cd7d - } - }, - { - { - 0xb9ceab22, 0xd3df8d72, 0xf74129, 0xf7b17ace, 0xf277b355, - 0x59ded96c, 0xb51e8d5c - }, - { - 0x917a4197, 0x80b38cec, 0x6e21b9d5, 0x273da69, 0xa760248, - 0xceed6b51, 0xf06efc87 - }, - { - 0xc594b1cc, 0xea92d500, 0xd97cf5ad, 0xdc8bec32, 0x4bad4bba, - 0xab36c395, 0x1d07ea85 - } - }, - { - { - 0xab0c4cda, 0x1bfc88d2, 0xfa3732db, 0x7f7b389b, 0x22bc5e12, - 0x338b2349, 0x914a746e - }, - { - 0xffb79509, 0x3adf1510, 0xa328641, 0xa5815614, 0x94541033, - 0x624240cd, 0x579a9507 - }, - { - 0xa1df1e94, 0x1347e701, 0xf7958563, 0x6847626c, 0xe0770d61, - 0x9b837f13, 0xe6a16db1 - } - }, - { - { - 0xf4d23bfa, 0x3714e04, 0xb10a76b9, 0xfee66e34, 0x6c975da6, - 0xc0dce248, 0x215e7b69 - }, - { - 0x1fae8cba, 0xd5076667, 0xe2a4081a, 0x7dbaf860, 0x5c5fa77, - 0x76babf62, 0x7beae518 - }, - { - 0x991d9018, 0x691bef43, 0x28027156, 0x5958be6c, 0x616edef6, - 0x621d0536, 0x64508dc5 - } - }, - { - { - 0x58e91784, 0xecf5fc4a, 0x2761bf92, 0x96e083c5, 0xc2dd5bdf, - 0x6c24a0b5, 0x28e957e4 - }, - { - 0x18253ed9, 0x975a8dbe, 0x9fdd1fce, 0xadcc0841, 0xd22b31ca, - 0x62d73142, 0x3c3bb99f - }, - { - 0xdcf64a45, 0x1dbc3b79, 0x9253040, 0x6f8ad4e2, 0x3d740fa1, - 0x335ba0e8, 0x4a755bd7 - } - }, - { - { - 0x6966e371, 0x2d24258a, 0xd01fbbc1, 0xe8beec19, 0x9a6df5c8, - 0x9a8814fc, 0xb25ad83e - }, - { - 0x368f7551, 0xec79a86a, 0xc3b6e4f7, 0xd310b99b, 0x81ed52aa, - 0xababcbfb, 0x63ae65e2 - }, - { - 0x694d3d73, 0xf485bbff, 0x107b4ff8, 0x85ded779, 0xf0dcfe4f, - 0x655222c9, 0xc1ff2aac - } - } - }, - { - { - { - 0x4ba8c0fd, 0x3aad09d6, 0x8b24267f, 0x163f8610, 0x26d6d516, - 0xe96baea0, 0x655bef14 - }, - { - 0x3690cb48, 0x1ad820e2, 0x3609fa85, 0x76fd4a16, 0xaf808dde, - 0x705c5d1f, 0xe69c2abe - }, - { - 0x7b1b936, 0xd28d4e6f, 0xd6ccc395, 0xa2e277cb, 0x1418498e, - 0xa606f672, 0x5c49521e - } - }, - { - { - 0xfbf0d552, 0x4595f67e, 0xcc824edf, 0x5d7cc3b4, 0xb8d08612, - 0x4a5206e4, 0xf618cdc7 - }, - { - 0x27a29775, 0xee80ea63, 0xf16615bc, 0x2be83afa, 0x8e345df8, - 0x1f073034, 0xdab3368d - }, - { - 0xef6aec7e, 0x683e7acc, 0xa3eb111e, 0x48dd6a0b, 0xdcdcee50, - 0xecab8b48, 0xdb63f8c5 - } - }, - { - { - 0xdec2c1e9, 0xdde3ebe8, 0x5b09c97e, 0x6401c8e7, 0x48b6e2a4, - 0x356f9292, 0xa99ed714 - }, - { - 0x86014302, 0x359c27a6, 0x22cecf5d, 0xa7f1f69b, 0xa3f4f362, - 0x2a3ef1e2, 0xb3ab370d - }, - { - 0x772e50c3, 0x70ee7c52, 0x4c438d67, 0x7e834ea, 0xbf7f5ea6, - 0xf0b67665, 0x6ab6612a - } - }, - { - { - 0x11e01e08, 0xea7849ed, 0x95a012c5, 0x7465e842, 0xe456beaa, - 0xe8a989d6, 0x5b4da752 - }, - { - 0xf8d5df9b, 0xf5d882d5, 0x22c3631, 0x2594a457, 0x6631e7bd, - 0x8a6fd5a6, 0x6623572e - }, - { - 0x5ef49118, 0x5b33f84, 0xdc5a117e, 0xa1a25123, 0x694bb7f, - 0xc5db6c26, 0x26e1ae36 - } - }, - { - { - 0x1de8ed84, 0x8eb647d, 0x7f592db5, 0x25f4cd44, 0xe2bd2555, - 0x3a165614, 0x4fcfd616 - }, - { - 0x9324b8ad, 0x91c85696, 0xa59db38d, 0x29d294e0, 0x6ad8a480, - 0x9eba6b8b, 0x9e17b6ac - }, - { - 0x6b6c2084, 0xe75c5072, 0x7c5f2551, 0xec41a4c5, 0x8ec09414, - 0x8d9ec2ae, 0xbf8c68b4 - } - }, - { - { - 0x6866a50f, 0x69a6f65b, 0x13bb28fc, 0x1c74d868, 0x3360713c, - 0xd0699de6, 0x26a3b44b - }, - { - 0x21d9463b, 0x26cb4bba, 0x2d3606be, 0x17e4a5ed, 0x534d0b92, - 0x1137e374, 0xe93ae401 - }, - { - 0x21bfd2df, 0x606b33ea, 0xdf296d8, 0xe8f74fab, 0xc990b68, - 0xf78d25c8, 0x6d5754d7 - } - }, - { - { - 0xcc0faef4, 0x14ce0652, 0x62837b3f, 0xd858c3e9, 0xe53af724, - 0xd51a74a2, 0x633a09de - }, - { - 0xa78995a3, 0x8e51ba6d, 0x56b3acd8, 0x25c198c3, 0xe5a95e6e, - 0xf729dae5, 0xf27a6ae0 - }, - { - 0x934fc341, 0x7c08781d, 0xf6f3279e, 0x10cd1c79, 0x9788030, - 0x8ee5615c, 0x2c88382c - } - }, - { - { - 0x9c859bdf, 0x4c93436e, 0x4c097191, 0xb0bf3dc8, 0x318db287, - 0x5d423df, 0xa60221af - }, - { - 0x5eaca836, 0xd5558837, 0xf1808c07, 0x7931939a, 0x33308da2, - 0x7bcfe1ad, 0xd5001f73 - }, - { - 0x93b1d993, 0x72725540, 0xda2ddf3b, 0x9bdeefac, 0x626a65be, - 0xf224ec0f, 0x544674dd - } - }, - { - { - 0xd52e86ae, 0xc75179c8, 0x3eb9e936, 0x5222449b, 0xeb556fc6, - 0x7ab39e9c, 0x5a004c5b - }, - { - 0xd72d7475, 0xd9b36d1, 0x4344051d, 0x46718ddb, 0x2b964a78, - 0xde1575c2, 0xc2cbd81d - }, - { - 0x66177d62, 0x7815ad84, 0x92f98762, 0x8e8d1864, 0xb8e4173f, - 0xe3053237, 0xd4db9cae - } - }, - { - { - 0x642b2762, 0xe35f2423, 0xd6f90011, 0xb90de83f, 0xd872feb6, - 0xf17ed6f5, 0x380bed86 - }, - { - 0xb526f9ac, 0x4d7ae75b, 0x777b5aec, 0xc8da9db2, 0x27e75922, - 0xa4927750, 0x6904022c - }, - { - 0xc7e04b6, 0x8b931af5, 0x4c00c374, 0x213cd9e3, 0x81b5806c, - 0x7f2f12de, 0xda07b0e3 - } - }, - { - { - 0xed8121be, 0xd91d439e, 0x60d3ec97, 0xd0738d64, 0x1905b957, - 0xfaed7280, 0x95688832 - }, - { - 0xcb9562ed, 0x14d09609, 0xdd69420f, 0x4c94703c, 0x6c1ec7b7, - 0xf3993a2e, 0x502d1550 - }, - { - 0x6aba466d, 0xc530c3fd, 0x7d529cf3, 0xbaec9dc5, 0x90218c03, - 0x61826074, 0xf1faa624 - } - }, - { - { - 0xeb5312cd, 0xe2ac0de0, 0x2334eb14, 0xa46b5713, 0x3905268b, - 0x86b80964, 0xe5841cb0 - }, - { - 0xb2f4ee3f, 0x7d629028, 0x212f5d4, 0x1a25c1df, 0x62c0fa45, - 0x66508cd4, 0x45b15b - }, - { - 0xb01ed09e, 0x785f761e, 0x4a50b44f, 0x96c97351, 0x747f6b66, - 0x3b67c1e5, 0x29730840 - } - }, - { - { - 0xeb5eabe4, 0xb4a09d6, 0x3cae1dc, 0x2446d029, 0x226a0a84, - 0x3ad53d7c, 0x7e845e26 - }, - { - 0xf3dc52bd, 0xe17bb524, 0xf93ad9cd, 0x1fca637a, 0xb9533fb9, - 0xf19435dc, 0x9440959e - }, - { - 0x7a1853c1, 0xbef21386, 0x773ab14b, 0x1fdb5271, 0xb58888fb, - 0x91e24065, 0x253ea74f - } - }, - { - { - 0xf5bef574, 0x36f6555c, 0xc4d615ad, 0xa6cd246e, 0xf8cb51fc, - 0x98322dcd, 0xcd6b20b5 - }, - { - 0xbdb74eba, 0x1906af87, 0x33979a87, 0x1af56f5, 0xcc394fa9, - 0x8772b9d1, 0x6f353a7b - }, - { - 0xfa00a3dd, 0xd35ceb86, 0x7b96059d, 0x58c2e5b1, 0x9f93300e, - 0x74527b1e, 0xd5f65a7 - } - }, - { - { - 0xe7e5b4e9, 0xdd746a8, 0xfec0bf89, 0xaa847ae4, 0xe7335fd5, - 0x5ffc49dd, 0x180c1899 - }, - { - 0xb7f8b89, 0xf7a51568, 0x50aa6377, 0x7249bca2, 0x82d4f25a, - 0x48e81894, 0xd74352bb - }, - { - 0xc3276a3e, 0xd6937726, 0xd0cf559f, 0xc1ffffea, 0xeefac1db, - 0x5486ed96, 0x171455e9 - } - } - }, - { - { - { - 0xdd6d9e69, 0x14e16c97, 0xf57babca, 0x769ea440, 0x24a246e4, - 0xc48cd242, 0x282b326d - }, - { - 0x9b6aeab4, 0xe6cab9d4, 0x6b598986, 0x26f5df0d, 0x4914cf4a, - 0xbd318e07, 0x8c9ed82e - }, - { - 0x4ffc793c, 0x84537cfc, 0x8a4cd4b5, 0xe78e9a87, 0x196831ae, - 0xf4a0222b, 0xa64e802e - } - }, - { - { - 0x6b3d36ec, 0xda2a85d4, 0x5996082d, 0x64892994, 0xb5f643e7, - 0xdefb876f, 0xd9783cd5 - }, - { - 0x1d139323, 0xcfa9eabc, 0x6ae24138, 0x8cd99ea6, 0x1500d8e2, - 0xb8f0b7ea, 0xaa96dab7 - }, - { - 0x5d6d1ab9, 0x38166ca2, 0xa8fe1b68, 0x6c13add7, 0x934a6dfe, - 0x4cda73a0, 0x343c25c3 - } - }, - { - { - 0x9f2bde10, 0xe0ce3e35, 0xa6d24d8, 0xa27fccc9, 0xd0e6c2be, - 0xd7ecc305, 0x97696e32 - }, - { - 0xcae9b922, 0x874480d5, 0x7f26acff, 0xfa305f3d, 0xefb2e6b5, - 0x9965ff18, 0x20cb2ec5 - }, - { - 0x72064db9, 0xef665758, 0xaea16c60, 0xcb167e66, 0xca8f351c, - 0x99ff2a2c, 0x34408dbd - } - }, - { - { - 0xdb955047, 0xc7492cd8, 0xfe47f42f, 0xaf98b852, 0xb41e0202, - 0x1374dbfd, 0xe109c996 - }, - { - 0x966e9ef1, 0xe3eeedcd, 0x299c56e4, 0x1325e36c, 0x236a8977, - 0xdbbfb13, 0xc29b33f1 - }, - { - 0x3ed599bb, 0x714227e3, 0x2408722f, 0x6d529d43, 0xeeddcdc, - 0xa95c66a7, 0x7a8ceca8 - } - }, - { - { - 0x94622b96, 0xea2f210, 0x6bfc88d7, 0xff030c77, 0xd6a92a13, - 0x91d461ac, 0xec4739ec - }, - { - 0x588ea0d8, 0xd68d2b64, 0xa4a42f46, 0x4813d6b4, 0xb54b1ba0, - 0xe9556f73, 0x9dbfd4b1 - }, - { - 0x46d71ed0, 0xef0819be, 0xc24de7b1, 0x8bcd0338, 0x485f251d, - 0x7a192bd7, 0x5e4455d7 - } - }, - { - { - 0xb8681bbf, 0x24d2fcc7, 0x62664cf9, 0x5231e795, 0x6a0a8e16, - 0x202f9c71, 0x35f5be29 - }, - { - 0xdb1c15dd, 0xe4578a84, 0xdd3e6e8f, 0x203d6531, 0xf2083869, - 0x1fc8c334, 0x1826269c - }, - { - 0x199352ff, 0xb676d3cb, 0x30922a7a, 0x8b672914, 0x8b1d32cc, - 0x2d422f47, 0x975c3204 - } - }, - { - { - 0x44b7634c, 0x41e57ffa, 0x10e0ef24, 0x40f5293e, 0x9e1746ea, - 0x33c98bed, 0x3b0b3a9 - }, - { - 0x6a7e7de6, 0xcbce4f0d, 0xbf950036, 0x7731872e, 0x5f8b1c2b, - 0x90bca0b3, 0x49a6bdd4 - }, - { - 0x57d8b09c, 0xd5c62af1, 0x5b65087d, 0x5f6bad23, 0xd8a64a, - 0x74363b11, 0x7f7572 - } - }, - { - { - 0x616026cf, 0x94a4053, 0xf7add9f4, 0xf34a2c0b, 0x607ab0ae, - 0x9b5b1fb2, 0x30f8b81f - }, - { - 0x21c39874, 0x25131866, 0x4711dec1, 0xce0dfee5, 0x53219bde, - 0x4db77272, 0xb74cc4a2 - }, - { - 0x5d85816c, 0x2a2fd059, 0x2262e681, 0x6dd6022b, 0x2b03afd1, - 0x6e097f16, 0x8304eefc - } - }, - { - { - 0x19d52e88, 0x83db2961, 0x4a0a3710, 0x9a7e271c, 0x18bde5ab, - 0x4aa15553, 0xe14d55a3 - }, - { - 0x81eac54d, 0x8cf23955, 0x3c52cd9c, 0xf19a9bfb, 0xef5a9ba3, - 0x5082541f, 0x2fb9c44b - }, - { - 0xa6d4fb53, 0x80c523e7, 0xbd0ff378, 0x8c1bc123, 0xc8d3ff68, - 0xc6fdeba6, 0xdeca98f4 - } - }, - { - { - 0x7ecca57f, 0x1ecbb82a, 0x35714d21, 0x35ea6a99, 0xad5270bd, - 0x9e73540a, 0xfdde8c - }, - { - 0xb2c2ff85, 0xbe9ef4d6, 0x986c639a, 0xb39acb9b, 0x9e394e23, - 0xa3b91241, 0x888082db - }, - { - 0x85f9429a, 0xe1458292, 0xbdc2f2f0, 0x838d0b22, 0x906d9f1e, - 0x82a955b3, 0xeb3d256c - } - }, - { - { - 0x832b821d, 0x39bc7e9b, 0xe5129439, 0x259220e0, 0x3953df5a, - 0x1394291, 0x80f78097 - }, - { - 0xcd837a9f, 0x27e9cefa, 0xcdbd04f2, 0x3a7344d2, 0x23417909, - 0xba219d33, 0xb82389f6 - }, - { - 0xa76af9dc, 0x21aba831, 0x7573d4a4, 0x1464b0d3, 0x89f9cf6d, - 0x32ff637f, 0x848b4ca9 - } - }, - { - { - 0x46c6cacd, 0xc0930d3b, 0x296ba384, 0xcb1c47b1, 0x247709d4, - 0x6d0bfec8, 0x12c9b49f - }, - { - 0x42554316, 0xb4a56f62, 0x71b46c7f, 0xe53119bc, 0x65756d4b, - 0xad984e3, 0x227cb754 - }, - { - 0x62122c94, 0xb3070c13, 0x723a8ae1, 0x962ace28, 0xd8c317a9, - 0x391b66a5, 0x6c21db13 - } - }, - { - { - 0xbb049b77, 0xf1bb36de, 0xbe6beb9e, 0xf723ff88, 0x61af6475, - 0x1ea82022, 0x713ed5c0 - }, - { - 0x1b438e29, 0xfc15de8, 0xad700496, 0xdaf3b9f8, 0x9744b7a6, - 0x8717d592, 0xe10333e6 - }, - { - 0xae6fbf0c, 0xd92c2fd7, 0x2d6c96d5, 0x6f21fd13, 0x4dd64596, - 0x7de0e6eb, 0x38223a74 - } - }, - { - { - 0x33a1ca9d, 0xec35cb63, 0xa811c9e0, 0x7e94c6, 0x8a3a43ac, - 0xb1ec174e, 0xa5b17e5e - }, - { - 0xe5e3c259, 0xf2e24b47, 0x5692433, 0xa9cb5042, 0x801f31e9, - 0xff62e288, 0xfe9cb963 - }, - { - 0x8f78915b, 0x7bf29812, 0xc7625809, 0xeda180f3, 0x41d9ed9c, - 0x4a5d4068, 0x302a8c3 - } - }, - { - { - 0xe2d1334, 0x75642afc, 0x50383089, 0xdffa787c, 0x3b144d8d, - 0x721ad80d, 0xb29da708 - }, - { - 0xeb83ff21, 0x23b201e2, 0x28ad56a7, 0x18c5df20, 0xa38fa192, - 0x4126a09f, 0x2a4d0bfc - }, - { - 0xd1481a33, 0x9c050991, 0x724c7d53, 0x903ca33d, 0x3012e63c, - 0xb440cd31, 0x55f798b4 - } - } - }, - { - { - { - 0x73188b8c, 0xc67f99cb, 0xac50d150, 0x49ebaa9f, 0xb2b94e41, - 0x419711dc, 0xe8b8fe3f - }, - { - 0x658765a, 0xfa8cc0ee, 0x652ec676, 0x650b730d, 0x1b7745d6, - 0x6bc682ff, 0x4b0b22b8 - }, - { - 0x19073ba, 0x60fa9f3b, 0xb2d7529b, 0xda48f309, 0x4549cc79, - 0x4222e6ec, 0x15747f2f - } - }, - { - { - 0xaa8c472f, 0x8a4b5355, 0xc5d85a69, 0xaf6bfa35, 0xcbe5952f, - 0x98845e93, 0x34af1299 - }, - { - 0xa747c12d, 0x550c3807, 0x1b5623c1, 0xf9876a8e, 0xe793bf82, - 0xd6e7e184, 0xa65b7306 - }, - { - 0xe8a89b75, 0xc922d07c, 0x5a8e4db0, 0x5bd010a4, 0x209e9535, - 0x22436a89, 0x62c04487 - } - }, - { - { - 0xc14c2b11, 0x7969fbcd, 0x92a4f574, 0x2d39aa2b, 0x1d5dd605, - 0xff8ba2e9, 0xf61887d5 - }, - { - 0xee78724e, 0x361f9b67, 0xe271343a, 0x93cd2e00, 0xf92934f0, - 0x4ed24ac7, 0xab06d89e - }, - { - 0x479b11f0, 0xb752f768, 0x6db395a9, 0x4d204cb4, 0x7c6ffb6f, - 0x5a3aa05a, 0x263f8a15 - } - }, - { - { - 0x68373d8e, 0x9b12d41b, 0x64fb66f8, 0x1a8c58cc, 0x2bcb74cf, - 0x844963bf, 0x28f3ef6d - }, - { - 0x7e9073bf, 0xe9848060, 0x2fd35607, 0xf11bf3de, 0x64b980d9, - 0x62042d11, 0x52649459 - }, - { - 0xbc1c4cf4, 0x49d52007, 0x6ee78e95, 0x356b5bf9, 0xcb439b97, - 0xe1011c44, 0x450530ce - } - }, - { - { - 0xb83cbe2c, 0x659760d3, 0x586d189d, 0x2d1fc860, 0x2b8460f5, - 0x65002c79, 0xe6781eaa - }, - { - 0x29709c9c, 0x5688c764, 0x26cab752, 0x7472c6ae, 0x49818243, - 0xc59a5591, 0xb1f21bbf - }, - { - 0xe6b3daf, 0x5a9c578b, 0x3963fd60, 0x85797d46, 0x9b499d4f, - 0x8686e8d2, 0xf3e568c - } - }, - { - { - 0xf1e4997f, 0x645c9eba, 0x6146736, 0xf969028, 0xb54b4fb4, - 0x42e6ef4b, 0xf214487e - }, - { - 0x909c82b6, 0x4bfcdc6a, 0x5c0b1877, 0xd7b6a11a, 0x7ca1186a, - 0x813bc943, 0xc512469f - }, - { - 0xd89c577c, 0xe6ca83f9, 0x399503ad, 0x6300f30f, 0x51c09302, - 0x276fd3ac, 0xbd3af5ef - } - }, - { - { - 0xfedd317b, 0x2799a240, 0xf1abd617, 0xe81a8699, 0x30078cc5, - 0xf38dbeb3, 0x326593e4 - }, - { - 0x8503543f, 0xdec79937, 0x5c874c25, 0x57391756, 0x667ba8fb, - 0x68fd5a4d, 0xa93f9588 - }, - { - 0x6d69e026, 0x9cdcfb72, 0x8fb8e791, 0x7cde2cca, 0x78842005, - 0x7adbab39, 0x90395217 - } - }, - { - { - 0x2962cdf9, 0xbc852370, 0xa80c518, 0x75c27e6, 0xbb406fab, - 0x972b142e, 0xaad6b704 - }, - { - 0x95b9d90b, 0x368eb1d8, 0xd0193c31, 0x85480c29, 0xe4884058, - 0x541f40bf, 0x80930feb - }, - { - 0x29ce21d0, 0x295da616, 0xfcff3054, 0xbd72fcdb, 0xed2be1ec, - 0xeea4d404, 0x5a51606b - } - }, - { - { - 0x5fc9ab48, 0x937ddd98, 0x172c7bc4, 0x446e4fce, 0x1a4194a4, - 0x306e2415, 0x8dfba590 - }, - { - 0x3176ae69, 0x1ce046fb, 0x2bec985f, 0xbfb4e477, 0x9df1e17b, - 0x69af64fe, 0x196544a2 - }, - { - 0xc8f3d407, 0x9ff218f3, 0x36be5f18, 0x7ba495eb, 0xd81cadc5, - 0x7ca17d80, 0x65a4348d - } - }, - { - { - 0x305cba6b, 0x1aea14cd, 0xfbd63fc8, 0xc9cae347, 0x808b578d, - 0xb9747e5b, 0xd425a356 - }, - { - 0xa967f93c, 0x8329e0ed, 0x4bc287d, 0x4cfb6d05, 0x120cb3ac, - 0xb3fae0a3, 0xf75cfaa4 - }, - { - 0x47404977, 0x518294cd, 0x959cea1a, 0xadd8af87, 0x89472944, - 0x1bc453e5, 0x5be52a0e - } - }, - { - { - 0x14c58a8d, 0xc4e97052, 0xb2072a53, 0xec5a24d0, 0x5ab5ccb4, - 0xebdc71a1, 0xd39e8ea4 - }, - { - 0xccf40af2, 0xa987b05f, 0xd838a0d5, 0x3b1be700, 0xdfa581f3, - 0xcac0f2e5, 0xf666cb45 - }, - { - 0xf221e540, 0xe9584fc4, 0x7f8a6423, 0x1d1c8ae5, 0xed640d3f, - 0x6b874660, 0xb407310b - } - }, - { - { - 0xe7a47e6a, 0x9f218902, 0x635c1fc5, 0xf9475eff, 0xbed45b1f, - 0xbf2bd046, 0x9bce17c8 - }, - { - 0x3e91c2aa, 0xd66012a, 0xa74578c9, 0x9799ec55, 0x4c93e17b, - 0x800278a2, 0xb5f6464e - }, - { - 0xf750384e, 0x2a08d5d6, 0x14ce97d7, 0x7e4cbfaf, 0x728e4d7e, - 0x972245b8, 0xb960196e - } - }, - { - { - 0x29f68bd6, 0x8520b704, 0x9738596d, 0xe4764e92, 0x63ecfe20, - 0x90cb089f, 0x1afa7fb3 - }, - { - 0xbdedcce3, 0x7f271adb, 0xfd8eef71, 0x922737fc, 0xdcda51d3, - 0x2f713f12, 0x8e12b0e9 - }, - { - 0x9b045164, 0xd6fd5949, 0x23eb3276, 0x322335b9, 0x36f3b6e6, - 0x741a467f, 0x94a360cd - } - }, - { - { - 0x56079aa, 0x504879f, 0x1cc47f68, 0x18f7f171, 0x54edaf93, - 0xecb3e886, 0x9402b8fb - }, - { - 0x40d573c6, 0x56bd1d3b, 0xf295a6c, 0xb0726463, 0x2a173966, - 0xfe6cf406, 0x8cf20e12 - }, - { - 0x2ae682ec, 0x5278e917, 0x8dfef0a8, 0xdd26b9f0, 0x546c1a58, - 0x54f9bc23, 0x59b9c1d0 - } - }, - { - { - 0x49545033, 0x3def97b0, 0x376af13b, 0x5b848cfb, 0xdf164ae2, - 0xb3c4b7c, 0xcf99d8da - }, - { - 0x96e5a1df, 0xcf6f32a2, 0x1f87377a, 0x31d058d8, 0xfffde099, - 0x466f24a6, 0xa7248599 - }, - { - 0x53907ce0, 0xb65f63c4, 0x4b2aaa7a, 0xae36c3b8, 0xcdf8a76e, - 0xf14b58ed, 0x28d6e948 - } - } - }, - { - { - { - 0xb834091e, 0xbb110092, 0xe1591246, 0x27145383, 0x3911e6f5, - 0x373038c1, 0xd4d666ab - }, - { - 0xa85a501d, 0xa6a612bc, 0xb0f3042, 0xef8a7cc, 0x93069e26, - 0x4b0eedb9, 0x62fe6f25 - }, - { - 0x39ef9d45, 0x2a01aae7, 0xaf37d030, 0x91963462, 0xdc8fc8de, - 0xf3ca5686, 0xc3159a41 - } - }, - { - { - 0xc027fd9d, 0x326730d8, 0xbe8484ac, 0x6acb8b52, 0xae9e59a6, - 0x83d42e23, 0xa1fe3aba - }, - { - 0xe6b1a0d2, 0xb48e7597, 0x7f641857, 0x20ed1bb0, 0xb7d41bfe, - 0x1ec0d0eb, 0x453455a5 - }, - { - 0x485a4dbd, 0x6e615c73, 0x85d8d2b9, 0x45059e59, 0xca2c5604, - 0xc4de351b, 0xeadc9fab - } - }, - { - { - 0x2d5465d8, 0x92774b9, 0x472f5eca, 0x4f5157d8, 0x81957c36, - 0x16c29b16, 0xdd379d75 - }, - { - 0x30015311, 0xbc682a1e, 0x6e1073a3, 0xd56fcc64, 0xa15234b3, - 0xc0296dd8, 0xd5c1a3cb - }, - { - 0xc29313d9, 0xa20729a6, 0x331d9f14, 0x7e189bd8, 0x70e9d75a, - 0x7842c46c, 0x9dbd1617 - } - }, - { - { - 0xd2cbd7d3, 0x1aa47ee2, 0x13a4a295, 0x35785d71, 0xeb4c6b11, - 0x470685f8, 0xc16701a9 - }, - { - 0xa07e5df0, 0xa772a838, 0x70735399, 0x67ebb3eb, 0xfde880d6, - 0x44e6c555, 0xc4dd8a36 - }, - { - 0x932b657f, 0x3b7e17ee, 0xdfbc6085, 0xa0e2a693, 0xbcc1c1e4, - 0x995ebbaf, 0xbbde4050 - } - }, - { - { - 0x82105aa, 0x9e171bc1, 0xcd79784a, 0x181ad1a7, 0x78efe248, - 0x62938655, 0x92e2dd03 - }, - { - 0x80850633, 0x67eeab08, 0xaa7fa299, 0xe54ebae0, 0x13420a3f, - 0x926e78b, 0x4780e6c3 - }, - { - 0xb920b416, 0x7d0e7bdb, 0x41d226f4, 0x5d697f09, 0xff6342c9, - 0x19dcf1e6, 0xd255b41d - } - }, - { - { - 0x25ed3199, 0x13e80b3a, 0x39502af4, 0x946bc413, 0x222aaa18, - 0x771ab8f4, 0x5eb631bc - }, - { - 0x2b7d89a2, 0xcfa23d05, 0xd43f7e6f, 0xb7298da, 0x99b64a2, - 0xfd2dc121, 0x39a9f437 - }, - { - 0x59ce3b05, 0xef8a5575, 0xce99be3b, 0xbb10be5c, 0x633efd57, - 0x5eb063eb, 0x4d068124 - } - }, - { - { - 0xa0dcba7d, 0xe672e30d, 0xb86cd256, 0x61d4d9ad, 0x98bf3777, - 0x3419d687, 0xfdc54bb3 - }, - { - 0xffb1a4b4, 0x8e128540, 0x7bf98b8e, 0x499366a6, 0xcb98fb54, - 0x660647b0, 0xe1fc99c2 - }, - { - 0x327cbb95, 0xeb9761f2, 0xf35c93e, 0x1a0592ed, 0x46d78f12, - 0x9d3f111c, 0x1c1a4063 - } - }, - { - { - 0x5c5fda52, 0xfaac7fd0, 0x1aa2fb6f, 0x17a044a8, 0x86b2609, - 0x57c7312d, 0xb6f55c76 - }, - { - 0x9e91e68e, 0x6c4d13e6, 0xfebde30d, 0xc7ecd195, 0xfa0349f2, - 0xb68fa62c, 0x25671f96 - }, - { - 0xfa45a9ab, 0x69cddb7c, 0xe745cebf, 0x138893e0, 0x80ea5ce9, - 0x6e969a1a, 0xad93a824 - } - }, - { - { - 0x314631eb, 0x1174dea3, 0x6325dbe5, 0x80dfcb22, 0xf23a95e, - 0x45262ae4, 0xcc3950ac - }, - { - 0x4dc715ad, 0x1ff0c5c, 0x20d25b39, 0x375eaa75, 0x5c157bfe, - 0x86507f8f, 0x479aa3b4 - }, - { - 0xfa2f9e5b, 0x59688259, 0xd34e56d7, 0x80c701bc, 0xcfb1dda0, - 0xeaf62df7, 0xaba884eb - } - }, - { - { - 0x78c8e7, 0x87b45a40, 0x211179c6, 0xc5a669bd, 0xa1fb093, - 0x45c2cdcd, 0x3e0d7ed3 - }, - { - 0x3b82e091, 0x51d19162, 0x93a93abc, 0xe5a45313, 0x1712cea, - 0xca72c5a5, 0x34039e56 - }, - { - 0xc303308d, 0xa65f85f2, 0xdef45e95, 0x1bc12551, 0xf69e7703, - 0xb2afbc4f, 0x1e64082a - } - }, - { - { - 0x1f8382d8, 0xeb83446a, 0xc908b2cf, 0xbaf7cd36, 0x8983b907, - 0x7964f547, 0x124598a7 - }, - { - 0xca9ac550, 0xdf295425, 0xb641e0bf, 0x88690e2c, 0x5752fcea, - 0x1bf8501e, 0x3cc1a109 - }, - { - 0x557d38f1, 0xfda79033, 0x7d750af8, 0x8336263b, 0xb668d012, - 0x58d70182, 0x304dd652 - } - }, - { - { - 0x1483ec05, 0x64a47a39, 0xde9aedbf, 0x894b97c2, 0xb9f8b75, - 0xfdd4fc5e, 0xc8445a04 - }, - { - 0x6eeaa080, 0xdc7f07a1, 0x50d9d6ad, 0x514f877, 0x580aa6f3, - 0x3748229e, 0xacd2de2e - }, - { - 0xa2c8d44a, 0x1146fe7b, 0xda644146, 0x350da504, 0xf65b3e6b, - 0x254d1d62, 0xe182d705 - } - }, - { - { - 0xd428370c, 0x15d846e4, 0xb7cf9838, 0xbd1e5e92, 0x4bfd584c, - 0x3786bb16, 0xf92ff07f - }, - { - 0x57f41c61, 0xea1f62c8, 0x6c377250, 0x8c8327a0, 0xa38e92cb, - 0x149d9bd7, 0xfd5b6512 - }, - { - 0xd7854757, 0xf4d770b7, 0x21afef1b, 0x868fddba, 0x9eecf275, - 0x1ad41582, 0x60cc1355 - } - }, - { - { - 0x819270eb, 0x725c7e21, 0x1f074d1, 0x1c202840, 0xeaf875aa, - 0xdc98f02a, 0xc85e1d0e - }, - { - 0xe6b90d6d, 0x7d34a1d3, 0x8de4dd80, 0x49994c5c, 0x2436f69, - 0xe8645285, 0xe3db8f4f - }, - { - 0x67cac66d, 0x965036c, 0x1a639958, 0xa125e3ed, 0x74e8bb20, - 0x3722fbfa, 0x2204ff55 - } - }, - { - { - 0xdc482990, 0x9190701d, 0x7a3faea5, 0x94bda441, 0xf22a0302, - 0x93717755, 0x82e4e481 - }, - { - 0xa0e8aba1, 0x23831fad, 0x3d345e5f, 0x1d02ea04, 0x4db383ca, - 0xddbaa371, 0xbb2d1566 - }, - { - 0x64821051, 0xdd450b1, 0x72501386, 0xfbfe175d, 0xe8d6313, - 0xff02180e, 0xdc09e9ab - } - } - }, - { - { - { - 0x5c19c0f0, 0x21d9115a, 0x568dc7a2, 0x501089b0, 0x37df1251, - 0xef1cb4aa, 0xde89148 - }, - { - 0x88b7c9c1, 0xbd510c6c, 0xaf4451e3, 0xab80c7ff, 0xc7c81f7a, - 0xdf8ec4cc, 0x9344e39c - }, - { - 0x64ab0741, 0x98703c85, 0xc0af5526, 0xfad4a4cd, 0x12c91af8, - 0xe9958c86, 0x5002b3e1 - } - }, - { - { - 0x30440c01, 0x5df3b508, 0xc49e1ed0, 0x436d4860, 0x8dc03cae, - 0x72d99afe, 0xef2fa978 - }, - { - 0x9605fc53, 0xef34ed79, 0x26eaa721, 0x6006aea1, 0x728340ae, - 0x54147c2e, 0xc6e56914 - }, - { - 0xc1c0d970, 0xabf899fd, 0x29efbb37, 0xb8f5855e, 0xaf23ff49, - 0x1cdf10f5, 0x83e8a56a - } - }, - { - { - 0x6726a4d2, 0xbc9dd629, 0xddc92821, 0xfc851053, 0x45c2d95f, - 0xecced3b5, 0x8f40c307 - }, - { - 0xbfc09c17, 0x54f05d3, 0x48d90feb, 0x1f014370, 0x5b473e51, - 0x8162e4d1, 0xef180680 - }, - { - 0xa5e2f2ee, 0x4f9ef0c6, 0xb6082b8, 0xbca2f174, 0xeeede02c, - 0x3b5a2b5c, 0x11c18c9d - } - }, - { - { - 0x47787e42, 0xc170f36, 0x3a47f4ec, 0x5927706a, 0xc9056501, - 0xe95c71d4, 0x6877943e - }, - { - 0x5eec7d48, 0x78180a87, 0x5d438692, 0x1dc0bcc6, 0x165ee6ba, - 0x9fe1f2db, 0xc6a0bab8 - }, - { - 0x6604cbac, 0xf64667b2, 0x2114053b, 0x35d4e4ad, 0xe9e0ef9c, - 0x92079ca7, 0x986a3fa7 - } - }, - { - { - 0x82712650, 0xc0a5b0a4, 0x637b7368, 0xf224f4d3, 0xfca59a79, - 0xc9a1480, 0xf92d33b9 - }, - { - 0xab015833, 0x92fccbf1, 0xd0726647, 0x4ae2a624, 0xf659adee, - 0x39618e0a, 0xa5f7287b - }, - { - 0x5ac3158, 0x1b225490, 0x8c14d1d7, 0x9fed0b35, 0x783e4651, - 0xb64ef631, 0xdb283f4 - } - }, - { - { - 0x648f1e40, 0xc6b11168, 0xd790db89, 0x4a1fb75f, 0x231a76ed, - 0x4b538d7a, 0x16559257 - }, - { - 0x1a9407e9, 0xca923d23, 0xafe956ff, 0xfb57a6f1, 0xcf7db509, - 0xa08c1e0d, 0x1c7c6581 - }, - { - 0xafa25323, 0x2187735b, 0xa571f168, 0x7489600, 0x48138c7, - 0x62add336, 0x8afecd9b - } - }, - { - { - 0x2f040d4, 0x31e6998b, 0xe79cf99f, 0xec4395fb, 0x6871ec6c, - 0x72d8e09b, 0x79587445 - }, - { - 0x32c18592, 0x2a50213d, 0x7aebb75f, 0xdc086f33, 0x2cf2814e, - 0x70dbc9ae, 0xfae08b0 - }, - { - 0x119f0a12, 0xab453fa7, 0x6d8a50e9, 0xd4b83697, 0x400abc5e, - 0x17cb08ad, 0x2350e5b9 - } - }, - { - { - 0x7beee655, 0x8ebfbdf4, 0x364f6cf8, 0x2efd0623, 0xf20dc58f, - 0xbda5ebce, 0xc98a746f - }, - { - 0xd85599ed, 0xd055e21, 0x50f42cc0, 0x26c5cc0f, 0xba4880e7, - 0x18f04428, 0x22a6422c - }, - { - 0x6a25a5df, 0xa9989c2d, 0xf2c40136, 0xaae08139, 0x209367cc, - 0x37e31961, 0x341bd53d - } - }, - { - { - 0x12b709a3, 0x3ccc1a8f, 0x995d083c, 0xd33e76d7, 0xcedc6ce2, - 0xf86b47cb, 0x7c6e0f80 - }, - { - 0xd4836c1, 0xd4cee9d5, 0x8573dbfd, 0xc3478670, 0x88f93b00, - 0xcc52c0c1, 0x3c802fce - }, - { - 0xd0d8134d, 0xf14ebad7, 0xea8e56b1, 0x14739991, 0x9b1d67a2, - 0x1bb54967, 0x85bd2679 - } - }, - { - { - 0xf88ffc0c, 0xf4a4751c, 0xa00a0648, 0x721626cf, 0xbe6017d2, - 0x57acbe4e, 0xc15977fa - }, - { - 0x4557560b, 0xabe1ae11, 0xc7c87690, 0x220ce078, 0xd8a2cdc4, - 0xbf487441, 0x4019b12a - }, - { - 0xa27717a, 0x865a4eef, 0x1c96929d, 0x26282c2, 0x322468d5, - 0xc2afec0a, 0xd8eba75c - } - }, - { - { - 0x3f0b2d54, 0xe7b80636, 0x22146a68, 0xb938ffda, 0xd7798912, - 0x9523ada1, 0x15d56f7 - }, - { - 0x6f4cc03f, 0x703e29e8, 0xb477c3a4, 0xb57f4eeb, 0x6b00fb31, - 0x5f40cf59, 0xd5eae48 - }, - { - 0xa7f6ea45, 0xa100f81d, 0x9197f36f, 0xd71ef468, 0x8b20e6e9, - 0x692285ca, 0x5735d80d - } - }, - { - { - 0x1035c796, 0x16593586, 0x793beb1d, 0xee75952e, 0x925011d2, - 0xa72e1dfa, 0x349cb792 - }, - { - 0xa4a6f3dc, 0x1186c140, 0x354c185d, 0xe6edfcf2, 0x8243dd4c, - 0x8649d2a5, 0xe74b9aef - }, - { - 0x9b2b5cd4, 0x4876f905, 0xc3436963, 0x77a2009b, 0x7edd0adf, - 0x8f9d8fe7, 0x9237f6e9 - } - }, - { - { - 0x18b6b366, 0xe662ba84, 0x2967670a, 0x3868ee76, 0x18ae3f3e, - 0xde57f896, 0x2d713f89 - }, - { - 0x5d7ae13c, 0x6d1aab54, 0x314b98ce, 0xf4f1d67d, 0xb10335b3, - 0x2aaa4015, 0x44ca266b - }, - { - 0x2a154f3d, 0x906367cf, 0x2d94fcb3, 0xf7fad513, 0xf334d05a, - 0xfdc80352, 0x1f50d6e3 - } - }, - { - { - 0xc6897b, 0xe54bb8a3, 0x1da65b6a, 0xd827e69e, 0x72257689, - 0x416eec38, 0xc7104fc0 - }, - { - 0x96392e27, 0x527f610b, 0x497454a7, 0xa614bd82, 0x58108ae, - 0x4ea152e3, 0x29c4f77a - }, - { - 0x5889f5b1, 0xa6c42bcc, 0x7382fe08, 0x75c5610b, 0x5859953, - 0x3c9f3742, 0x3f4bf0fc - } - }, - { - { - 0xc3668c3e, 0x5155dcfc, 0x71bfe564, 0xe39ff4f7, 0x895302f0, - 0xa6502c9e, 0x74ddeb88 - }, - { - 0xd02b5ea6, 0xc712154a, 0xbecf0548, 0x22590a03, 0xbdf625d7, - 0x9587b865, 0xeb5a0860 - }, - { - 0x9a77f5d0, 0x31955c27, 0x8b66dae0, 0xc48ff600, 0xe96b3a7c, - 0xe21c6cc8, 0x4d9d86fe - } - } - }, - { - { - { - 0x754b5ac4, 0x256875aa, 0xd7b4110, 0x9b0b9d40, 0x8370c993, - 0xfa13c7a5, 0x2ae0e287 - }, - { - 0x9a3a5e5d, 0x52c03817, 0xd447fa6a, 0x646d7f15, 0xcea69aa0, - 0x715a28a8, 0x705673de - }, - { - 0x8085b380, 0x92b66008, 0xc34ae4f4, 0xa5e6d160, 0x3ea26d7, - 0x18b07d2d, 0xdf19dd4c - } - }, - { - { - 0xca47544, 0x91acd20a, 0xea044ee, 0xdda5a853, 0x104e5e22, - 0x63ee54cb, 0xf90b0758 - }, - { - 0x4b31956, 0x4d9f54d1, 0xdd20e812, 0x5069b16d, 0x1f112e78, - 0x217ef86d, 0x5953ff11 - }, - { - 0xc50a8fd9, 0x31513f6c, 0xc79e8d2c, 0x8c0d1850, 0x55a99307, - 0xd9519bcc, 0x5bca0264 - } - }, - { - { - 0xd7891fc4, 0x70599f69, 0xd5b9ba24, 0xf4be9ffa, 0x910e2905, - 0xbf91d3f4, 0x37304cf - }, - { - 0x5187e76a, 0xf687140f, 0x3a57eb11, 0xe9bb007b, 0xa350da00, - 0x540e4d84, 0xee0f9a0d - }, - { - 0xf31f601f, 0x2e9d842b, 0x112b54e, 0xf1e34337, 0xd44719f5, - 0xc253c3cc, 0xcc152610 - } - }, - { - { - 0xf1296ee7, 0x53ce51c5, 0xa6af3bd3, 0x2a6c2b97, 0x1a0a1157, - 0x39e8ef99, 0xe709ae06 - }, - { - 0xef39aaf8, 0xee43d47e, 0xb15fd9f6, 0xa3e21030, 0xa97757e9, - 0x84ffd3e9, 0x5e38d2da - }, - { - 0x739a35b, 0x2244e48f, 0x2b3a6d49, 0xfb4abc69, 0xf37fcc07, - 0xfa416def, 0xb162fd70 - } - }, - { - { - 0xe56c6377, 0x3ec380ce, 0x3c9694f8, 0xd6fbeb87, 0x4c24dfd5, - 0x6abaa20b, 0x398eecaa - }, - { - 0x2828fa95, 0x545ff8c5, 0x169ab416, 0xe7d77f72, 0x4c8b8cf7, - 0x9134912f, 0xe9842e60 - }, - { - 0xc220887c, 0x2a02a66d, 0x993ca14a, 0xcb6a0883, 0x4612adb2, - 0xf39ddc4b, 0x1a37a190 - } - }, - { - { - 0x3793fd4b, 0x31017fc4, 0x1586ceca, 0x430d5a58, 0x67f1e263, - 0xca0a9570, 0x4fe82eec - }, - { - 0x6b12939c, 0x46647873, 0x8aab087, 0xa9a3d93, 0x9609d3a4, - 0x7b5e181d, 0x8c9892bd - }, - { - 0x17230a11, 0xb0ddf149, 0x2ed5d24d, 0x6260fa8b, 0xf85faeb4, - 0x12b93da8, 0x1684b3a - } - }, - { - { - 0x9033c3a7, 0xc8aacc5, 0x476a0eb3, 0x58b9dacb, 0xddbcad9e, - 0xb52c6e5f, 0x441c848e - }, - { - 0x558f41d0, 0xafed34e6, 0x659c2051, 0x6f5a9e7b, 0x49eb0964, - 0x77a15362, 0x565a7b07 - }, - { - 0xda43e1f9, 0x3de3d08e, 0x6d94511a, 0x719d13d2, 0xa06999af, - 0xda0c4766, 0x475d24a0 - } - }, - { - { - 0x826b7da, 0xdae08939, 0x7c871066, 0xd92f67f1, 0xed9dd634, - 0xe445b37d, 0xea7c2df2 - }, - { - 0xcef05648, 0xac33c572, 0x6ef1b989, 0x8c3651a4, 0x1d5b647c, - 0xe7264702, 0xd26acbe0 - }, - { - 0xd909e60, 0x829c4ecc, 0xd1b34a98, 0xddd52734, 0x44aab607, - 0x5ad844e7, 0xcbbe9fae - } - }, - { - { - 0xdea20474, 0xe8d7fc15, 0x194cb6c2, 0xded0e69c, 0x364027f9, - 0x895ad3c0, 0x93d3258e - }, - { - 0xa74b772e, 0xfbfa962d, 0xa00acc2f, 0x3bf3d3eb, 0x99872d3e, - 0x9acf3ab4, 0x64a1c951 - }, - { - 0x139cfd40, 0xf9c97951, 0xe9f30676, 0x443362c, 0xbedd538d, - 0xc0e73975, 0xfed47eac - } - }, - { - { - 0x16f5e733, 0x9d7ac2ea, 0xb8620e6c, 0xb53bff0e, 0x693fdc3c, - 0xdb038c14, 0xe3eba19e - }, - { - 0x47b12b96, 0xf59f8c52, 0x3473a500, 0x777a92c2, 0x50e3d786, - 0x994b156a, 0xe67615ef - }, - { - 0xcefdafdf, 0x82fc1829, 0x39d72ee4, 0x37e4ea9b, 0xfcdf7019, - 0x85227447, 0x38fd558a - } - }, - { - { - 0x268b830e, 0x5ad1e981, 0xfd11dbc4, 0xe2a2aab5, 0xcd013f77, - 0x634cc7d8, 0xaf7ec144 - }, - { - 0xce93f410, 0x4350df9, 0x160d057e, 0x4607c2e6, 0xb1f77e1, - 0x84d0de69, 0xe97ae0b3 - }, - { - 0xf136fe00, 0x3157c8e0, 0x9f5b9df3, 0xc0076d65, 0xf12f6005, - 0xe96d505f, 0x58fa92e7 - } - }, - { - { - 0x64948fd0, 0x751c8978, 0x2863e95c, 0xeb58f915, 0xd1263f28, - 0x3f17d07, 0xc06890bd - }, - { - 0xcff56c0, 0x6a446649, 0xa583e7f9, 0x47136d19, 0x6b3402e7, - 0x7ea4ce5c, 0xce7da05 - }, - { - 0xe095f7ee, 0x92b8a6e1, 0x6dc855e9, 0x48ea3b35, 0x7753e7e5, - 0x6ec97491, 0x65de2b13 - } - }, - { - { - 0xa87b6336, 0xf8964337, 0xf20e52c5, 0x6cf8e915, 0x233c00c3, - 0x3987ef0, 0x964b888b - }, - { - 0xeb5a858d, 0x725765a1, 0x656920a2, 0x22aacb58, 0x4d9f543a, - 0x84cfb2c2, 0x32b92132 - }, - { - 0xb2c913e8, 0x1d32eba3, 0xf2b07e9e, 0xd4a3b32b, 0x79b446e0, - 0xdef67ed8, 0x569b4f9c - } - }, - { - { - 0xf003d90c, 0x7a1ac845, 0x6e92737f, 0xbbc56ba8, 0x828da298, - 0xb757e2b6, 0x561c99aa - }, - { - 0x303a83a9, 0x8cc53373, 0xfb12e6e0, 0x83f36179, 0xe8a75d00, - 0xab997791, 0x5ea9f71f - }, - { - 0x6bc4e0be, 0x83710a1c, 0xeba744da, 0x4fde671, 0x45fdbbba, - 0x45df5cc0, 0xd7b98711 - } - }, - { - { - 0x81c0260c, 0x7d540118, 0x615b84e1, 0xb8819276, 0x8f2a5439, - 0xb727ac49, 0xc7601481 - }, - { - 0xf97eb7eb, 0xe6d5821e, 0x51051263, 0xb950a80f, 0x31d757e9, - 0x6caaa47e, 0x4b70b66d - }, - { - 0xe95a3eb7, 0xe3583ae7, 0xbcc36861, 0x79a68e8b, 0xc2540149, - 0x5e4e649e, 0x3230cf5b - } - } - }, - { - { - { - 0xb31692d, 0x2d09a40b, 0xa69a189a, 0xe714197c, 0xb003182d, - 0xa26ca444, 0x50c2623c - }, - { - 0x53d133c3, 0x6814361a, 0x948e4e83, 0x4bd557cc, 0xc6ac556c, - 0x58c21fe8, 0xf6e1790c - }, - { - 0xe11535c8, 0xc04813cf, 0x2d6f7507, 0xc1ee5b3a, 0xe39c3a22, - 0xe2b4f52a, 0x47fcc016 - } - }, - { - { - 0x879d5be2, 0x8b62d286, 0x50cfed36, 0x256bfd1d, 0xb8cb1ea4, - 0xa4f23fe0, 0xb2ad2b2 - }, - { - 0xfad83ede, 0x5e7d91fb, 0xeae7285c, 0x71501141, 0xf45b5887, - 0xd1892aa8, 0xfdde2066 - }, - { - 0x82f7dab2, 0x7344e5bd, 0x4001b27a, 0x6d9b9d92, 0x55be5b2a, - 0xfef9c211, 0x18d51198 - } - }, - { - { - 0xe056d9f3, 0x61cfe045, 0x32de57bf, 0x6d8aeade, 0xc76e93cd, - 0xeee9c2b9, 0xac24c507 - }, - { - 0xb48562ec, 0xc9e6e547, 0xa7887a1d, 0xd0e82e6f, 0x75ffdc4b, - 0x82c40f96, 0xe0cae97d - }, - { - 0x72dd50c1, 0xe28de522, 0x6d37df2, 0xebd42b70, 0x2df05ac4, - 0x27a08176, 0x7efb5084 - } - }, - { - { - 0x5a5c724, 0xfafddd1, 0x801efb22, 0x8039d704, 0x78364d9b, - 0x151bcb72, 0x95b72ae0 - }, - { - 0x269f598e, 0xba373c93, 0xa658269c, 0xb23dd1c3, 0xf1ccf325, - 0x2b0d1aad, 0xba6de27a - }, - { - 0x862ae3fc, 0x4ef4d2f4, 0x81107687, 0x80bc066f, 0x9ce8809, - 0xc4936d61, 0x7282d212 - } - }, - { - { - 0x94dbe32a, 0x84f40184, 0x4b805bf2, 0x65f03325, 0x27502ab, - 0xa4b53c71, 0x6161f66e - }, - { - 0x950b8f33, 0x7c8ea3c1, 0x10cb2101, 0x23b0b48a, 0x917fd9ad, - 0x27a333dd, 0x1eef94f9 - }, - { - 0xf1949966, 0xeb56b0da, 0xc70637de, 0xaad552e0, 0x15d37f15, - 0x7429f70c, 0x66da9e42 - } - }, - { - { - 0x350210b, 0x4cd6cb7f, 0x55cdfc81, 0xfd50fca7, 0x42d75712, - 0xeff45cdf, 0xa4eedb02 - }, - { - 0xbb334055, 0xfddbe45c, 0xaca06b34, 0x1da71d3a, 0x1fe0c430, - 0xde4fc51b, 0x4b7e13d0 - }, - { - 0x2e1d81dd, 0x751d17f8, 0x20d559e3, 0x1cd279c7, 0x9a2f730, - 0x94e2324c, 0xe6ea9656 - } - }, - { - { - 0xb792f47b, 0x29179928, 0x8161d19f, 0x481d91f3, 0xa4319d47, - 0xf4ca99f1, 0xb25d0d3 - }, - { - 0x92546d34, 0xfc1a476a, 0x80adb2b3, 0xdc446d96, 0xd42d5bb7, - 0x509a240c, 0xb66dcc58 - }, - { - 0x87ff2384, 0x35d08287, 0xd337b49d, 0x2d93b061, 0x7e823c39, - 0xac3b9b54, 0x5ce10960 - } - }, - { - { - 0x70fdbccf, 0x4a8806d4, 0x27ae8703, 0x44cfb146, 0xf7e00be9, - 0x8fcb2af8, 0xc21861c4 - }, - { - 0x45baf1b9, 0xeecb6035, 0x65621a0c, 0xf5d4e64, 0xaedf3f99, - 0x530f0acd, 0x341c723d - }, - { - 0x36b863c, 0x20f32ec3, 0xfc1b33cc, 0x7e0e1d96, 0xc27e1808, - 0x9dc976fb, 0x3bc4b484 - } - }, - { - { - 0x8618881, 0xde09249e, 0x2287cf4f, 0x45cc0b7a, 0xadbc857c, - 0x4c2fa693, 0x46976717 - }, - { - 0x18dcaf19, 0xdb4bcc90, 0xc89b151f, 0xb9889f76, 0x34f5de22, - 0x8d97750f, 0xf00407cd - }, - { - 0x1aba05d6, 0xa08f1577, 0xff1193fd, 0x136b671e, 0xb2c9ff1c, - 0x6f0fdf1a, 0xa27c286 - } - }, - { - { - 0x7c06ab4, 0x72d3bbf7, 0xe1ab0c44, 0x256a1ba0, 0x5c6ba64f, - 0xcd5f4803, 0x57aaf4cd - }, - { - 0x8dc0e21, 0x765da917, 0xa7d3e0c3, 0xecb64d2e, 0x91ad77af, - 0x75486808, 0x787d1338 - }, - { - 0x5bae38e5, 0xee59a97, 0x1da861b3, 0x709e8388, 0x101d18d2, - 0x1f84f6d, 0x3a8133d2 - } - }, - { - { - 0xb25ba397, 0xc1c85439, 0x88d94072, 0x2086ac2d, 0xefd06c7a, - 0xaba9b118, 0xe0567334 - }, - { - 0x79a209f5, 0x2939afb3, 0xb475500b, 0x421cabbf, 0x322b68e3, - 0x9a2ce0aa, 0x3580f02b - }, - { - 0x67866c2d, 0x40818758, 0x9dbe7fb0, 0x4b08bb90, 0x64f1f41f, - 0xe895f6ac, 0xe69e238f - } - }, - { - { - 0xe6dba217, 0x15672eb9, 0x89a0e253, 0x748aa442, 0x9113917f, - 0x2f449830, 0x1dbd4544 - }, - { - 0x72affbf, 0x5f05feda, 0x759b05f9, 0x826ce07a, 0x54c1aadf, - 0x9e2485e2, 0x936ba343 - }, - { - 0x4148abf3, 0xabcafa54, 0xe735c430, 0x4e206bac, 0xf56f598d, - 0x8180c68c, 0x759d7ac1 - } - }, - { - { - 0x267b3965, 0xb2136fde, 0xdd12e380, 0x62f426af, 0xfa9d2de4, - 0x6a667869, 0xcfff467f - }, - { - 0x45face8b, 0xb262269d, 0x2d03468, 0x5ded5111, 0x21de6c6a, - 0x7305e4, 0x91dfc1ff - }, - { - 0x518a7742, 0x4cd11d1e, 0x6e1ca6b2, 0x24f5c034, 0x9b5e3fd1, - 0x674462da, 0xad1a815a - } - }, - { - { - 0xdf7db2f8, 0x5442f654, 0x75a0f75, 0x79ed8dd0, 0x321bae75, - 0x18ab19e0, 0x766f9ab - }, - { - 0x4dac4e46, 0xaa52daa6, 0xc1e9bc2f, 0x9f9a359b, 0xf1d483dc, - 0x49444f0, 0x558b6a3b - }, - { - 0xb5af8465, 0x8fbdf3ff, 0x1f4bae69, 0x4b6b95f0, 0x8d990470, - 0xde54cc0b, 0x81181174 - } - }, - { - { - 0xdbcee306, 0x6cf45089, 0xb37f77be, 0x2260f849, 0xd428fb69, - 0x109a88c6, 0xb7d13bc5 - }, - { - 0xd99dc936, 0x9ba55dad, 0x55622ac7, 0x8deb5ffd, 0xe3344af6, - 0xf18d707, 0xf020f556 - }, - { - 0x1d719460, 0x1576ee28, 0x9898e872, 0x2f5f01d0, 0x64261259, - 0xf2c8a10b, 0xab2ba5db - } - } - }, - { - { - { - 0xccbf6da6, 0x85549083, 0x4a3fd1e4, 0x4c972764, 0x9944e1d8, - 0x49abdadd, 0xfebc6cbd - }, - { - 0xdff350fa, 0xebe1db8f, 0x658ebb4e, 0xeb944b2f, 0x5ede38e1, - 0x267baf57, 0x858808a2 - }, - { - 0xc4111f7, 0xf9bccbe0, 0x67436c03, 0x6776c5c2, 0x987a88f4, - 0x16f15e2f, 0x5267075 - } - }, - { - { - 0xf58bf7bd, 0x374bd951, 0xfa5a890a, 0x45345da9, 0x26e1d1da, - 0x5c5835cb, 0x715ebefe - }, - { - 0xa246a2e0, 0x59d99b72, 0x3506c397, 0x2e0d5d4d, 0x21a68ff, - 0x582d2f75, 0xca34d33 - }, - { - 0xfc348b1a, 0xa056bff7, 0x9e56a26c, 0x144cd00d, 0x7415e07a, - 0xc2361671, 0xf976fc9d - } - }, - { - { - 0xcab095f8, 0xa268b0ac, 0xb3e8a14a, 0x7eab51f7, 0xe1babd02, - 0x3268ce08, 0xca3392ba - }, - { - 0x4d7f3ae0, 0x967a11b3, 0x517fd8b9, 0xd4c13e55, 0xf7021cb8, - 0xc0286303, 0xa35244e6 - }, - { - 0xe691e622, 0xe8c5556a, 0x9ff2c8c4, 0x4a6409d9, 0xc3c91a86, - 0x927d6b04, 0x46f39b96 - } - }, - { - { - 0xf38b3031, 0x884659f6, 0x71e0da79, 0xff2e928f, 0xc2f4058c, - 0x5f15b516, 0x9a3cc180 - }, - { - 0xd13fedc1, 0x93da8fa2, 0x19c53405, 0x5703d9c, 0x9fd4ee1f, - 0x52e45045, 0x3ffbc590 - }, - { - 0x4a76fefd, 0x70b3d1f, 0xa25a090b, 0x748b0ac6, 0x64075a82, - 0x254de8be, 0xa052e1aa - } - }, - { - { - 0xd1af77c5, 0x18dc6a96, 0xd71b1e35, 0x699b8fe9, 0x8194a82d, - 0x6cff699b, 0x9168d659 - }, - { - 0x5c65722a, 0xe63438a2, 0x79a6eb1, 0x83f672c3, 0xdec05db5, - 0x3a595ef4, 0x4d7f315c - }, - { - 0xa0219355, 0xfcc05d13, 0xeec89389, 0x5f52f306, 0xe82ebe2d, - 0x3cbefb60, 0xb4b60017 - } - }, - { - { - 0x37a39c09, 0xe0fb13b0, 0x68a84b24, 0x830cfec1, 0xc789852a, - 0xc05e0000, 0x2d68e7 - }, - { - 0x72bf019e, 0xcc5f7470, 0xee80c299, 0xf010886b, 0x4cb5e5f5, - 0x53b82264, 0x4850d7b1 - }, - { - 0x50f0737d, 0x66ae7208, 0xa1549040, 0xc311b6d0, 0xdb2ba56c, - 0xe6309fa4, 0xe152a783 - } - }, - { - { - 0xc970b96f, 0xdfc07f2e, 0xf3ff3ece, 0xb0f25f4e, 0x591ff32, - 0x96eac9b7, 0x1eeb8821 - }, - { - 0xf6648ad8, 0x5eaa81e4, 0x1fc3cfb3, 0xe94c8487, 0x96fd6a2f, - 0xfe64955e, 0xb513da74 - }, - { - 0xa589755c, 0x1e1ca99f, 0xa752789a, 0x191006ef, 0x31769e3, - 0x6951f079, 0x9500fb01 - } - }, - { - { - 0x17fd737, 0x6760788b, 0x78c3337e, 0x77682933, 0x7353327, - 0x7083fecd, 0xacb12c14 - }, - { - 0x174fb36d, 0xbd1310e3, 0xbf0685fc, 0x101904c1, 0x1ff53779, - 0x8d05ade2, 0xff8c8498 - }, - { - 0x29a6dda6, 0xbd275d18, 0xdbf32a7e, 0x4091c5f2, 0xc94fa7e3, - 0xdee37187, 0x590efae6 - } - }, - { - { - 0xcfffd39d, 0xc2b50ada, 0x6e7f6c43, 0xdc110853, 0x9028470b, - 0x7f11c7d6, 0xd327860c - }, - { - 0x3080a22a, 0xcdd260ce, 0xfb2de104, 0xa00ceff3, 0x9b753cad, - 0xe4cbf479, 0xebc1ddd6 - }, - { - 0x3ef3e12c, 0x885e847c, 0x2e5dad5e, 0xd73f8bff, 0xab9a6570, - 0xff1ae268, 0x96ecefa0 - } - }, - { - { - 0xc4294921, 0x9ed92561, 0xac9bac25, 0x5e4c2648, 0x81400045, - 0xa87fbd34, 0xe076f079 - }, - { - 0xf16beb3f, 0x6b2aee8c, 0x6ba34b6f, 0x6c75b9f9, 0xec0e78b8, - 0x20f1a5f8, 0xcfaa9ef2 - }, - { - 0xfe733cb, 0xc69870db, 0x82137cbb, 0xa58c209d, 0xb564921d, - 0x306151f1, 0x4cb88fe4 - } - }, - { - { - 0x2ba55df8, 0x61805ddd, 0x3f06f998, 0x86071a73, 0x70d17a53, - 0xf1bf7575, 0x645e7019 - }, - { - 0xe52c1912, 0xff1ae2da, 0xe382084c, 0xb0d43a11, 0x99ff08c9, - 0x643eca29, 0xf80f1c63 - }, - { - 0x1c49ae7b, 0xac3b3d4c, 0x2db44dc8, 0x8b416697, 0x3f378987, - 0x264a5067, 0x36b1b13d - } - }, - { - { - 0xc5206149, 0x4ab8cfc9, 0x5f53a81d, 0x56159ae4, 0x1582313a, - 0x121e39ef, 0xdec3bf95 - }, - { - 0x217b6f5b, 0x6fb596ec, 0x2ccf9b82, 0x93f0b878, 0x98aa59ab, - 0x2c37385f, 0x80b508c6 - }, - { - 0x6b618231, 0xb740fb28, 0xfc4b27aa, 0x985f08f6, 0x4d727a26, - 0xc06493a5, 0xefdc19f5 - } - }, - { - { - 0xd14d74b8, 0xc688114a, 0x1494a92c, 0x42c37c78, 0xfba49ac4, - 0xf378292d, 0xcc671dec - }, - { - 0x44de84fe, 0xe3bc5394, 0x30d21435, 0x87dccae2, 0xdd0e749, - 0xe07a997c, 0x1e63852e - }, - { - 0xad56e657, 0x506d23c4, 0x92658594, 0xab91d2be, 0xcfbca4cb, - 0x1e117aff, 0x9fb1b440 - } - }, - { - { - 0xa3cb61b1, 0xc8fa52bd, 0x6cc7fe55, 0x48c32d1, 0x31c6166, - 0x2c43f974, 0x8888b551 - }, - { - 0xa257e476, 0x1db565b9, 0xcf967eb5, 0x49e4c3db, 0x38def520, - 0xcaf9f134, 0x96f7a614 - }, - { - 0x75b6c5c5, 0x801a1083, 0xcf2948a2, 0x10f2c6bd, 0xdf946eff, - 0xa6973b04, 0x7f481c38 - } - }, - { - { - 0xb790e92e, 0x5e54f9b9, 0x671737a, 0x1df008f8, 0xa51ff3f5, - 0x1a62676c, 0x721d7956 - }, - { - 0xe6f89881, 0x12dbc63c, 0xc8321035, 0x6867eb67, 0x4c388b68, - 0x21986f40, 0x326f9a44 - }, - { - 0xc3af1728, 0xc5a99e00, 0xe88d03b, 0xb0f09edc, 0xfba903c1, - 0xed6b8c13, 0x1ee52721 - } - } - }, - { - { - { - 0xc8610b4c, 0xec456906, 0xf5c9b17a, 0xed136684, 0x24fdfd4c, - 0xd6f6db17, 0xcc77d7fc - }, - { - 0xfbe86bb4, 0x39b5eb6e, 0x62907aed, 0xebd4abb8, 0xfc6e67b8, - 0xab4854a0, 0xf4c99b9f - }, - { - 0xecb298fa, 0xc5f0d0d1, 0xa58ded60, 0x6b2d1c81, 0x315d2018, - 0xda1a83a9, 0xbfd7d63a - } - }, - { - { - 0x51f8e6b8, 0x963e3057, 0xe2ede58f, 0x7b8d1a9c, 0xf02ec55a, - 0x7e7d9e7c, 0xcdb21da4 - }, - { - 0x23641542, 0xd3ce4170, 0xfeeada56, 0x13089650, 0x1453811f, - 0xdc3e834d, 0x97a184ba - }, - { - 0xe8dc3087, 0x1580af4f, 0xd04500e, 0x80a613e8, 0x39c307f5, - 0x8380f6a7, 0xc0d20a80 - } - }, - { - { - 0x51cafa48, 0x53fff9bc, 0x87f5e70e, 0x5d856dd8, 0xe032eb10, - 0x34b30d47, 0x117e13b2 - }, - { - 0xc40e87a7, 0x282504e4, 0x67acaa88, 0x6a0999c1, 0xd38900d1, - 0x6350a7ca, 0xcb1e28ca - }, - { - 0x970479d3, 0x1df983ce, 0xc16b6989, 0x97ccb5b0, 0x1e41ccd9, - 0x3054409c, 0xfe8049af - } - }, - { - { - 0x8c561764, 0xa4468612, 0x762e54cb, 0x3a7b099e, 0xd2840cc5, - 0x997b0815, 0xcaf3fed6 - }, - { - 0x54286b1d, 0x12db95c9, 0xa5e48806, 0x3a8ee81f, 0x6440dc3a, - 0xcddd1139, 0x92dc7eca - }, - { - 0xf6a3f27b, 0x2653bbd5, 0x680c250, 0xc06af52, 0xe5e385e9, - 0x7460df70, 0xa5ab25da - } - }, - { - { - 0xcf2a3f91, 0xe3c1055d, 0x9235fa74, 0x9df9e586, 0xe139ab7c, - 0xb5868aae, 0xb1eb2dec - }, - { - 0x233b245b, 0xd6050dee, 0xa5bed83f, 0xa86397a0, 0x5e7f8e96, - 0x6001632c, 0x7edb6504 - }, - { - 0x34092c23, 0x71761de9, 0x13895912, 0x530885fb, 0x75d3d62f, - 0x62a7d52e, 0xff870573 - } - }, - { - { - 0x39f1952a, 0xe2cf068d, 0xb4f51263, 0x2ddad778, 0xec301b43, - 0x708874af, 0xb0a2a43 - }, - { - 0xcbf75cb9, 0x75ddc321, 0x8ccb0cd0, 0xe2dc7e8, 0xb0874e7e, - 0x17368e5f, 0xe3686ad5 - }, - { - 0x4cf571bf, 0xb5aa047d, 0x75ae9555, 0x97772a89, 0x8dc925b7, - 0x2b414f9d, 0x79ae24ef - } - }, - { - { - 0xf0fcaff, 0x78f06a2c, 0x4a79e606, 0x15379f42, 0x939f8758, - 0x54d93d, 0x5750c936 - }, - { - 0xe044c702, 0xa6c2e70f, 0x99390798, 0xc968d1be, 0xcb2ed2b2, - 0x2d8d21a7, 0xf6afda2b - }, - { - 0x2dc5ca88, 0xb78b1f78, 0x5830db30, 0x26266208, 0x98bbe234, - 0xbaf3b28, 0xa013065a - } - }, - { - { - 0xcf7eb31c, 0x67141025, 0x9c23e6cc, 0x7120490f, 0xd28f48dc, - 0xff609b0a, 0x7e593268 - }, - { - 0x67cff402, 0xedc6e765, 0x68b48021, 0x4ab8b730, 0x20e1d852, - 0x372d0440, 0x2245ee9e - }, - { - 0x5401149e, 0x77725516, 0xfa54bc95, 0xe9b3b0fd, 0x7f7ba7e3, - 0x5fd345f1, 0x250aad23 - } - }, - { - { - 0x2199bae2, 0xc5a04d57, 0x259f9b41, 0x7c940850, 0x6aecac4a, - 0x172de000, 0x78aa4176 - }, - { - 0x1fac9830, 0xb4638cf7, 0x7fef1f01, 0x5b7dc25d, 0x5988ef7a, - 0x1eae7a3a, 0xb4dee261 - }, - { - 0x60b4a471, 0x742cf191, 0xadf57ed3, 0xc06b582c, 0x90a1ba8c, - 0x420ec35d, 0x7f1e2266 - } - }, - { - { - 0x4502a0bc, 0xce506f3c, 0x4920c050, 0x8202efe4, 0x990b1102, - 0x4b77cbb8, 0x748346a9 - }, - { - 0x4523383, 0xe68b3055, 0xcf6c7fa7, 0xc8c8b25a, 0x352e5d0b, - 0x15e6edb, 0x890af7ee - }, - { - 0xd9d04eb, 0x9b1b3b63, 0x9dcfbe8c, 0x5dfe5410, 0xb376da70, - 0xfcf686c, 0x62bf2941 - } - }, - { - { - 0x906deea6, 0x97ff66, 0x3da64a22, 0xec8190d4, 0xa2230db0, - 0xe31cccea, 0x54be57f9 - }, - { - 0x19d007ba, 0xcd66d4e5, 0x66ef8d02, 0x3e1b92bb, 0xb75912d3, - 0x7c436707, 0xcfbda11 - }, - { - 0xb7f02a4d, 0x70b973d0, 0xa3c00c6e, 0x6a2c4762, 0xdaf96aa3, - 0x3105e4dd, 0xecf6a3d1 - } - }, - { - { - 0xa864bac3, 0x2ed04eb3, 0x67f37746, 0x9a45f2b, 0x1e408363, - 0x57eaf5a4, 0x9223c7cc - }, - { - 0x1c96599a, 0x16bb0008, 0x70c8dc18, 0xa1afbe49, 0x87cee36d, - 0x9d536831, 0x6886451b - }, - { - 0xbbfab6cb, 0x81aa5641, 0xea3f6a27, 0xefe9ab23, 0x969bd556, - 0x32a374ae, 0x48298221 - } - }, - { - { - 0x864a0255, 0x1b1a4d0b, 0x51e23ee, 0xab0aa247, 0x51414e80, - 0xfaa365a9, 0xe13e783a - }, - { - 0xfa113767, 0xc416672e, 0xa0774869, 0x8f34226f, 0x582966c9, - 0x49cf80bd, 0x31d4db11 - }, - { - 0x2ccfcc7f, 0x2b0949c6, 0x15575955, 0x2d9bb982, 0x8e316f03, - 0x7577843d, 0xc2447eb3 - } - }, - { - { - 0xa6a15875, 0xd19f599f, 0x64a1d24c, 0x91141f70, 0x1dc4ccb0, - 0x41c0666e, 0x4cd2b6a9 - }, - { - 0x450f7df0, 0xf14702c7, 0xed95d5e4, 0x1b561b0a, 0x567c2d01, - 0x60c6888a, 0xd10f9731 - }, - { - 0x2af7a589, 0xd9739906, 0xdec08807, 0x81a50320, 0xfe6945d, - 0x77b29505, 0xf0704ae9 - } - }, - { - { - 0xd4dad002, 0x1ccda279, 0x9400032f, 0xacb506a, 0x3b4a214c, - 0x930e8fd4, 0xd86d8a6e - }, - { - 0xee600edf, 0xb049e8ca, 0x5571fa6f, 0x8f5d38be, 0xf5c3b2e1, - 0x4c6b1234, 0x620d6528 - }, - { - 0xe71897e1, 0x1eaf5402, 0xd0effdd6, 0x9079571c, 0x3b05bad7, - 0xa2068b92, 0x15b43c14 - } - } - }, - { - { - { - 0x7cb37d26, 0x80900c1c, 0xb490f139, 0xf37dcdbd, 0x6d8b05a1, - 0x6f07de13, 0x76a41122 - }, - { - 0xe1298b1e, 0x35b64a88, 0xb5e52ebe, 0xbfd0a917, 0xc4dbe6fb, - 0xa62a506a, 0x121ad91c - }, - { - 0x267df67, 0x4c305b46, 0x9b86cc2b, 0x4de89759, 0x61187e0f, - 0xb5ab5dbf, 0xf62a8420 - } - }, - { - { - 0xbdf32f16, 0x3bbac917, 0x585ac88, 0x1774afea, 0xbe8a620f, - 0xa2836e44, 0x3b271bad - }, - { - 0x60efae93, 0x9c537545, 0xb78a7375, 0x44b55b18, 0x29e5391b, - 0xc792b787, 0x2067eab9 - }, - { - 0x9a4921ac, 0x14fcb9b3, 0xc439637, 0x72aeb7ae, 0xb51c694a, - 0xe232645e, 0x55700bc5 - } - }, - { - { - 0xdd36bdf8, 0x6559a2f4, 0x17bcc5a6, 0x49775289, 0x2778a59d, - 0xdf43411d, 0xaec71f6c - }, - { - 0x7107af07, 0x448ddf31, 0x44fd6230, 0xc7b7226c, 0x30847207, - 0xc0e51c63, 0xe48fe819 - }, - { - 0x570948db, 0xa5a26961, 0xe1487fb9, 0x8655d56a, 0x36aeeaa6, - 0xe742ff4, 0xe4e94850 - } - }, - { - { - 0xf39ef31b, 0xe883b310, 0x866df506, 0x790a9003, 0x91f20227, - 0xb58c52f8, 0xbcf4acf2 - }, - { - 0xe6660df0, 0x90c4603a, 0x9bc40f37, 0xad2c1d6, 0xc6332665, - 0x2d031daa, 0x58fd1667 - }, - { - 0x92bb652b, 0xbba31f95, 0x7a0c4545, 0x7adf8bf, 0x4b025da6, - 0x7269638f, 0x7877b81c - } - }, - { - { - 0x466a6de5, 0xab158058, 0x671abbec, 0x37000e7e, 0x81111fe7, - 0x1af2313f, 0x8722aa3a - }, - { - 0xb3332bbd, 0x3698f145, 0x8fbe3240, 0x356ceadc, 0xd4ee54a8, - 0x7533428a, 0xaea4d42a - }, - { - 0x52282d7e, 0x1b49beb3, 0xb2fa5e3d, 0x261d251a, 0xd402b070, - 0xc707dd08, 0x28e0e3d0 - } - }, - { - { - 0x23fd94ff, 0x38bccd99, 0x65b7204e, 0x33364c12, 0x7b6048d8, - 0x902a3909, 0x858dd2ee - }, - { - 0xa4a775cf, 0x2688e936, 0xf6cb6b6, 0x44c82253, 0xcc42c987, - 0x5f9ba60f, 0x69922097 - }, - { - 0xe629e57d, 0xdf49981c, 0xe11c40cf, 0x616537e7, 0xa3776795, - 0x2603826d, 0x9796b939 - } - }, - { - { - 0x27da5273, 0xd9c45590, 0xb6c470f2, 0xcd5ca754, 0xcbd0884f, - 0xf1e9896e, 0x86a5d035 - }, - { - 0x5346c8d9, 0xb0f93cd0, 0xaa494946, 0xd6f5fb9b, 0x7c5de8cc, - 0x4086630f, 0x247b6563 - }, - { - 0x5c5b40a8, 0x1fa8bce3, 0x627662a4, 0xe8ba3527, 0xf02689da, - 0xf6bd3b4d, 0x8401f368 - } - }, - { - { - 0x76c7f60a, 0x8808c754, 0x269fbaf4, 0x40293d7, 0x5a4379aa, - 0xb4ec188b, 0xa80dea66 - }, - { - 0x918776cc, 0xb077bfb3, 0xb9ce4e90, 0x9815b18b, 0x73d28542, - 0x8c16859d, 0xf1fb0d61 - }, - { - 0x958b6946, 0xa29cc2db, 0x9e814dcf, 0xa1910120, 0xae78fc0c, - 0x1bd276b, 0x1d7d3a22 - } - }, - { - { - 0x6a6bb8f7, 0x3ca4b8c0, 0x8c113ef8, 0x6bc72bd2, 0x3dd9d3cc, - 0x18a4a6e2, 0x23a732cb - }, - { - 0x3c161f87, 0x98c99bb3, 0xffae487d, 0x5ae86e87, 0x2826026f, - 0x4986da2c, 0x1f1631a8 - }, - { - 0x1f550ef6, 0xbf5819ee, 0x859239de, 0x4f4f46d7, 0xa5d914a, - 0xe79f9071, 0xf25911fe - } - }, - { - { - 0xa45c39ad, 0xa1b53baa, 0xfa36c7fa, 0xdae9ac73, 0x56a2a371, - 0xf7a92d87, 0xb5c23e13 - }, - { - 0xa3dd2a89, 0x2af2f378, 0x14280997, 0x61471d89, 0x77f8d583, - 0xd7e94ea4, 0x5eb2dd41 - }, - { - 0xaa564e4c, 0x23daf1d3, 0xe1dcb103, 0xb4f0141c, 0x94a9253b, - 0x7c1a535a, 0xf6c1137a - } - }, - { - { - 0xe8d6b11b, 0x3cc7f67a, 0x53372481, 0xce6aa79f, 0xcaa9f94c, - 0xd3d632cd, 0x9ba99593 - }, - { - 0x1369d373, 0xaf8fb321, 0xf8375ad1, 0xdc3b9fa1, 0x37ac3f60, - 0x1ebe391d, 0xa58a1866 - }, - { - 0x8f05e3f1, 0x96b26fba, 0xf9aa75d9, 0xdf11f86c, 0xe5feb3fb, - 0xa773abc2, 0x7cee037 - } - }, - { - { - 0xc1cde85f, 0x5feb119d, 0x56603f7, 0x992ae372, 0x26de04f, - 0x64fe977c, 0x27d4ad6d - }, - { - 0xf5465ac6, 0x8e035af1, 0x4335b5b7, 0xbf1c9dcd, 0x1572b22c, - 0xbb7c1f39, 0x3d29b187 - }, - { - 0xe43221d7, 0x73361ad2, 0x73b8af20, 0xcf62b4dd, 0x69312b57, - 0x9f182982, 0x58eae892 - } - }, - { - { - 0x7bc464ca, 0x3db07f45, 0x34057677, 0xdc0a786, 0xb1a9066f, - 0x8e5992f3, 0x3625c069 - }, - { - 0xb6b3d3b, 0xc17e9621, 0x4511b93d, 0xe23f49dc, 0x4ec6755b, - 0x9b3d621a, 0xb9e617e2 - }, - { - 0x5f17fe01, 0x393a90f9, 0x78e6c394, 0x875f1ac8, 0x395c3f2b, - 0x16ba1155, 0xd54dd8ea - } - }, - { - { - 0xbe452543, 0x6601fe69, 0x9ba9c9ab, 0x727b5414, 0x87427abc, - 0x6faacf26, 0x8d418f40 - }, - { - 0x9bc5ca98, 0xf9f41186, 0x8481361b, 0x6f5423c8, 0x28b8dcd2, - 0xffeaf2df, 0xd59f466b - }, - { - 0xa981b2ff, 0xc5a19c9, 0xf2023a30, 0x70860000, 0xe72b2bac, - 0xa23ae440, 0x2e77c30 - } - }, - { - { - 0x416327c5, 0x9188178b, 0x2cd7d836, 0x2f67f288, 0xe0629145, - 0x4f97da07, 0x9b8e412c - }, - { - 0x40010c55, 0x39acd3ac, 0xe17b53d7, 0xb51a9885, 0x2987a25a, - 0x21511e0f, 0xacee90b8 - }, - { - 0x3677c0e7, 0x9faba80b, 0xb59971a3, 0xc58b19e1, 0xfc4e27fd, - 0x56ef04a3, 0xbfabe7fb - } - } - }, - { - { - { - 0xd94dbd28, 0x50332e09, 0x37bedd5d, 0x8e9311c, 0x272039f3, - 0x43a330d0, 0xc984fec - }, - { - 0xcf7992b2, 0xfb17be49, 0x71ef542a, 0x544fbc5f, 0x58ba668d, - 0x12e599df, 0xcaffefb1 - }, - { - 0x6589daf5, 0x9648e7fd, 0xfe81ff11, 0x6df36656, 0x89e372d, - 0x82588a96, 0x140f671a - } - }, - { - { - 0x9ed6ba45, 0xf98f8e2, 0xa8723e6f, 0x5a463ec3, 0x3b05b375, - 0x2686809a, 0x41def6a4 - }, - { - 0x5975614f, 0x3e01269a, 0x1b5b307f, 0x39ae62bf, 0x6492b21e, - 0xbff0535f, 0xbacc8305 - }, - { - 0xdc733c7f, 0x8202a12c, 0xa15b4404, 0x931469ec, 0x671be66b, - 0x97eaee8c, 0x8398e852 - } - }, - { - { - 0xad3f031c, 0x694f57ff, 0xa7aafc0e, 0xd96b399c, 0xe83f1709, - 0x79172c5, 0xa375df0d - }, - { - 0x4cecd887, 0x234adf46, 0xf1575754, 0x2b88310f, 0xbbfd74c7, - 0x3e623457, 0x3b93412f - }, - { - 0xe26b20dd, 0xcd4fb93a, 0x8cc4d2f8, 0x904431bc, 0x3fd66b10, - 0x7e72a053, 0x3d051f7d - } - }, - { - { - 0x11c86228, 0x5746e014, 0x7693a725, 0x4f7861bf, 0x31c55326, - 0xfac64555, 0x85e717b7 - }, - { - 0x359a35f2, 0x8f12d5ce, 0x6d07a39b, 0x665caab4, 0xe06866c4, - 0xdaf9f5c2, 0x6c125d2 - }, - { - 0xebb3fa36, 0xd909cb74, 0x153adef0, 0x4ed94aa7, 0x817916e5, - 0x3e047c7f, 0x1f5a8110 - } - }, - { - { - 0x60769a7d, 0x71a8e79f, 0x9797adc1, 0x487cbcf0, 0xe0439cf6, - 0x908e54f1, 0xde8010df - }, - { - 0xc5b1b884, 0x4bf3bae2, 0x8ccf2776, 0x800aac06, 0x16e741cc, - 0x9239a2b5, 0xc16c1745 - }, - { - 0xd40bc5ad, 0xa887e6e8, 0x6e7472b5, 0x4bd91f4a, 0xec34143f, - 0x255220d1, 0xc8773f81 - } - }, - { - { - 0x4dd7b93a, 0xe7ce07a0, 0x9cf087f, 0x6ff4917, 0x96160b6e, - 0xb324ee26, 0x1c9cf863 - }, - { - 0xad426acf, 0xf114e1a6, 0x222c59e5, 0x1a5aaa00, 0x56be3bf, - 0x549c96f, 0xc1ac5c7 - }, - { - 0xb7233c60, 0x2b3c9e00, 0x814afb5f, 0xfa045fd9, 0xba20e9f9, - 0x72982fa4, 0x6d4f791e - } - }, - { - { - 0x7fa371d7, 0x3fb5dfee, 0xb91ba731, 0x369518d9, 0xf1d5dd20, - 0xf9804a09, 0x9fd566df - }, - { - 0x1cd29ffc, 0x457dd3f3, 0x50e939d5, 0x1f5048e, 0xf1ac5dc1, - 0x91368ef, 0x64cc4ec1 - }, - { - 0xaa22040d, 0x5c102367, 0x8df90aec, 0x3ea954c5, 0x15e20350, - 0x3d80a9b3, 0xb0f09d0c - } - }, - { - { - 0xfc380fb2, 0x5bd06547, 0x5ce0e102, 0xcaa4afcc, 0x97a04370, - 0x5232ee8c, 0x527a68c5 - }, - { - 0xfb1a337a, 0xa63e920, 0x7df3bf0c, 0xd54b5ebb, 0x28bf7454, - 0xca02a1f2, 0x2dbea2e - }, - { - 0x92aa639b, 0xd83fd940, 0x654484e2, 0x8a6f01ac, 0xe10078ab, - 0x5f6cebe8, 0xad1b9dc1 - } - }, - { - { - 0x202ba6a1, 0x731b3268, 0x8219f588, 0x910ac0de, 0x7c88873a, - 0x9cbe0dd9, 0xff8b278b - }, - { - 0x5b46c808, 0x79cf7f8e, 0x97611300, 0x1563b90c, 0x7cf1484e, - 0xb61b0c7f, 0xf463e36d - }, - { - 0xf69fca7b, 0x59425354, 0x80b4ee54, 0xd101124c, 0x200562d9, - 0xfc329df9, 0xb297065f - } - }, - { - { - 0x5a69dad8, 0x9fe851cb, 0x6c4a5c37, 0xad90c446, 0x5eb12890, - 0x52fbb50c, 0xed93d41c - }, - { - 0xbed25b3e, 0x13cad92b, 0x81d0bcd9, 0x8342ade5, 0xee01ff1c, - 0xfa82789f, 0x2cc50348 - }, - { - 0xa7624eb3, 0x77da98cc, 0x5c5933e1, 0x705fc435, 0x9cc57bf8, - 0x4f4e360f, 0xaa80f6e7 - } - }, - { - { - 0x3e3769a1, 0x656df819, 0xd9f9c099, 0xe5b118a6, 0xb0dce643, - 0xf06e3902, 0xc00d793a - }, - { - 0x107edf35, 0xd2572864, 0x450a86ad, 0x62996942, 0xc0302bcd, - 0xad8a5468, 0x8f7678dc - }, - { - 0x4dd3e96, 0xefb2b68, 0xeba40c20, 0x75d4cbba, 0xaf4a0d9c, - 0x1f83bc0, 0xce20f85f - } - }, - { - { - 0x6213d726, 0xfee79499, 0xaec0b50b, 0xb165ef58, 0x4ee7d419, - 0x35c22073, 0xd71599e1 - }, - { - 0xc594144, 0xa2211f60, 0xeb25b6f6, 0x4024403d, 0x3dc2a00b, - 0xcdd2cdf3, 0x5fa62892 - }, - { - 0x1fb2ff60, 0x95630b6d, 0x44d95e9e, 0xaaa28460, 0x6976d3a0, - 0xb6de5c2d, 0xa13d2d7 - } - }, - { - { - 0xd6ade2ea, 0x3f263c29, 0x2fa6fa80, 0xcf9e7c15, 0x2748dc7a, - 0xd08d1438, 0x5174056f - }, - { - 0x7e4c97ed, 0xb8450dc2, 0xeee323bf, 0xff5a356f, 0x4946b166, - 0x2315c93e, 0x8c151329 - }, - { - 0x2b3b62fc, 0xcf10ade6, 0xfeace3af, 0xdd71fdf, 0x76e79c49, - 0x7395865a, 0x86ce368e - } - }, - { - { - 0x27e7e193, 0xe72e9e5b, 0x4ebe11b4, 0x1d326838, 0xa9611be4, - 0x7bee40e8, 0x47134821 - }, - { - 0xf8cac588, 0xdf76a2b7, 0xddeb16ee, 0x2c6ca62c, 0xdb539339, - 0x66b2bf87, 0xd1ed023c - }, - { - 0x4a41b9ad, 0xe50c5b55, 0xa9410989, 0x93144e90, 0x1ab7e4a3, - 0xb90af3c4, 0xb2da5451 - } - }, - { - { - 0x20c5b132, 0xeebe02b5, 0xce79dfea, 0x7a053d68, 0xd5a7e8f4, - 0xe1cf8b98, 0xf46039 - }, - { - 0xe15fe706, 0x3858c3aa, 0xec010574, 0x6acf1ab1, 0x93365980, - 0xf488b24e, 0xc4cd34a3 - }, - { - 0x44bd3cbb, 0x3ac89858, 0x1e5730d7, 0xc483429, 0xe82df321, - 0xcba5e4c0, 0x3b469832 - } - } - }, - { - { - { - 0xfea7b66f, 0x7d1e1d68, 0x364919dc, 0x8c2c5e55, 0x5e4b3ec4, - 0x57176e43, 0x3c718a2a - }, - { - 0x27025a4d, 0xf2c78f0d, 0x642517bf, 0x817ecd46, 0x50e8160d, - 0x26308af, 0x9f7d5c09 - }, - { - 0xd0ca4390, 0x7d0cbb0c, 0x4043585, 0x8bdc73cf, 0xbfee70dc, - 0x85d504bc, 0xcb1a3b86 - } - }, - { - { - 0xd9caf57, 0xbdea9a9d, 0x2623b6d4, 0x89a61ceb, 0x27828911, - 0x2dcfee12, 0xaa147936 - }, - { - 0xc0c47a94, 0x2b72effe, 0x2e7833af, 0x10206c50, 0x958807d4, - 0xf518f46e, 0x64034603 - }, - { - 0xaf9d2af2, 0x95d61a38, 0x6f777d20, 0xab3ef6f8, 0x595d708f, - 0x3b2aaab3, 0xfed67f0f - } - }, - { - { - 0x3bdf5bdb, 0x1dd7b13c, 0x1f906686, 0x3b378a2f, 0x1ceece66, - 0x184b1749, 0x5d7e14c8 - }, - { - 0x5a143631, 0x2edc7c84, 0xfb069144, 0x293f2886, 0x82f394c4, - 0xbd2aa5d8, 0xc88ef927 - }, - { - 0xc7303ac7, 0xc9606549, 0xb76919ee, 0xbb308dbd, 0xad3597cf, - 0x7b276075, 0xca277dac - } - }, - { - { - 0x24846ee8, 0x89ac597b, 0xf5fd528a, 0x4fef1b9a, 0x69c0fe40, - 0xe424f8a0, 0x6c943895 - }, - { - 0x46aad42e, 0xd63e0a, 0x5bcafd7d, 0xd742b33d, 0xf912973, - 0xb681af83, 0x6dbe8fd4 - }, - { - 0xe9740515, 0xbd06702c, 0xf1427749, 0xf88422b1, 0x9b940553, - 0xcc5564d2, 0x7209415b - } - }, - { - { - 0xcb7bb9f5, 0xce36be1c, 0x2b62ad19, 0xe60382d4, 0x87382a59, - 0x933c7886, 0xb4a616e0 - }, - { - 0xf4a7afb5, 0x315d0c52, 0x55a46d3d, 0x66cde858, 0xeb8ea976, - 0xbaf74b41, 0x36f454c - }, - { - 0xb4bae38a, 0x75358ec0, 0x38ab426b, 0xfce9ba1f, 0xea94acde, - 0x6346ca25, 0x36a4099e - } - }, - { - { - 0x151b78fe, 0x4deaf82f, 0xd2602383, 0xdc7e9a00, 0xa8d5efd8, - 0xcef8d19b, 0x93ada37a - }, - { - 0x959d0fd9, 0x29406d61, 0x20c42ec4, 0x80bcf01c, 0x6fb95d92, - 0x3b07d51a, 0x196e3dc8 - }, - { - 0x8c408f74, 0x78b8bf64, 0x90589703, 0x1fb235, 0xa5873565, - 0x5e744a28, 0xa2c8b1e4 - } - }, - { - { - 0x70a181a, 0x8ff250b2, 0x5187a297, 0xc2a056b3, 0xce48b1b7, - 0x7c50fc49, 0x327d5934 - }, - { - 0x6dc3612f, 0x36f9d279, 0x8ab74754, 0x39e656c1, 0xcac98284, - 0xa39976b7, 0x99ff2bac - }, - { - 0xab901a92, 0xcb0b9a7, 0x2f8743b3, 0xf84457d5, 0x2b65e072, - 0x966ccca, 0xb2795d16 - } - }, - { - { - 0x891dc9b7, 0x2d9f634c, 0x4ec65dbc, 0xb8cb285c, 0xee4c3ff2, - 0x3aec8426, 0x909804d8 - }, - { - 0x53640c2b, 0xd65b248c, 0xbbd74385, 0x70260ccc, 0xcbda5775, - 0xc0dea7d, 0x847aeaff - }, - { - 0x84699c79, 0xa01d704f, 0x7a7f8781, 0x23a522d1, 0xaac79c1a, - 0x44353fd8, 0xc219964b - } - }, - { - { - 0xd25537, 0xe97e5ec2, 0x7a39e877, 0xeef4c01, 0x54cbf4ce, - 0x74cd0cff, 0x9191a27f - }, - { - 0xc77e15e5, 0x27cdf83a, 0xf77e794e, 0xad71220e, 0x471a9ec, - 0xe650f5ad, 0xdaeab2de - }, - { - 0xdd2ec549, 0x7f116253, 0x872df689, 0x85ce57a, 0x2463bd02, - 0xcfe57b10, 0xd2c05255 - } - }, - { - { - 0x699f3c9b, 0xb41e802a, 0x6a74f31c, 0x64e472d, 0xb114d84e, - 0xb5a0fb3d, 0x29a534f4 - }, - { - 0x63adf63e, 0xadc51ea8, 0x5b6b6392, 0xfc41b52c, 0x7bf74681, - 0xcc230f47, 0x3f14916 - }, - { - 0xf06614, 0xe6cad67a, 0x813b53af, 0xf11df106, 0xf9d9f7a6, - 0xf29d7596, 0x8a3d76e0 - } - }, - { - { - 0x53545db3, 0x3db6d72d, 0x1f8211c3, 0x131b86ce, 0xf1e12cb3, - 0xff6938be, 0xfa291fea - }, - { - 0x6e963e7f, 0xf774224c, 0xd193a84b, 0x6ff19025, 0x2e1eae1c, - 0x5adb272, 0xf48fb280 - }, - { - 0xe44e05d4, 0x214a18cc, 0xe873d8d0, 0x2358bf59, 0xcc7711ed, - 0x77ed8e8e, 0x9ae7f931 - } - }, - { - { - 0x9baf6ced, 0xe30ab57e, 0x59f08b9d, 0xde48f788, 0xe0adb226, - 0xa0ba9a95, 0xd143a4e7 - }, - { - 0x96e4887c, 0xa0f9c568, 0x3fe5e736, 0x8b2ec227, 0x56079963, - 0xe858b1c0, 0x9103e3c0 - }, - { - 0x982677fc, 0xd9000fd6, 0xdde45aeb, 0x6f6ae562, 0x3f38c186, - 0xe45c1c1a, 0xfc6c59a0 - } - }, - { - { - 0x9df82375, 0xd6cacc3, 0xd39a20c0, 0x415ad408, 0xa80554ce, - 0x2ecbf04a, 0x98d479cb - }, - { - 0xba1091ac, 0x429dd24a, 0xdde7a530, 0x9e870448, 0x278dd853, - 0xaeff9c1b, 0x98b2f4a6 - }, - { - 0xcd959f29, 0x559a08a6, 0x5e059818, 0x10ca687c, 0xf06893e2, - 0x30915ff6, 0x221f3bbc - } - }, - { - { - 0xc8339167, 0xf730037d, 0xf0cf159c, 0x28334f8b, 0xa9fd3b97, - 0xc27a21a5, 0x10505e4c - }, - { - 0x66e59064, 0xe1eaeb0c, 0x67d2cad, 0x4d687e7, 0x51d2b20e, - 0xcba62bdf, 0xaf26e84f - }, - { - 0x55a189d1, 0xf6d6700b, 0xd81d5eb3, 0x440e844, 0xbb78b3a0, - 0x3bd9b61e, 0x31c66b14 - } - }, - { - { - 0x44923216, 0xfa99151f, 0x6fb3c7b3, 0xede09d2e, 0x4ec5617, - 0xcfa4bace, 0xe111dfb5 - }, - { - 0xf44f4185, 0x6d605a6f, 0xf10fb99f, 0x17a7396, 0x13a24a18, - 0x296cb5bd, 0x4595c6e4 - }, - { - 0x9d8b0dd0, 0x865f781e, 0xeb30dedf, 0x3161712f, 0xd9e8900b, - 0x219a0949, 0xbb8d2eb2 - } - } - }, - { - { - { - 0xc09c28a9, 0x1697578f, 0xab3d3bc8, 0x12ae89fc, 0xb2a8ec7, - 0xcbf7e712, 0x6826d87 - }, - { - 0x729b3336, 0xff05f791, 0xe5798f5e, 0x47224ffb, 0x79832478, - 0x95937348, 0x3c6b7e4d - }, - { - 0x8ab6aad8, 0x53d02c47, 0x82938c2b, 0x1a687e77, 0xf8888c91, - 0xa3870c6c, 0xcdcbde38 - } - }, - { - { - 0x7ba018de, 0x4c6574cc, 0xb8f44e8, 0xa55438f5, 0x4e451ade, - 0x9e0cfd84, 0xfd5b2aa4 - }, - { - 0xef55ac4a, 0x18989f7d, 0xcbd66f39, 0x116e95b3, 0x26daf990, - 0x44d67206, 0x9789cbf0 - }, - { - 0x395c5594, 0x6a99ae90, 0x8865737f, 0x50af8860, 0x93b69e04, - 0x84e6f684, 0x7311be6a - } - }, - { - { - 0xcf5cd341, 0x4efc70b4, 0x9ea3b42f, 0x6709538d, 0xc9f7b08a, - 0x701d3b4b, 0x3a06893f - }, - { - 0x211e404d, 0xd5586202, 0x416f9909, 0xa485b87, 0x3b7d0fe8, - 0x17464182, 0xf52441eb - }, - { - 0x500f0bcd, 0x566972cb, 0x3c18299c, 0xdb1158fa, 0x5b4de2a4, - 0x706703d4, 0x57abaaa7 - } - }, - { - { - 0x7b652a4, 0x1ab9999c, 0xf68595b9, 0x2778982e, 0x89a054b8, - 0xd5a79315, 0x8b514b5e - }, - { - 0xdcecbd05, 0x52f9a74a, 0xd7e2ac9e, 0x24ce651b, 0x83ac1bca, - 0x747463c, 0xebc75535 - }, - { - 0xb4513ad7, 0x895abb5b, 0xcd8b845, 0xe4d58d1c, 0x219fad3a, - 0x4a688224, 0xa21a13c7 - } - }, - { - { - 0x61f896ef, 0x6cb9927, 0x93db9d42, 0xc5c76458, 0x83c1c89e, - 0x5eee3af5, 0xbd82cdae - }, - { - 0x2993461f, 0xf7070393, 0x8ff76bb, 0x8e2280c5, 0x8445990b, - 0x47fe1033, 0xdc786abf - }, - { - 0xc996bd6d, 0xf80c2ab7, 0x540af319, 0x76630cfa, 0xf6e8fed9, - 0x6474c1fe, 0xf52b2375 - } - }, - { - { - 0x44cd98e8, 0x8fab342b, 0x2e6faa95, 0xa2b89dd2, 0x40d63b80, - 0x42f4acd8, 0x70a1c6cc - }, - { - 0xad99009a, 0xd4d39ebf, 0xec4a92db, 0x53ffdf86, 0xc83854bf, - 0x47f199c1, 0x6b2a920a - }, - { - 0x78b93693, 0xfd9cd921, 0xd295b9d4, 0x2c3a2c77, 0xff54faa2, - 0x1417a7ed, 0x84289ca9 - } - }, - { - { - 0x5123b01f, 0xdd2dd6dd, 0x1bc7b2cf, 0x1b0d29f3, 0xae0ad918, - 0xa8770506, 0x80e96a53 - }, - { - 0x34e68eea, 0x5eb0ea36, 0xee28a5f, 0xf77b052f, 0xafab976c, - 0x827ba8a2, 0x1636086b - }, - { - 0x744e5f8a, 0xfd3a6ce2, 0xbeca9bfb, 0xf8554c62, 0xb07d2a20, - 0xbd737c6, 0x336dc0a8 - } - }, - { - { - 0xc49e678a, 0x6f8a3494, 0x88e61fa4, 0x94ba4c94, 0x1cffc7bb, - 0xd4c40585, 0xde163755 - }, - { - 0x20ef6029, 0x6c497b72, 0xe1db4215, 0xa9b6df16, 0x15805d95, - 0xe2a80085, 0xf2b605b6 - }, - { - 0xd2447efd, 0x5b8740eb, 0x894026e9, 0xf437dd50, 0xcdb4b55f, - 0x52b1fd4, 0x67cc49f0 - } - }, - { - { - 0xc3cd42a7, 0x9bc4e5db, 0x42b32fd4, 0x4594ee77, 0x53524514, - 0xc2f76704, 0xe8079f52 - }, - { - 0xe49a6bbc, 0x9d304fad, 0xe74aab4d, 0x857ae1aa, 0xdbc64917, - 0x45e17e9a, 0x2cab9626 - }, - { - 0xcc678530, 0x3aefb47b, 0x5922764c, 0x8ed3ebed, 0xd1020d42, - 0x706f1c4a, 0x973a0a1b - } - }, - { - { - 0xb21651a, 0x808940c8, 0x2f105e12, 0xb91f468b, 0xdc427a87, - 0x29aece64, 0x5bffeca4 - }, - { - 0x66328e39, 0xe3f42d1e, 0x829238bc, 0x9cbc4c32, 0x708140f4, - 0x43972b7f, 0x39275863 - }, - { - 0xc2d3521d, 0x529be28, 0x3fb98481, 0x7c64454c, 0xf0312fc, - 0xb90c4a88, 0x18713367 - } - }, - { - { - 0xb6a7afde, 0x5a658c03, 0xc93e0ca7, 0xb1e5ff8, 0x56150cd7, - 0xdac5aa70, 0xd92470c1 - }, - { - 0x1800be2e, 0xfa02ac68, 0xae7929a, 0x5e0794bb, 0x689b9456, - 0xc7b33b0b, 0x66c4b2d6 - }, - { - 0xf7c3f383, 0x2b3e4f79, 0xadef061b, 0x92357413, 0xbe4a8740, - 0x4433f539, 0x9078b2bb - } - }, - { - { - 0xb1578415, 0xc68fc5ba, 0x4ac4532e, 0x3de26261, 0xfcef7842, - 0xbd8e9cf8, 0x846db4d9 - }, - { - 0x8c6d898c, 0xa42020d6, 0xbbc9ffe, 0xe9d3fbd, 0xa79e44c5, - 0xf96bc986, 0x86e9e98f - }, - { - 0x1459305, 0xb6913cd9, 0x24f1767f, 0x4545f72f, 0xcabba766, - 0x5bdf8215, 0x20b13402 - } - }, - { - { - 0xe9c8fd38, 0xe9c1416e, 0x7722b509, 0xde20e425, 0x160cdfb5, - 0x83fdeb0d, 0x7a350ad - }, - { - 0xa39943af, 0x815b09ad, 0x1f71014d, 0xf8390d64, 0xbda10f35, - 0x7937d542, 0x619ada6e - }, - { - 0x54b04444, 0x5fa969a9, 0xd856c308, 0x1f0a95, 0xe3242369, - 0xbf76e17a, 0x69d992b3 - } - }, - { - { - 0x75b4f294, 0x52fecd1f, 0xc49d455, 0xd5633b33, 0x9801b250, - 0xe2a62c4d, 0xe0861dc7 - }, - { - 0x225a8eaf, 0xbd36891b, 0x633e552d, 0x7189da55, 0xe79f1280, - 0xfbb69614, 0x70207486 - }, - { - 0x151b63cc, 0x7c35a977, 0x386487fa, 0x51fbfc56, 0x6c945f22, - 0xde5f3775, 0xe8a329c - } - }, - { - { - 0x3bc97eb0, 0x8be51add, 0x5f204daa, 0xbdffefbb, 0x825f9747, - 0x4a9e007, 0x11afbbb7 - }, - { - 0x5280dca4, 0x8c1072c, 0x6b7ed3e5, 0xd4e7726a, 0x2157c214, - 0xa0bd72e8, 0xe86f2015 - }, - { - 0xb3dc7394, 0x7d02090, 0x6e3211c0, 0xee64c254, 0xd23ac7c7, - 0x1eb9820, 0x44114842 - } - } - }, - { - { - { - 0x99e9425d, 0x99025584, 0x8b082b2c, 0x25ac5251, 0xdf7dbb4f, - 0xf2d3f78f, 0x68f992b8 - }, - { - 0xc836ecb9, 0x4641c6c1, 0x8d870454, 0x1fcce24e, 0x5af91856, - 0xa3658119, 0x48c98760 - }, - { - 0xfb8721a, 0x72e547d0, 0xa3e04656, 0x1bf5322f, 0xd277d899, - 0x5de8dead, 0x90d265d7 - } - }, - { - { - 0xa130d67f, 0xdd148e74, 0x1dcab3af, 0xee1bbc96, 0x1f023707, - 0xd287c48f, 0x99ec10f0 - }, - { - 0x6dc6e3fb, 0x6786314f, 0x63b78704, 0x17834e1e, 0x91230de5, - 0xb35dc4cf, 0x5b96e05f - }, - { - 0x7ab4f39e, 0xd433413c, 0x4c5f7a46, 0x7985fbf9, 0xae2aa099, - 0x5185be73, 0xa1798a40 - } - }, - { - { - 0x4c096c5f, 0xa29056c0, 0xa38bb15b, 0xec04e21a, 0xddff7099, - 0xf9116f45, 0xbe1d2ba2 - }, - { - 0x35a01086, 0x74be6034, 0xb79320a3, 0x30f0920f, 0x68d8373a, - 0xad61bdbf, 0x770ddb0 - }, - { - 0xf8f235c2, 0xa33a0bf0, 0xe9cef5e6, 0xde4de915, 0xc0d99775, - 0xe0aee282, 0xa94b2621 - } - }, - { - { - 0xcf84512f, 0xd85e90c1, 0x25082ce3, 0x4c02d33b, 0xe2e9870a, - 0x23c0317d, 0x80c28297 - }, - { - 0xb110bddc, 0x8671a28d, 0xa38f7460, 0x8bd37914, 0xbc60f3c7, - 0xfcedc066, 0x7a43a86f - }, - { - 0xc73437d3, 0xf4d05a79, 0x1d8b36ff, 0xbde61111, 0x288db0e1, - 0x76c2a972, 0xac720f47 - } - }, - { - { - 0x2c045c4d, 0xb65093a8, 0x287202e3, 0x585ffe87, 0x848bd8db, - 0xb8588775, 0x62fad8fc - }, - { - 0x15bf5b0d, 0xe2cf7781, 0xed956df2, 0x62cd6a9c, 0x8d3566d8, - 0x50967945, 0x26d55393 - }, - { - 0x9824e4f7, 0x5a332151, 0x3f532d12, 0xdc030372, 0x87c06937, - 0xbd1ea710, 0x4072bdc3 - } - }, - { - { - 0xce53dbd, 0x9258800, 0xf7f805f6, 0xe68cb73c, 0xa8c8d3, 0x9db1bd72, - 0x4d0ca48 - }, - { - 0x8e639ef0, 0x376b78f7, 0x395897c8, 0x3ebec56a, 0x80cbb555, - 0xcab68dce, 0xef411036 - }, - { - 0x4b67a8d4, 0xbd9629fa, 0xb59ffba9, 0x2c4e1562, 0x41a49e8f, - 0xc2358cfd, 0x7a647b71 - } - }, - { - { - 0x1b683b45, 0x7901eabc, 0x5cea1ebb, 0xf967ac87, 0x8f88c5da, - 0x7e030230, 0xc600488e - }, - { - 0x4d7764af, 0xf80a4cd7, 0xa4477fb5, 0x8aa034c8, 0x95fedeb, - 0x7fd83dec, 0xa65dcf1c - }, - { - 0xb07194d5, 0xd6f21899, 0xa4102587, 0x2c55125d, 0x13994e71, - 0x878daa4e, 0x01c4b5 - } - }, - { - { - 0x2b84ba03, 0xe7300f50, 0xe4e7b0c3, 0x54123bf1, 0xadabdf64, - 0x12a74250, 0x9512f113 - }, - { - 0x4328d962, 0xb41105f5, 0xa8b0ea45, 0xba04dc8d, 0xf6c50279, - 0x73eae471, 0x7237460e - }, - { - 0x366a339e, 0xd7d3555a, 0x69dc8a46, 0x5d4dafc7, 0x77af3303, - 0x4ffddcbd, 0xdb1e78a5 - } - }, - { - { - 0xd06b168a, 0x400965b7, 0xbef9e285, 0x35f94d9e, 0x95cc1da6, - 0xe032395f, 0xd9e799ae - }, - { - 0x2c1e94c3, 0xc61a148, 0xf646c136, 0xb7d3e65a, 0x838e9148, - 0x89a0b9c3, 0xadef9c8a - }, - { - 0x42bd1b0a, 0x139d4bf0, 0x1a383637, 0xb91dd9d9, 0x69293389, - 0xa84ba5ac, 0xd961ea8a - } - }, - { - { - 0x3aa4cbde, 0x1b816da4, 0xc7d35cb9, 0x5f384cb, 0xb3d6ec17, - 0xcdeec85d, 0x388ebc7d - }, - { - 0xf4998f54, 0xabc2be74, 0x48a9a951, 0xb9fb7f8e, 0x6b7acc2e, - 0xe0e91cc2, 0x25cdcb48 - }, - { - 0xb314461a, 0x9f3f6bc9, 0x82b6d426, 0x5567eb6d, 0x1bf9a248, - 0x49c3f047, 0xf5592609 - } - }, - { - { - 0x84cce4f6, 0x6695d836, 0x1937578c, 0x1c8d3cb, 0xab9db2c6, - 0x5efba8d4, 0xaab27945 - }, - { - 0x33bb5d6c, 0x4e5160f1, 0x6b282d30, 0x6e0a86c2, 0x38fe6d12, - 0xbeb98320, 0xa67893bd - }, - { - 0x9a9d0174, 0xdddd9d3d, 0x80dbc675, 0x704062da, 0x8324ad0, - 0xab84d7a5, 0x75df664b - } - }, - { - { - 0xb9edc11b, 0xbfcef527, 0x5d14940c, 0x8940245f, 0xb3565baa, - 0x1f8a8d7, 0xf9a34689 - }, - { - 0xb99d1d18, 0xc9579c21, 0xeded4d7f, 0x1e99c4b6, 0x129def21, - 0x14b0ca57, 0x3a34380e - }, - { - 0xd7cfba87, 0x908216ba, 0xb2a4e88a, 0x6c4bc4ad, 0x730c50d8, - 0xfe985124, 0x40e707cc - } - }, - { - { - 0xb231c7e2, 0x2ec79fca, 0x4bf15a7, 0x46cd1c2e, 0x8f4e1a3c, - 0x3e205973, 0x493ac00a - }, - { - 0x645a050c, 0xd5256e21, 0x153786e4, 0x3292a985, 0x1ea66dfa, - 0x6f0d6a1a, 0xde74538c - }, - { - 0xd30c81ce, 0xabfb684b, 0x4b86893c, 0xc7fa00f0, 0x5b35336, - 0xa2e0e2b3, 0xb9c4e31e - } - }, - { - { - 0x5e2ce545, 0x46864dca, 0xc51103f0, 0x29ff1fe6, 0xc1d62c0e, - 0x6f7449a3, 0x6dbeb45 - }, - { - 0x74595d0b, 0x2694c744, 0x91724485, 0x12c4e3ae, 0xc8cde401, - 0xaf904a6, 0x9326e88 - }, - { - 0x62b7599e, 0xdcdf21e1, 0xb43e0c86, 0x7db4e1e, 0x38b7a5c0, - 0x4467710a, 0x9f8e1aab - } - }, - { - { - 0x57015821, 0x8e63d14b, 0xd347ca7b, 0x47bb51a8, 0xa4fb279a, - 0x7a3ba242, 0xd9535868 - }, - { - 0xd8a1487d, 0xa5dc887a, 0xfe222f15, 0x173d5256, 0x4ab7ca2, - 0x4e53dcc9, 0x29396d3a - }, - { - 0xf3f358f7, 0xfdc425fe, 0xea74b447, 0x69dc0de4, 0x23acbdb9, - 0xef116604, 0x1e648670 - } - } - }, - { - { - { - 0xc8ad9f15, 0x1090440f, 0x603dd290, 0xe263ccea, 0xb3337e05, - 0xab7c87, 0x4ebdff33 - }, - { - 0x65aed03c, 0x12915228, 0x93d8278, 0xaf63a4a3, 0x5458b0b6, - 0x488345b0, 0xbaa75606 - }, - { - 0xab19887e, 0xd29abe1c, 0xf827df24, 0xf438b43f, 0xd25bf444, - 0xbdcf6a6d, 0x9dc61604 - } - }, - { - { - 0xf7a733a2, 0x93ae43ce, 0x4b000212, 0x57b190b8, 0xfa26c6a3, - 0x3072dcd5, 0x4a152ed0 - }, - { - 0x89d6114, 0xb7e7e65e, 0x6c5d36ea, 0x4c6f13fc, 0xb60b0e10, - 0x3fc7a34e, 0x15ac8a77 - }, - { - 0x6f40275a, 0xf69d9ccb, 0xa4deb76b, 0x57c3e1a8, 0x9fab90ce, - 0xa532034a, 0x616ff1d - } - }, - { - { - 0x8985ada, 0x840574dd, 0x5613f761, 0xafa98f5c, 0x5635785d, - 0x88da4949, 0x99d5d671 - }, - { - 0x831291c9, 0xafb4f8c3, 0x5ec710fd, 0x61dd650d, 0x9cd64e21, - 0xd029480, 0x42676023 - }, - { - 0x81db5f77, 0xece812bc, 0x21070995, 0x3e961c1f, 0x5c10fac5, - 0x8634c8f3, 0x213cbbd0 - } - }, - { - { - 0xc153c80, 0x79490318, 0x31ec82d4, 0x181f903d, 0x39556cd3, - 0xc1d3f312, 0x62173db9 - }, - { - 0x4a394d17, 0x1f59ce10, 0x37b9f41, 0xe4a495ac, 0xb24ce3e7, - 0xd12bf8ca, 0x37e6d79f - }, - { - 0x901854a3, 0xe09bfe10, 0x1813a70e, 0x4e8c5ea7, 0xaba414a3, - 0x17170e5f, 0x591a138d - } - }, - { - { - 0x3a00e809, 0x8e7f0444, 0x33233e10, 0x49ca0147, 0xb0cddb24, - 0x6b8efa78, 0x783ae442 - }, - { - 0x4b9aa75, 0x60779865, 0x34dd74a2, 0xf8b97e74, 0x5f934314, - 0x2c0fa74e, 0x78debf07 - }, - { - 0x7dbf3a75, 0xc5da703, 0x7c4c8c3a, 0x645b4f8, 0x3ebb3679, - 0x2e39d5be, 0xf9c12a02 - } - }, - { - { - 0xfadb57c8, 0x9522d296, 0x3a016a92, 0x4736667d, 0x9a553b03, - 0x7ea308d8, 0xd1e2f5d3 - }, - { - 0x12e1536a, 0xe7d33375, 0x7b3236bb, 0x604a028, 0x8ef21892, - 0xcd7a6d04, 0x6ce521c5 - }, - { - 0x434872f5, 0x9190196e, 0xdbcae5a2, 0x2749d7ff, 0xf476cb63, - 0x412f5638, 0xa1226493 - } - }, - { - { - 0xea98cffa, 0xde07156a, 0xf37cd1d7, 0xef61768, 0x2168bbf5, - 0x485b3d6, 0x82b75062 - }, - { - 0x198d792f, 0xf12c202f, 0xd3775fe4, 0xc789502b, 0x7b8fa079, - 0x91b00bae, 0x5d484e22 - }, - { - 0xf23c8f10, 0x9938c88a, 0x820929da, 0x64a984e5, 0x79fcaede, - 0x6c7a01ec, 0x16e4216a - } - }, - { - { - 0x52016107, 0x666e140d, 0x65aac38a, 0x389f8e93, 0x170a983a, - 0x9cfeab7e, 0x205b1908 - }, - { - 0x7418bb75, 0x85f967a9, 0x52b6d20f, 0x5341b2b1, 0x2d04618b, - 0xad6eef87, 0x6ea392b7 - }, - { - 0xa7563f09, 0x83dcbee6, 0xaa419fe6, 0x8f2cb744, 0xd6f28f23, - 0xa59deff3, 0x433c9923 - } - }, - { - { - 0xfa987f0f, 0x1ec52aec, 0x70045bf1, 0x90835504, 0x5d546750, - 0x79200ec6, 0xf76d7841 - }, - { - 0xa5ad18ec, 0x59d769ab, 0x8fce700c, 0x576377b5, 0x72c8acbb, - 0x26c900c6, 0x59d05729 - }, - { - 0xcf6bb0ed, 0x50524eda, 0x19ecf417, 0x542679ff, 0xca4969c0, - 0x3ce11a82, 0xc63f71e8 - } - }, - { - { - 0xd0c990b6, 0x5c282490, 0x9b3121fb, 0xd806d77c, 0xdc663de1, - 0xe30584c, 0xeac27c09 - }, - { - 0xf31b4a8f, 0x4f446f1, 0x53f2e999, 0x397e272d, 0x9db09d1d, - 0x446ddf2c, 0x563e3459 - }, - { - 0x29b57c13, 0xc84f9eba, 0x4d75c305, 0xe1749e1b, 0xd4f9b2bf, - 0xef4ffca5, 0xd3b7b168 - } - }, - { - { - 0x1810c008, 0x2fc322c, 0x4a71b804, 0xde372966, 0x86dbd0be, - 0xd2392188, 0x4af9b014 - }, - { - 0x25d3af31, 0xe20133d4, 0xf8f4e2b, 0x296028e5, 0x911be9b2, - 0xbb03477f, 0xf0aa0032 - }, - { - 0xca9b2949, 0x2bf8987e, 0xa80df8be, 0x116f1de0, 0x7212416c, - 0xaa94175b, 0xbfabdded - } - }, - { - { - 0x86820d24, 0x66534046, 0x368b45f2, 0x99a1c4b9, 0x6fb150f8, - 0x210c60a3, 0xbaab4844 - }, - { - 0x38d08c56, 0xb9d21f08, 0x5055c421, 0xf5143a12, 0xf442a24f, - 0xab5ec831, 0xbb1654 - }, - { - 0x43e9b128, 0x863fad9b, 0x5fabc9c8, 0xc8dc055, 0x8492c501, - 0x265eda00, 0x4c740037 - } - }, - { - { - 0x66901c, 0x674fc6f3, 0x75aeec46, 0x88b54e17, 0xafa02463, - 0x42e21588, 0x8d0775f3 - }, - { - 0x7a203706, 0x408ea51e, 0x725d6ee1, 0xeee68ceb, 0xe29dfb66, - 0x972d5a81, 0xf49e8065 - }, - { - 0x2a7647d9, 0xe04044ce, 0xb7607960, 0x5217c287, 0x1091a478, - 0xcc27eb22, 0x58257a5 - } - }, - { - { - 0xc87017f7, 0xf0c7c221, 0x29221179, 0xf891494f, 0x7d3402a3, - 0xe6d80324, 0x599e2685 - }, - { - 0xf1a99e53, 0xff2ed621, 0x9b787266, 0xf42a12d0, 0x8d19345b, - 0x15dedc88, 0x85cd6932 - }, - { - 0x832ae60, 0x2c04246a, 0x11083e41, 0x3df84de, 0x68c4de41, - 0x47a20990, 0x8a052a8b - } - }, - { - { - 0xb8d249a7, 0x3f75926b, 0xb71f18f3, 0x1d3fb442, 0xc32df53e, - 0x960fd0b6, 0x3447e99b - }, - { - 0x62712555, 0xf68af544, 0x8f2b4569, 0x9a379a0c, 0xc9e313fb, - 0x1f89cb22, 0x6a3263fc - }, - { - 0x6185f722, 0xd3b62152, 0xed2463e2, 0xcad7fef0, 0x4ce73df5, - 0x478c7156, 0x45b2b775 - } - } - }, - { - { - { - 0xd72386cd, 0x8b84c24b, 0x53326ce3, 0x86084a56, 0x30dcb6aa, - 0x8a60697f, 0x9ee94741 - }, - { - 0xc48d2bb3, 0xb6e73d6a, 0xf7c83e56, 0xd56729f4, 0x6f4b9494, - 0xd7ce340c, 0x370ec37c - }, - { - 0xa6f4275b, 0x1993d5dd, 0xeb365e4d, 0xc070595b, 0x1fc596, - 0x6c7dfa52, 0x54645c48 - } - }, - { - { - 0x4e322b37, 0xfbf24587, 0xdf883e9c, 0x3d12230f, 0xf36efd52, - 0x6a8cf632, 0x1afb8089 - }, - { - 0x942d2ed4, 0x8c932bbe, 0x965bba48, 0xd3aac719, 0x8fbf46e9, - 0x8d3139b4, 0x873143e6 - }, - { - 0x21a1380e, 0x6cea6dd2, 0x28fb0c37, 0xed04cbfc, 0x40c268b6, - 0xb9eb7fbc, 0xddf9406b - } - }, - { - { - 0x90802006, 0xabbed202, 0xca76caa0, 0x7689c432, 0x35b6c573, - 0x44c16d34, 0xed1e9553 - }, - { - 0xa2ed364e, 0x9a030652, 0xe0d8099, 0x8ef7f0de, 0x3252a1cb, - 0x4f553f28, 0x63f90724 - }, - { - 0x13375e1, 0x9189cf6d, 0xa26403b, 0xdf32a89e, 0x668d9120, - 0xeb0ee27a, 0x3629d45b - } - }, - { - { - 0xe6633ae0, 0x74501173, 0x6047de44, 0x45e67f04, 0xfe8ba495, - 0xe3b18227, 0x21f5531 - }, - { - 0xf2deae20, 0xa442e1f2, 0xe3e97ad7, 0x287107ed, 0x96768b10, - 0xdf1dfd9d, 0x7bdf6c2f - }, - { - 0xd03b6d6c, 0x3aeb53d7, 0x28743be6, 0xa5cabeb0, 0x6e88bea2, - 0x2613c67b, 0xf4d1a230 - } - }, - { - { - 0xe998be23, 0x43bd7fea, 0xcd9fe4c7, 0xf1ce7f47, 0x5de939c1, - 0xcd090e98, 0x82320d46 - }, - { - 0xc65321e5, 0xd1bca202, 0xde21aad3, 0xdd35b6b7, 0x7045c386, - 0xeabd5475, 0x53da23b3 - }, - { - 0x73603f89, 0x9a9ad0d3, 0xc7589695, 0xeed3e050, 0xa4a7f34, - 0xa71db35e, 0x27f2986f - } - }, - { - { - 0x605b5c0, 0xadbffbd3, 0x4b7d8dd2, 0x345100a8, 0x6e34e70f, - 0xf26eb760, 0xee850bcb - }, - { - 0x896824d3, 0x383c85fc, 0x5545bf74, 0xf2e2247c, 0x1075d477, - 0xa8077bd4, 0x49b89a44 - }, - { - 0x99998f08, 0x6a91ab59, 0x3c307e7b, 0x5906668d, 0xbf502de7, - 0xfe5f415f, 0x2d7031fc - } - }, - { - { - 0xce1cb0cc, 0x950eb524, 0xed427e2e, 0x6d255246, 0x88304dc8, - 0x3897fdd0, 0xfb16f5f1 - }, - { - 0x8536dd9c, 0xef3263d0, 0x93532ce7, 0xaf22da91, 0x655a98e5, - 0x19033634, 0x52359ee3 - }, - { - 0xc136c7ad, 0xd1be8945, 0x13bbdc79, 0xe9ece0d5, 0x8e91e734, - 0x94c3636e, 0x3c18f46d - } - }, - { - { - 0xaaf88544, 0x8d2cf84c, 0xb3b30e82, 0xc19cf05f, 0xe4465028, - 0xfdcffa8f, 0x2ab69de5 - }, - { - 0x87b9be71, 0x187a70a0, 0x928af057, 0x14638986, 0x2f77e117, - 0x82b1ce54, 0x308b5557 - }, - { - 0x72474954, 0x99753d7a, 0xcff1b7be, 0xd9bd5b48, 0xad61f31, - 0x2e4e865, 0x3c41b279 - } - }, - { - { - 0x8a663b64, 0xf6ff45f6, 0xa6991d91, 0xb58e98bd, 0x2554edde, - 0xceb9ac62, 0xcd7944e1 - }, - { - 0xe0843c21, 0xe54aaa17, 0x2748760a, 0xf69b8f2a, 0x73a961, - 0x6c081ea1, 0x62446179 - }, - { - 0xe18c4192, 0x958205fa, 0xc5c664f4, 0x92e094ad, 0x5e49fff1, - 0xa3ac8f39, 0x96388a34 - } - }, - { - { - 0x90669f04, 0x5d0d64a, 0xe0304d0b, 0xbe531ae4, 0x8c717a2a, - 0xa8c73747, 0xff4d8605 - }, - { - 0x73f344a0, 0xa5484a73, 0xdc579661, 0x9583cbf2, 0x4c84fb37, - 0x90599681, 0x5e17b19c - }, - { - 0x58902a7a, 0xb530d40a, 0x86fb4554, 0x7690b794, 0xbb925373, - 0x156d00e0, 0x535b5c97 - } - }, - { - { - 0x3f021f5b, 0xd6661115, 0x367a6654, 0x2f3a199b, 0x298fdf62, - 0x9f235912, 0x4be93baf - }, - { - 0x55f1717d, 0x2d6e01b5, 0xb2da3b47, 0x144c0a52, 0x268fb04e, - 0x4e5edf78, 0xcf8e9c53 - }, - { - 0xd1736d5a, 0x691153a4, 0x782e4e7c, 0x2c5f550, 0x34aaefa7, - 0x20f4bda1, 0xbfa5b816 - } - }, - { - { - 0x14f52dc0, 0xff90dffd, 0x7f0dc011, 0xfe555abd, 0xdf18142d, - 0x629b0f59, 0x3e59fb78 - }, - { - 0x2698cb15, 0xf2947fa, 0x56b4e6e5, 0xfbda6fef, 0x6ba556a7, - 0xfecc5a14, 0x99454f02 - }, - { - 0x548a3b81, 0xe6a18d99, 0x5df32c5c, 0xd6605998, 0xd762daca, - 0x59930461, 0x3e1349e2 - } - }, - { - { - 0x8764fcb3, 0xa484b452, 0x9188a9de, 0x46269834, 0x3b098f76, - 0x32075ad6, 0x18146c0c - }, - { - 0xa33b0f3a, 0x5a6f50f8, 0x7ab359d3, 0xb59251c3, 0xfca23e8c, - 0x2c81ae1f, 0x79f511a9 - }, - { - 0x3123e5ee, 0x69246525, 0x541ea3c6, 0xe10977a3, 0x9ab047c7, - 0x4b6f51d1, 0xa6f6e5a - } - }, - { - { - 0x12343fac, 0x373250bf, 0x8acdb638, 0xf84b25fb, 0xa54891f2, - 0x39aeb7cb, 0xd5d588b0 - }, - { - 0x5e3ed76f, 0x916d192c, 0xc023520, 0x3ccdd2ab, 0x639fc322, - 0x795c32a, 0x1b293a75 - }, - { - 0x4c39b768, 0xd245792, 0x6ea5ef5a, 0xaa311f82, 0xceaf7b2e, - 0x685b4ba8, 0x2af89e09 - } - }, - { - { - 0x6c78189d, 0x9f425f65, 0x432cbae, 0xb97b6cb0, 0x2cef5809, - 0x2142851e, 0xc1f2759e - }, - { - 0x8f449f60, 0x6ea5eb70, 0x5663c96, 0x11420a7b, 0x2178d7fa, - 0xd07c6e44, 0x160ce206 - }, - { - 0x1774ba1, 0xa3c0e8bb, 0xb774bdd7, 0xd4730007, 0x20b3c9cb, - 0x7a2e2e9e, 0x9ec86ec5 - } - } - }, - { - { - { - 0x8a638af2, 0xf2c52a15, 0x46eb32ac, 0xda492dc6, 0x71c74ca4, - 0xb0e7330f, 0x9a427f94 - }, - { - 0xf33164b6, 0x3b313057, 0x703c5f90, 0xa958a69a, 0xd8513952, - 0xf901a575, 0xe117375b - }, - { - 0xe19f131c, 0x7fb1b30c, 0xc1361eae, 0xec497cad, 0x993ae8a1, - 0x48a25be2, 0x3e233203 - } - }, - { - { - 0xb935e9d6, 0x3624fe23, 0x5e93986f, 0x68999f0e, 0xfa78a33, - 0xc2e861f9, 0xe3f97a7e - }, - { - 0x833e8c3e, 0x52fab392, 0xa270f7b3, 0x99721cf, 0x417459aa, - 0x4f97408, 0x94663b83 - }, - { - 0xb6714aad, 0x180f78ed, 0x9af9611f, 0xf3fe5345, 0x21b90c0b, - 0xfc0aaaf1, 0x71175e80 - } - }, - { - { - 0x1c177d6f, 0x7f385a4e, 0x8273d9b0, 0x2a9001e3, 0xf6a02fa7, - 0x867856c7, 0x8a8b791f - }, - { - 0xcb00f277, 0xc711be2, 0x771ac9f9, 0x76110bc, 0x895428a4, - 0x49851268, 0x67225f2c - }, - { - 0xe1cfcf8d, 0x3212b20d, 0x9c824322, 0xfeb93a03, 0xd6c9fa73, - 0xa95cbc5d, 0x30195e55 - } - }, - { - { - 0x6bd421b3, 0xb7c17cc2, 0x2b846483, 0x4a3761a7, 0xd4dddd21, - 0x36022052, 0xbe89dca7 - }, - { - 0xd84e6832, 0xa4f2e963, 0x51fe837f, 0x1c38f57f, 0x571d5275, - 0xbfa4f7d8, 0xedbd9509 - }, - { - 0x750d96e8, 0x8026612, 0x48cb2229, 0x87c7be49, 0xe94144c7, - 0x6349a456, 0x63713380 - } - }, - { - { - 0xd117f028, 0x78a19017, 0xf9d725e4, 0x27cd193b, 0x2020e972, - 0x79fb6ce5, 0xa6a09780 - }, - { - 0xf77b2812, 0x4db08cba, 0x240a032a, 0xd901ba10, 0x48248d42, - 0x67f91088, 0x1301cdb7 - }, - { - 0x523b1141, 0x774e9ad9, 0x37a67876, 0x965e875f, 0x1c39003b, - 0x704f57e1, 0x75a100c4 - } - }, - { - { - 0x2c7c30ba, 0xdd397592, 0x96b1f66b, 0xfb7e0c19, 0x663dd843, - 0x434c337b, 0xdec66151 - }, - { - 0xdb4c20c7, 0x1dbdeed2, 0xc8be3c80, 0x34e9e4aa, 0x6ff1da62, - 0xf34189bb, 0xaff7be0b - }, - { - 0x88c6e46, 0x97a5247c, 0x4019c352, 0x59336840, 0x2f61e745, - 0x64523742, 0xb0e635a0 - } - }, - { - { - 0x2932732, 0x6b9d045f, 0xc05a5781, 0x9ba04ac1, 0x289b9b0f, - 0x9e4fb6ff, 0x7c4b5fce - }, - { - 0xb00f6131, 0x8f2d43fe, 0xf9067dd1, 0x5880198e, 0xf0684daa, - 0xb8bc4618, 0x1e101d61 - }, - { - 0xe8bbd5e, 0x383131e5, 0x2e0fa739, 0x32b35d2c, 0x2e461005, - 0x6fde1bba, 0xf0a218c2 - } - }, - { - { - 0xb288abf3, 0xa907d5aa, 0x7735f1b7, 0x1397544b, 0x90947949, - 0x401237e6, 0xdb7b0224 - }, - { - 0x5046319b, 0xf24b8a04, 0x960e040c, 0x2d8088a2, 0x4392c6b8, - 0xc8e1ab28, 0xe44fd6a8 - }, - { - 0x54160743, 0xa500d41d, 0xdee8e29f, 0xee9c7c6f, 0x778346a7, - 0x8195f35a, 0x7812b03c - } - }, - { - { - 0xbe6d89c5, 0x65b75f12, 0xe1fbf068, 0x2bbcf717, 0x3eebd0e8, - 0x4d5b5fdd, 0xe219a5ce - }, - { - 0xc8377668, 0x3ae5599c, 0xba5a8dd1, 0x9a964b, 0xf2516ab8, - 0x12adcbad, 0x2fe4d815 - }, - { - 0xe3fee5dd, 0x30d3e015, 0x4cfb18bc, 0xc05be4e5, 0xaef994fc, - 0x4fee3052, 0xf3792745 - } - }, - { - { - 0x35f2eb61, 0x34888843, 0xd4b1ad0b, 0xdfa99807, 0xb872880a, - 0x113e442d, 0x461dd98b - }, - { - 0xc90f55d1, 0x5a235988, 0xe031816a, 0xdf922bb, 0x84b6e146, - 0x44bde7c6, 0xd1a83513 - }, - { - 0x7edf6aaf, 0x3170b32f, 0x9b1ee084, 0xb894ecce, 0x390fc1ef, - 0x3bc2b32d, 0x224feb9e - } - }, - { - { - 0x9ae4a05f, 0x40fea884, 0x382269b0, 0x53b01b9, 0xd294f280, - 0x1a5466da, 0x5b7de9a5 - }, - { - 0x3bd7b6ba, 0xd2dedbfd, 0xbc065d3c, 0xa3c23437, 0x43b6d283, - 0xe857f086, 0x2329211f - }, - { - 0x3bcf3bbd, 0xef10158, 0x77c8358d, 0xe3113765, 0xfce23e34, - 0x4ef9f88, 0xa82d887 - } - }, - { - { - 0x39dc3c01, 0x5e8d3a77, 0x37095631, 0xe40dd845, 0x5e97faed, - 0xe071a037, 0x422e316d - }, - { - 0x6cf4b8ab, 0x43622934, 0x5ce32973, 0xc6e8e72e, 0x4089ee66, - 0xe6a0697, 0xe789ff15 - }, - { - 0x5b9b1399, 0x5e0f58f0, 0x97e2bf40, 0x9e62fcb8, 0x4aac3bd0, - 0x1050591a, 0xa71eade3 - } - }, - { - { - 0x9016f70, 0xc8cb24b, 0x86014599, 0xcf01fdf, 0x663321a8, - 0x6c20b90d, 0xf6d03b3 - }, - { - 0x66e290be, 0xf72827fe, 0x8726698a, 0xac1fe0fc, 0xb2bcf7c6, - 0xbed3e027, 0xd06f9a8b - }, - { - 0xbced8034, 0x653d9375, 0x7e0e8ff7, 0x3142bb72, 0x341edbb9, - 0x53f215d, 0x39c4a223 - } - }, - { - { - 0x8e1928be, 0xe701b6cb, 0x6952b832, 0x448c5c1a, 0x925e9a89, - 0x1e00746e, 0x128ea219 - }, - { - 0xa208fa97, 0x784b549, 0x370a27a9, 0xc5dec0b4, 0xeea8deb9, - 0xeb02dd3a, 0xc1f0e143 - }, - { - 0x3dd0ae94, 0xd682fc5c, 0x7c5fb31f, 0x7357e7c, 0x2beba55d, - 0xa843e7af, 0xc2276877 - } - }, - { - { - 0x9ee20b54, 0xaf05b844, 0x116e0f0b, 0x96ad5f0a, 0xa21e7f, - 0x35357e9c, 0x3d3d672a - }, - { - 0x6796a170, 0xce2de147, 0xea7b7344, 0x25c18bb0, 0x398bf21c, - 0xc598cae7, 0x72620583 - }, - { - 0x365ad0b1, 0xf3f58ced, 0x3618f930, 0x141340e3, 0x851759f7, - 0xe7368377, 0x68179716 - } - } - }, - { - { - { - 0x59e5f64b, 0x7d24bb9a, 0xb50b5883, 0x2e3ace56, 0x8834ef7d, - 0x2ac7c98, 0x81908fa5 - }, - { - 0x9c8218bb, 0x8c00e82d, 0x5fde23ba, 0x2b4b7020, 0x7682731f, - 0xb3d6ac98, 0x5db96943 - }, - { - 0x9eadfde7, 0xc1c32caf, 0x788bcc30, 0x873b8684, 0xf155de3e, - 0xe6669050, 0x3e71a4a0 - } - }, - { - { - 0x548aab10, 0x4789faaf, 0x2370dc97, 0x19a02159, 0x2924947f, - 0x13d3fa09, 0x1e1733ac - }, - { - 0x9cacd45f, 0xa568d6e5, 0xd2f705e6, 0x7cbfcbff, 0x30931a0b, - 0x9a1405ad, 0x704db144 - }, - { - 0xb024684, 0x6a998209, 0xc4d9945c, 0x585d0bc2, 0xf29da499, - 0xe7f90735, 0x818717c1 - } - }, - { - { - 0x7502190f, 0xcfee80ca, 0x7675f2f9, 0x36e5b846, 0xb4e458f, - 0x8423f700, 0xbae9116c - }, - { - 0xd613c161, 0x16e6c2c5, 0xb8951cb1, 0xfb277cf7, 0xd0a758b4, - 0x7d338a6f, 0xeed4a06c - }, - { - 0x2b694e1b, 0xed085784, 0x353f257a, 0x4ab88955, 0xbcaf7bbb, - 0x6f81b2d9, 0x186f14fb - } - }, - { - { - 0x125df8e6, 0xb82fc8ca, 0x71dc7bf8, 0x7392effc, 0xdc69819d, - 0xe552ee62, 0xf81f81a7 - }, - { - 0x20c5669f, 0x632464ef, 0x5ec5f9f6, 0xe9291e15, 0x38fee1b, - 0xe9fa6b9b, 0x807c11de - }, - { - 0x5d6b595, 0xba5a89ad, 0xd53839f3, 0x73ec5f16, 0x4fdee07d, - 0x88111889, 0x14a68330 - } - }, - { - { - 0x6b412301, 0x60267c7d, 0xd6f52c74, 0xdd7ba905, 0x280f4383, - 0x892fe5c4, 0x5f7d4230 - }, - { - 0x186eeb3b, 0xc998ce0f, 0x84fd63ea, 0xde0ea1a0, 0x1407cc14, - 0x48fb49f0, 0xe467974c - }, - { - 0x2bece59, 0xe907fd78, 0xe7af4018, 0x7bd97de7, 0x87cea6f, - 0xb607cd72, 0x3c729623 - } - }, - { - { - 0xe9f866, 0x667c0cf6, 0xfead4abc, 0xcc0dee51, 0x1e0a074e, - 0x4e1b4992, 0x100e5d39 - }, - { - 0xfc42e085, 0x9d93f595, 0xb8cc25ed, 0x3bf68fa0, 0x15f13bb8, - 0x3bdafdb1, 0x9514f528 - }, - { - 0xeaa127b8, 0x578bd3fe, 0xf0f698a0, 0x4669c911, 0xf610a395, - 0x1e4f9cea, 0x40fc4abf - } - }, - { - { - 0xfd740fa3, 0x5ca0985f, 0x43a01084, 0x963ab5ef, 0x488e9163, - 0xd1165649, 0xda0335aa - }, - { - 0xbef0bbc, 0x7970749f, 0x5acb89aa, 0xcca39fbf, 0x3cd61f6d, - 0x7ca8e84f, 0xe25ff1f7 - }, - { - 0x15cad3b6, 0xc41c61f3, 0x21b3fa24, 0x9571593e, 0x46f95a38, - 0xe2609538, 0x347e8b30 - } - }, - { - { - 0xeaad1ce, 0x7d991c23, 0x8b9afbce, 0x8df64a1a, 0xbaf25acf, - 0x66e37d0a, 0x2461cd5 - }, - { - 0x7a23e690, 0x55dea984, 0x36ae8fcc, 0x6e19ca25, 0x2704e2c8, - 0x7b48f965, 0x1978ff38 - }, - { - 0xc723fe99, 0x7e92dc96, 0xa2d7ffcd, 0x750142a3, 0xbb5b6dc9, - 0x6875f35f, 0x733a7d55 - } - }, - { - { - 0xb1c9f53a, 0xba2204f3, 0x8dc748b1, 0x22dd54ab, 0x6ca548cb, - 0x262358b7, 0xaec4e898 - }, - { - 0x3e7b94cc, 0xaf0f6d48, 0xffa665f5, 0xd718fee, 0x7bc3843e, - 0x713eeeb7, 0x3ccbbb69 - }, - { - 0x2e35fbb9, 0x15d90a2d, 0x7a8e40b5, 0xb9ab658b, 0x9b6dfafa, - 0x773fe2b5, 0x8546e25c - } - }, - { - { - 0x61be0cda, 0x5b73b9a4, 0x291301f, 0x2fa13ee8, 0x6c76cd6b, - 0x27280b41, 0x49980be8 - }, - { - 0x80558ed, 0xf295967f, 0xc270614a, 0x8424d901, 0x14e5da02, - 0x62907655, 0x6536fafc - }, - { - 0x8793ff58, 0x66250191, 0xa9e43a99, 0x8ea7e6fd, 0x80952984, - 0x55312c2b, 0x35d633d9 - } - }, - { - { - 0x4349dc22, 0x5ec3cf9a, 0xa8ad1d5, 0x80226e23, 0x1e444380, - 0x3eacb77f, 0xb233ba32 - }, - { - 0x983d58a, 0x276df508, 0xffc1d7d, 0x76b76737, 0x29efd9d5, - 0x30843d83, 0xa9464174 - }, - { - 0x6d4dd905, 0xe31307c, 0x85e2d9be, 0xd7de1fa9, 0xba353ede, - 0xe8572cce, 0x1b65f434 - } - }, - { - { - 0x9da889b2, 0xd615aff4, 0x95e54fad, 0xb97e6544, 0x4156f9f, - 0xd0e4fb37, 0xa23ba242 - }, - { - 0x8b873125, 0xc03ef34b, 0xaa70f26e, 0xb90936e6, 0x18b57d9c, - 0x287d8810, 0x1f9b9e3c - }, - { - 0xa3d4ce40, 0xfe83d81d, 0xfaa5401b, 0x83f3e35f, 0x4dc83708, - 0x9617805, 0xc12e63b4 - } - }, - { - { - 0x2c4cdb68, 0x30c9528d, 0x115cc01d, 0xf517fd7a, 0xfa6dfb52, - 0x246f3705, 0xf2388bd2 - }, - { - 0x334e9a06, 0x6d86e356, 0xb0ac92fe, 0x156f7828, 0x14d17b26, - 0x9ae775b4, 0xe501919e - }, - { - 0x2ede1fe5, 0x72a09dd3, 0xbd941335, 0x50c31e8f, 0x22a22166, - 0x9b7cef01, 0x25ad09ef - } - }, - { - { - 0xf79c5d18, 0xa2bb4c0a, 0x5e1696c3, 0x394f13c2, 0x295ff1e4, - 0x2ca65457, 0xa64bca45 - }, - { - 0xd0a98903, 0x3969f1d6, 0xc9bcb41f, 0x4697bc41, 0x4760d856, - 0x3007fb70, 0x44741f0 - }, - { - 0x72dc784f, 0x5abb16cf, 0x3fbd2260, 0xe2902e23, 0x7fbc3752, - 0x7a972023, 0x57fef257 - } - }, - { - { - 0x99898198, 0xa5397e5, 0x30e0399f, 0x5f30ddca, 0xe707aef4, - 0xa385e5dc, 0x4ae45f8e - }, - { - 0xffc96e87, 0xd9d1c892, 0x6bbb1666, 0x2d663f42, 0x2d550071, - 0x27f2dc16, 0x901e7e58 - }, - { - 0x6113d4d9, 0xb2090cf, 0xc85884ca, 0xab90a423, 0x59e3868e, - 0x367d786b, 0x333e5d29 - } - } - }, - { - { - { - 0xf4ff13ad, 0x4821ac90, 0x8a961332, 0x1600d5d7, 0xed2b7055, - 0xf26a1215, 0xf7b63c3f - }, - { - 0xe2d9067f, 0xa863d129, 0x25868d3b, 0x2fa7c835, 0xfe7a1e8a, - 0x698d77f1, 0x1e0ba6f - }, - { - 0x2e98a459, 0x13d1095f, 0x401c7866, 0x32a4c550, 0x2f4ea87d, - 0x6f58c47e, 0xc92f38d7 - } - }, - { - { - 0x6878c00e, 0x3c5a5573, 0x7c8380bf, 0x47e2e108, 0xc23aa926, - 0x5fb84911, 0x56a67551 - }, - { - 0x4461f4bd, 0xf8e77fad, 0x1bd6ae0b, 0x57d1f48e, 0x96824b14, - 0x7f54b20a, 0xcfd1e1f7 - }, - { - 0xfadeb128, 0x9746b9e9, 0x3976f3d1, 0x2aff205a, 0x4101c022, - 0x8643245e, 0x25e796ed - } - }, - { - { - 0x4b01c5e2, 0x471d4849, 0xf13ba114, 0x584fa44, 0xec7084fb, - 0x70ecb692, 0x8417aee6 - }, - { - 0x4de0071c, 0xb7b669b4, 0xf9d83a6b, 0x45507017, 0xb3b783a4, - 0x11431b33, 0x9c5e475d - }, - { - 0xd070d885, 0x793dbcfd, 0xf549cf23, 0x5845e070, 0xf324faa7, - 0x9094a181, 0x538751e8 - } - }, - { - { - 0x3b5fa512, 0x6c67a36f, 0x8732d9d3, 0x3cf25da5, 0x5df93042, - 0xaa461675, 0x592dc9c3 - }, - { - 0xfe7216f4, 0x3188b5e8, 0xc891e7ab, 0x9f8e869a, 0xb8b5dfc7, - 0x8ffe5850, 0x269aaa55 - }, - { - 0x8f92d943, 0x9f571d28, 0xa486b382, 0x1d52febb, 0x84ba151, - 0xff7022ad, 0xa64fd4c4 - } - }, - { - { - 0x509feb04, 0x6ff9d2f3, 0x7d66331f, 0xd4e7666, 0x144140c4, - 0x2d9a8ee2, 0xd0161023 - }, - { - 0x423aa16e, 0x189d824b, 0xe8fca5bf, 0xfe12ee9b, 0x18fc5117, - 0x67399592, 0x98aea1ff - }, - { - 0x80516fa7, 0x219b6f0d, 0xe341c43, 0x615feac1, 0x63950081, - 0xc4657c14, 0x52f08cc2 - } - }, - { - { - 0x448674ba, 0xdab5c443, 0x55a818c4, 0x33fd10d5, 0x5f393811, - 0x5e7398a2, 0x68c85111 - }, - { - 0xd1200a13, 0xe0f52dde, 0x85aac18d, 0xf54cb01c, 0x9dc737d3, - 0xb019fb2e, 0x756de6eb - }, - { - 0x4c21aeb9, 0x962168fd, 0x9b7ef7c5, 0xb962f162, 0x3c43430, - 0x3a1e2d33, 0xb3abc81f - } - }, - { - { - 0xbd7b92f2, 0xdddde3cc, 0x5c6d359a, 0xc1c0a8e0, 0xa7c57fdc, - 0x2ee5c4a7, 0x35d47168 - }, - { - 0x972662, 0x992a295b, 0xae7c72c2, 0x44c99420, 0x2df8633c, - 0xb80d2917, 0x35de2589 - }, - { - 0xc3d23017, 0x58e1457, 0x39d3c4f1, 0xe6fb4f86, 0x7a33deed, - 0xc7f60f35, 0x71ba2b9a - } - }, - { - { - 0xf640d432, 0x59332841, 0xa2e7e2d, 0x80ad2d65, 0x49194d58, - 0x2b6d92be, 0x3741c883 - }, - { - 0xed140c76, 0x2ec0ec3f, 0xf19365bf, 0x1f71b025, 0x51a27852, - 0xf007103b, 0x9175c588 - }, - { - 0x6311615c, 0x862f0a38, 0xa670d37a, 0x6acae832, 0x7ec8fdc6, - 0xa0048359, 0x20d43736 - } - }, - { - { - 0x7db55195, 0x734b472a, 0x936a5ab6, 0x98ad7cf7, 0x7121a81e, - 0x91105e71, 0x676d3d89 - }, - { - 0x6c233c06, 0x2128a0d9, 0xdb549ca8, 0x6f4be13a, 0x8d40961a, - 0xfeb4404b, 0xf656e488 - }, - { - 0xa068f819, 0x210daa3, 0xed73efea, 0x69ef5167, 0x8e1097ab, - 0x4251d624, 0xeca149c1 - } - }, - { - { - 0x46e84685, 0xe1377c1c, 0x7c75fcda, 0xc7c3eafc, 0x8506a5fb, - 0x889bfe5d, 0x909943c8 - }, - { - 0xf36ee873, 0x81031ac6, 0xd0d32281, 0x643250cf, 0xfd352fd, - 0x2ac31855, 0xffa21141 - }, - { - 0x37155cdb, 0x99be6938, 0x9f8f4d26, 0x27f7ffc4, 0xd2b8bec3, - 0xd486f64c, 0x9c7de631 - } - }, - { - { - 0x1c844a, 0x1c0dfac2, 0x24fb859c, 0xb9cc8f41, 0x71544606, - 0xa396f5ef, 0xd8cb703 - }, - { - 0x6eec75c9, 0xfd3a51fd, 0x1ec271aa, 0x5537db8f, 0x4b430bbe, - 0x151e15f9, 0x63f8f87f - }, - { - 0x86f801ce, 0xcd72b632, 0x85d61337, 0xa2df133a, 0xbbf4200f, - 0xebdcf7f9, 0xbaf0b81e - } - }, - { - { - 0xe4443e34, 0x4c05cd47, 0x68b762ca, 0x91973941, 0x3a4f809f, - 0xa26fd06b, 0x108eb4b4 - }, - { - 0x7e110528, 0x30fa4188, 0xfc4ccbff, 0xe27f0acb, 0x7a446613, - 0x56b4fd58, 0x617becd0 - }, - { - 0x52046eb6, 0x2efee8a8, 0xcf6a3659, 0x91131447, 0xa9dc1f0e, - 0x677aaf62, 0x7d9b201e - } - }, - { - { - 0xbd2641bf, 0xf3585456, 0xb3a095d2, 0x4a31f75a, 0x23c3bf02, - 0x23e4a6dd, 0x42a2d342 - }, - { - 0x320f8815, 0x1ac1fca7, 0x91e12468, 0x1be40908, 0xa0f2de33, - 0x3501d247, 0x97c91412 - }, - { - 0xc18d75b1, 0xf6fb9d27, 0x31555e53, 0x5631604a, 0xd323099, - 0xd2719e62, 0x46a197e8 - } - }, - { - { - 0xece1c91e, 0x6f524634, 0x9c195f6a, 0xf072c0b3, 0x4190a63, - 0x7f1fcd6a, 0x419ce8f2 - }, - { - 0xcdcd65f0, 0x3e7f7038, 0x95d33ea7, 0xa98036d0, 0xb0d9ff1c, - 0xb1904fac, 0x2409886b - }, - { - 0xeb13528b, 0x5d6dba00, 0x62c79193, 0xb336b485, 0x2570ff5, - 0x1cc7c831, 0x51c25c15 - } - }, - { - { - 0x2a96badb, 0xa067f56e, 0x56d4e2a3, 0xb478d8f7, 0xfdea74cd, - 0x635fa0d4, 0x8cf35d3d - }, - { - 0xd5b591ae, 0xf56837bf, 0x4638281f, 0xdf862d03, 0xab98f2ab, - 0x8d4be4d2, 0x51e458a3 - }, - { - 0xd7a7c2f8, 0xc31aa8e, 0xa088f41, 0x66554918, 0x20929655, - 0x286af782, 0x411a0ca7 - } - } - }, - { - { - { - 0x86054287, 0x2ac51dc4, 0x54b88e64, 0xb025f906, 0x95b75f9e, - 0x4a37784d, 0x38e5ce03 - }, - { - 0x6bf5d7b9, 0x6f225f81, 0x1e2414b7, 0x85d820fa, 0x29c2297c, - 0x2d25dee1, 0x35c32750 - }, - { - 0xb28b14e7, 0x6b49d803, 0xa84359d6, 0xb4ec8ded, 0xef89c929, - 0xca095590, 0xdc28fc95 - } - }, - { - { - 0x4367bf15, 0x4d6eec4d, 0xb52d8193, 0xe48f333d, 0x5fc8aeb6, - 0xeee50d5f, 0x5ec7a180 - }, - { - 0x454f3b6b, 0xa2d284e1, 0x51df44cb, 0x2f1d8a05, 0xce290d2e, - 0x59e02529, 0x982806c1 - }, - { - 0x29dac50c, 0x7c49eb95, 0x9ec7d543, 0xebc9c1c9, 0x6b099159, - 0xaa1a803b, 0x77df9541 - } - }, - { - { - 0xa3eedf8, 0xcb576350, 0x60622416, 0x5d6e1336, 0x3488d07d, - 0xddc33ff3, 0xa1e168d2 - }, - { - 0x4addfeaf, 0x15c7205b, 0x3ff3e696, 0xa0a57f24, 0xdf433630, - 0x4146e849, 0x28aecaca - }, - { - 0x21e0514e, 0x3907536a, 0x52e66b48, 0xf78d315a, 0xa2367a99, - 0x913c51fd, 0x72842cbf - } - }, - { - { - 0xe13ff0aa, 0xad0f3e59, 0x8d16fdae, 0x7af6e1f7, 0x773ae271, - 0x7fcb34ca, 0xe5c1b7d5 - }, - { - 0xbaa8520e, 0x4a17ef08, 0x5a6b387, 0xb81c1d01, 0xdc211586, - 0xf8400145, 0x5e4eb160 - }, - { - 0xc15f2b70, 0x7779e88, 0x93d6834c, 0xc2c39eb0, 0x5f9555ab, - 0xc82d2214, 0x1253e3d5 - } - }, - { - { - 0x1c142846, 0xd1b94fd5, 0x1b47ac86, 0xf95a68fe, 0xe40d491f, - 0x760488ff, 0xd0d629af - }, - { - 0xff85a21e, 0x73ce0ace, 0x96bc393c, 0xa09971bb, 0xf17fe8d0, - 0x319d4cc0, 0xc52c57c9 - }, - { - 0xc923ef1c, 0xe576757f, 0xb6fa0a0c, 0x41353e6e, 0xd78f116c, - 0x3013d0ae, 0x2fb0bd47 - } - }, - { - { - 0xd98c26d0, 0x72612110, 0xeaa7da66, 0xb2ceaf5c, 0x8a0fd711, - 0x8ff2b53e, 0x861b5a91 - }, - { - 0x6e89bb26, 0x5e6c3274, 0x5522a754, 0x2089978a, 0x6e04bde8, - 0xe045fab1, 0xe8b006eb - }, - { - 0x9a84973a, 0xd6cacfc6, 0x6361441e, 0xdf327e7c, 0x59779143, - 0xc95a0709, 0x74da1db0 - } - }, - { - { - 0xa54a5d79, 0x44eae894, 0x2535aeba, 0xf1c26aee, 0xf6c5c63e, - 0xe21c29ed, 0x35a9613b - }, - { - 0x7ecc54a1, 0x953cd46e, 0xfd9f6882, 0x693964c6, 0x879be4e9, - 0xa7b93cd1, 0x75879a9e - }, - { - 0x5a016c50, 0x3a651612, 0xfef0422c, 0x7916b0c6, 0x315d0764, - 0xe0ffc299, 0xf505d218 - } - }, - { - { - 0xdcf4fef6, 0xf3a3a969, 0x3a5b1cff, 0x5470dd76, 0xc867e1be, - 0xdf33bf92, 0xbb55cfae - }, - { - 0xadfc0702, 0x5b262e34, 0x74314653, 0x5f57814, 0x703eec74, - 0x789d09ea, 0x4ebd2fab - }, - { - 0x77596838, 0xa690974f, 0xf6aa675f, 0xd13e7f0a, 0x87204cf5, - 0xb48b1e73, 0x36f2f5da - } - }, - { - { - 0x643e89aa, 0xd9d4dc22, 0x7265e8a9, 0x5ebb7283, 0x12e66af8, - 0xd17792b7, 0x495ae9e5 - }, - { - 0xe1a84550, 0x8d5f04e0, 0x7c1a75d2, 0xb447ad14, 0x5e0cc11a, - 0xf21e6953, 0xca372857 - }, - { - 0xa9e088e1, 0xd663830a, 0x2cb904f1, 0xae498a44, 0x9dfebb3e, - 0x1b3e51ef, 0xb776a25a - } - }, - { - { - 0x2f49c29d, 0xa8c1b949, 0x89082c6a, 0x44d72784, 0x764e23e1, - 0xb8390208, 0xbe736711 - }, - { - 0xe3c7f487, 0x15c96d39, 0xf8ca9edd, 0x72418414, 0xb5bd0e5b, - 0x828d9667, 0x96272822 - }, - { - 0x1fa516f6, 0xbf35eb7f, 0x96da82ff, 0x1c94406c, 0x4842d010, - 0x1d6fac1a, 0xc117123a - } - }, - { - { - 0x31f81b4e, 0x385a87ef, 0xd2096826, 0x90ce793a, 0x3f878c8a, - 0xb6ad3bc6, 0x401b7699 - }, - { - 0x6be62c05, 0x4bdb6d0c, 0x78d66632, 0x79a5bda7, 0xd2e4f9ac, - 0xcc34369f, 0xafd26a23 - }, - { - 0x4b4483d1, 0xa9d7b8c4, 0x7fb6e040, 0xc990ccdc, 0xcc5b451, - 0x613f3867, 0xbaf03ef2 - } - }, - { - { - 0x823a0cb9, 0xaa4c6e78, 0xaa4bd911, 0x1500f28, 0x19bb4178, - 0xc1f1c7b8, 0x9b6de7ef - }, - { - 0x58b77530, 0x4abdc637, 0xfb262699, 0xc83933ee, 0x9db48fea, - 0xb1d49be9, 0xe7b37b19 - }, - { - 0x1383e5fe, 0xb21d24fb, 0x5993ab83, 0xc6b863bd, 0xce16f783, - 0xc4a76acd, 0x6440247c - } - }, - { - { - 0x2972fb8, 0x57b77950, 0xd3b8b2a2, 0x3ec9d86f, 0xce6e6d86, - 0xe470038a, 0xa7bfd950 - }, - { - 0x25d19df9, 0x16018323, 0xa31450f7, 0xe3223b17, 0xa3e2d8d3, - 0x5a0ffcce, 0xd8552451 - }, - { - 0x67c6c807, 0x54234d3a, 0xd562c199, 0x666aa54c, 0x44ff8052, - 0x85967aee, 0x5cdbe36 - } - }, - { - { - 0xc6d5ff4d, 0x82c7ac97, 0xcf383bba, 0xed1eef4f, 0xd30b09b1, - 0x8d6c5648, 0x423ca7df - }, - { - 0xac825b63, 0x4e60be6a, 0x3aee5084, 0x1feac601, 0xd43266db, - 0x121af70d, 0x60dc3009 - }, - { - 0x33f77607, 0x30bf0c7f, 0x6403aa26, 0x7507d788, 0x5aa58586, - 0x638b6495, 0xc4284eee - } - }, - { - { - 0x30a787e1, 0x8b077234, 0x3baa1178, 0x6b89c527, 0x74e8a742, - 0xaeca717d, 0xc13dca68 - }, - { - 0x10a7a900, 0x88568a7c, 0xcfb97eb2, 0xd58b816f, 0x75bd36d, - 0x97c84403, 0x5dca4371 - }, - { - 0x701fc7c4, 0xa54b8d92, 0xb4399654, 0x8d70051f, 0x8fb312ea, - 0x8e7694ad, 0x1e7dfc57 - } - } - }, - { - { - { - 0x3f46572d, 0x9e5d194a, 0x33d83c67, 0xdb137509, 0x6e297d80, - 0x144c213b, 0xd24bcb62 - }, - { - 0xfd225527, 0x232f82af, 0x9b86b0ca, 0x8c3aa17b, 0xc96cbfb9, - 0xa7de6d59, 0x38b314af - }, - { - 0x76260f13, 0x6e09e59c, 0x4b0eea64, 0x239323c1, 0x96021576, - 0x1de22a1f, 0x1c87b00f - } - }, - { - { - 0xf71fb707, 0xe2cf3efa, 0x3a40d5f7, 0xc6fcfbab, 0x9936e007, - 0xc6f48ed8, 0x2dddc9ae - }, - { - 0x11200ea5, 0x967fdcf8, 0x835918d4, 0x5838500c, 0x14d538e2, - 0xcb8a2826, 0xb5a9b0ea - }, - { - 0xe00b036d, 0xe163c1a0, 0x1b564a0a, 0x85acc245, 0x835051fa, - 0x8b3c0dfe, 0x36ae9f2a - } - }, - { - { - 0xeedbd83f, 0xa833843b, 0xf271782c, 0x9a2e9695, 0x8c8ebba0, - 0x8667abd7, 0xbe1e3d04 - }, - { - 0xc0652970, 0x13473d66, 0x166a5fc3, 0xc918a443, 0x89d879ea, - 0xaa9359e, 0x15f472e9 - }, - { - 0x5e6aaf0c, 0x1a32b830, 0x9b4a2741, 0xd32e37e7, 0xf1e81215, - 0xac5640d5, 0x8e0b052e - } - }, - { - { - 0x11f83492, 0xe9e303b4, 0xa887cdb4, 0x2ba04ccb, 0x39b5308e, - 0xb73543b1, 0xc8749856 - }, - { - 0x56e87416, 0x36067cdc, 0x98b4a4c4, 0xdf4f3cd6, 0x81a37c27, - 0x9a29c2e8, 0xe867c3e3 - }, - { - 0xb0d3eee4, 0x4ce66c97, 0xf9a70767, 0x218460e8, 0xb7c57e44, - 0x628dd0d4, 0x91ac3978 - } - }, - { - { - 0xd1c6cfe8, 0x8629a1ae, 0x42c00248, 0x79cf0918, 0x52d9c01b, - 0xb15bb476, 0xc1a1f715 - }, - { - 0x2939ff84, 0x96efef9f, 0xb8067284, 0xd42a3996, 0x1495d834, - 0xa3124d13, 0x230afb64 - }, - { - 0x60df02e4, 0x7a07ddce, 0x6d2596bd, 0x9a56036d, 0x64685921, - 0x304de463, 0x28d5506a - } - }, - { - { - 0x5a10b6f9, 0xeb7043e9, 0x41a01ab1, 0xe0993aa6, 0x11605e4d, - 0x1b223551, 0xe7498bf1 - }, - { - 0x60b11b44, 0x99dea64f, 0x3c0332c3, 0x6c8bf91b, 0x1e1fc2ef, - 0x8f8f8b81, 0x7cd5836f - }, - { - 0x4296188c, 0x25c25377, 0x5460fe82, 0x20b96080, 0x6ba6fc9e, - 0xb4624457, 0xa1b36df1 - } - }, - { - { - 0xa45e5a0c, 0xc6197537, 0x30345701, 0xcf647ccf, 0x9a4d7bc9, - 0x3650144b, 0xa176f217 - }, - { - 0x6cdec1a9, 0x9867e50d, 0x4c27d46a, 0x26c1e55, 0xf5e7cc3f, - 0x8e0afe3e, 0x7529345a - }, - { - 0xea0150dd, 0x377fb887, 0xcd7ea623, 0xccff4a52, 0x6bcdea8b, - 0xceb6b3a8, 0xf9389729 - } - }, - { - { - 0x995d692f, 0x6c76859b, 0x38a6bf36, 0xd920387, 0x42aa0375, - 0x32759c09, 0x8e12b936 - }, - { - 0x740c9902, 0x70f597d1, 0xa579336c, 0x255e7043, 0x400c91b, - 0x7559ae5c, 0xa18060d5 - }, - { - 0xc180e5b2, 0x58bd8c71, 0xb58ed5cd, 0x6320ae84, 0xacbdeba6, - 0xc3b2388e, 0xa745d577 - } - }, - { - { - 0xe8838aa7, 0xcfe8a0d, 0x7f4d10ce, 0x91c993ef, 0x39b6ca7f, - 0x4a0cd838, 0xdd8ed97e - }, - { - 0xf1745675, 0xc6cb9d7e, 0xde4fe91f, 0xe8ea40b6, 0x980b38b5, - 0xc6190dc7, 0xdd8496f4 - }, - { - 0x1458f0e8, 0xe8bbfa1f, 0x3bfd05d7, 0x5efeffc8, 0x63fa66c, - 0xf156f94a, 0x93da80a8 - } - }, - { - { - 0x78f0a51b, 0xb48cf9c2, 0x7ced33e8, 0xe601a7eb, 0x41ed5f24, - 0xf5103f39, 0xec5a505b - }, - { - 0x37214a56, 0x3d284c46, 0x8abf236c, 0x4c21eb43, 0xfa317150, - 0x6ebd129b, 0x3ffc6b81 - }, - { - 0xd88bc8d8, 0xd0018012, 0xabb2249f, 0xca28a4c8, 0xc8ca91cf, - 0x6bb15c28, 0xf6aa0253 - } - }, - { - { - 0x31a349d1, 0xe1c9a5c8, 0x29e66faa, 0x7dc18aef, 0x632467a1, - 0x98e82f64, 0x9d34f3f8 - }, - { - 0x2b90f8ab, 0x94ac6d2a, 0x1651a64f, 0x7efd91cd, 0x5d945bb4, - 0xdc01c49a, 0x27c90c66 - }, - { - 0x4d26be75, 0x4a2147b7, 0xf2c081ef, 0xd8335270, 0xef7796d4, - 0x82ab7898, 0x6e45aa41 - } - }, - { - { - 0xbd6350de, 0xd1666283, 0xae01ade4, 0x7e21fabf, 0xbf0f7c90, - 0x5890d2a1, 0x47135c05 - }, - { - 0x1405111, 0xdb87610e, 0xd943bd21, 0x9c4a27c7, 0xb751e2c9, - 0x30efbbe5, 0x181efa1 - }, - { - 0x590fe993, 0x9cb0919b, 0x58da1ecd, 0xe4b7a96d, 0x5721a626, - 0x273feae9, 0x57a1c2f0 - } - }, - { - { - 0x81556f96, 0xeb39e3f4, 0xb93ca7df, 0x103f7b73, 0xd6d1be7f, - 0xf4bf1985, 0xeea28f3a - }, - { - 0x3eeb5621, 0x145ba0f6, 0x95de7519, 0xbabe506b, 0xcb809133, - 0x2af501f7, 0x88a5ba09 - }, - { - 0x4bc886f6, 0x5cd48f37, 0x64a0d29b, 0xcce20e0b, 0x48b638ec, - 0x7a34f450, 0xec62cc41 - } - }, - { - { - 0xe008fe2d, 0xd557bc1e, 0x3fd37b15, 0xaebc6a8f, 0xd89a3614, - 0x82ad371f, 0xd9151310 - }, - { - 0xc6d37c85, 0x105d70a8, 0xb1bf7e3, 0xf7186e5c, 0xef9ef75a, - 0xdfb4d0be, 0x8b3dd9b2 - }, - { - 0x3e23e2ba, 0xa42777a6, 0x1f373bd4, 0x918d38da, 0x95abb665, - 0x97bffe57, 0x4dce053 - } - }, - { - { - 0xc6550781, 0x8e640b47, 0x186ab03c, 0xe8cd0cf4, 0xaaf60511, - 0xb62049f4, 0xa5603bd1 - }, - { - 0x817417b2, 0x432a1fb3, 0x4fb77695, 0x7ec9b984, 0xa7acf1f6, - 0xc577559e, 0x207e032 - }, - { - 0xf3e90c41, 0xdb1ae1c8, 0xc406fc0b, 0xf8e06650, 0x93ce5b8, - 0xa68e7bb, 0x771aef14 - } - } - }, - { - { - { - 0x79cfe0d8, 0x6f138966, 0xbed04162, 0xf1bcc68a, 0xa32e34f3, - 0xae309094, 0x64432bda - }, - { - 0x9cf09cc6, 0x91284670, 0x3e9022da, 0x4320d04f, 0xbb99a366, - 0xf8242f7, 0x3705d59f - }, - { - 0x1af48f85, 0x7416d178, 0xf5e850f2, 0x32f1c8bb, 0x8adf3c3b, - 0x1a44e83c, 0x60bf45f2 - } - }, - { - { - 0x4d85c5f2, 0xfd3ef2d7, 0x2c95994e, 0x6a32cc4b, 0x5351e0bd, - 0xc6377314, 0x8993e098 - }, - { - 0x14bb21da, 0x5618ab30, 0x507ae75, 0x2b59a158, 0x84ab633c, - 0xc750b124, 0x129ce9f3 - }, - { - 0x82682aa8, 0xd51817b8, 0xb1a00f0f, 0xeded3731, 0x1f7e90b1, - 0xabc5ba3e, 0x6f7da653 - } - }, - { - { - 0xdd79af2d, 0xf26e8776, 0x43445542, 0x6d47a1b8, 0xb8b41849, - 0xc902ccee, 0x3f346238 - }, - { - 0xf05c4ce8, 0x417fc1bd, 0x680ba5cc, 0xc71635f4, 0x76291aa6, - 0xc4cb830a, 0xe70dbc23 - }, - { - 0x5d85c4c9, 0xe13445f6, 0x5530476, 0x5f5bea88, 0x682a79e5, - 0x39422c13, 0xd599e412 - } - }, - { - { - 0xf18d5fbe, 0xe81b3457, 0xd345fc37, 0xae81e844, 0x7cbee206, - 0x4742d2f0, 0x1e1427c1 - }, - { - 0x4e0e87a7, 0x21ca0f79, 0x8e8f58a5, 0xdadfc462, 0xfc03cdfb, - 0x44227fe2, 0xb5c9f343 - }, - { - 0x3ade6ae4, 0xef53577e, 0xfe274ab9, 0x7778594e, 0xf343126f, - 0xba90dfd9, 0x11a2b5f5 - } - }, - { - { - 0x3cca6ff, 0x6fea7f9d, 0x5c411354, 0x5ea508bf, 0x627ee988, - 0x7c9c7b24, 0x56741fc - }, - { - 0x30846f84, 0xde079ef0, 0xe861f9e7, 0x24b5a28e, 0x4d971623, - 0x87afd75e, 0x81aa37ec - }, - { - 0x80fabfc6, 0x75109d85, 0x7bcc6b55, 0x6cca9359, 0xcdca6005, - 0x7847c3a8, 0x4ed34470 - } - }, - { - { - 0x3afb8aba, 0x56e7520f, 0x31c4cfcf, 0xcaaa765e, 0xf71c37c, - 0x31562ae8, 0x916c8f70 - }, - { - 0xb160d189, 0x1ab9261d, 0x549ac686, 0x3da5b303, 0xa7b46a9f, - 0x62ab8cdc, 0xdd2cf44b - }, - { - 0xae2f4992, 0x65e3b2d5, 0x917d8557, 0x2f8c86a3, 0x930a5a8, - 0x28e67c56, 0x70727854 - } - }, - { - { - 0x56017ee6, 0x23aeb45, 0x5abb5ac8, 0xcdc9018d, 0x55b66a22, - 0x4d1b3715, 0xe93a269 - }, - { - 0x49db339c, 0x2b5e4fda, 0x55bd3e7a, 0x590ad8b0, 0x9ee60cf6, - 0x9afc097c, 0x56ac1ee9 - }, - { - 0x6ad018db, 0x5fc0936d, 0x3ecff900, 0xc3ccdb4e, 0x99c3b0e2, - 0xf98a1230, 0xa9384b69 - } - }, - { - { - 0xfcd29354, 0xd06e70e1, 0xe6a5a8cc, 0xe8a1fbe7, 0x524568bf, - 0x8078778d, 0x3f0c6c4d - }, - { - 0xd88eb410, 0xe718f1ed, 0xfb500351, 0x838a4682, 0xf8ab5472, - 0x79b368d9, 0x56b8c569 - }, - { - 0xa6516026, 0x829dd021, 0x6428062a, 0x21788228, 0x42a7caee, - 0xfd5d9992, 0xf2387163 - } - }, - { - { - 0xa8ad4610, 0x2930567d, 0x42ead1c4, 0x1460dd91, 0x29c7e481, - 0x9551451f, 0x717192cc - }, - { - 0xd6a592d9, 0x7098bc7b, 0x83455698, 0x247d8024, 0x23ae6b1e, - 0x695bbc6e, 0x9aa0d6c - }, - { - 0x5cb6a6fb, 0xd6a128d3, 0x58ae459a, 0x9de72147, 0x3ef3ca68, - 0x95c461b, 0xa4ef3ceb - } - }, - { - { - 0x1e6948bd, 0x8a9d7d99, 0x4047ad8c, 0x18f46a03, 0x5d3e6e3a, - 0x1da5bc43, 0x9bfe9c7 - }, - { - 0xee404f16, 0x20ff21b9, 0x9bb38a89, 0x1c3deca7, 0x89c560e4, - 0xdb00c090, 0xe7b04275 - }, - { - 0x8a57145b, 0x1bb3b75c, 0x5ce57a5c, 0x95b3793f, 0xcd90ce3b, - 0x326321b0, 0x587ac567 - } - }, - { - { - 0x2b2c4275, 0x7c929ccb, 0xf7e35e74, 0xbbac2618, 0x290742ec, - 0xa6d8a74c, 0x63d9014a - }, - { - 0xcca454f2, 0x4a3cbc6e, 0xbfb54f01, 0xdaae41f3, 0x4aa0a1e6, - 0x78c6e175, 0xc02ccf62 - }, - { - 0x1fdeaaae, 0x7cad4676, 0x510a0033, 0x4e8eac63, 0xb1314727, - 0x570fea7b, 0x49c2cb85 - } - }, - { - { - 0x62831cb5, 0xab535e11, 0xfc56b81a, 0x1c97c385, 0xa21aa059, - 0xc3c035d4, 0x39851e82 - }, - { - 0xbb558145, 0x4e531be6, 0xb0dbd7f0, 0xb76956cf, 0xae816290, - 0x825f4e00, 0xaa3dda92 - }, - { - 0x11c14a3b, 0x89f8998d, 0x9fea5677, 0x286accd3, 0xfc50e81b, - 0x9cdc2b67, 0x1216c328 - } - }, - { - { - 0x3d35f86e, 0x54519247, 0xc3dd6552, 0x955df041, 0x90a872b0, - 0x26aea1e1, 0x557a9642 - }, - { - 0xed3df04e, 0xd167f764, 0x97dd034c, 0x23941c59, 0xe6042465, - 0xe294acbd, 0x1d4193b9 - }, - { - 0xbb6e7b49, 0x3d8cb50, 0xf1b49fa7, 0xa864dad8, 0xcdff44ff, - 0x78a5286d, 0xbc165580 - } - }, - { - { - 0x63d987ec, 0x497e4163, 0x35e58128, 0x1ddd044d, 0x8ed75241, - 0xcac72a55, 0x4a4f5946 - }, - { - 0x8c28a9fa, 0xb6aef890, 0xa342b04a, 0xc1d8ca65, 0x9ccca3a2, - 0xd2607ad1, 0x599fe8a1 - }, - { - 0xc4dc49e0, 0xaf9c7bd4, 0x746156f0, 0xe4ae516f, 0x68bd536c, - 0xa0da52f6, 0x51152289 - } - }, - { - { - 0xe9a1cfa4, 0xe0c89b92, 0x423a6979, 0x6cb84f26, 0xbb640a01, - 0x6f0b42d9, 0x5a302796 - }, - { - 0x62033cca, 0xe8533431, 0xc503647d, 0xa90134da, 0x8372c336, - 0x1f283284, 0xaa7df357 - }, - { - 0xe760bf9e, 0x7529f47, 0x52950dc9, 0x53011311, 0x59189666, - 0x863cb629, 0x43d10685 - } - } - }, - { - { - { - 0x3fd4144f, 0xd007a12, 0xa7b13849, 0x137796ee, 0xcd81cb23, - 0x270efa5b, 0xaf608f16 - }, - { - 0xeb403680, 0xce9405, 0x17be4c42, 0xf9bdfdb7, 0x615923c4, - 0xc15a4c3f, 0xa4a0cbb4 - }, - { - 0xcb453e04, 0x89026595, 0x9a8675ff, 0x9ec7fff4, 0x273dc14, - 0x5f971995, 0x90e5ac35 - } - }, - { - { - 0x9c94ad0, 0x5fbb6d16, 0x478885c0, 0xa8959562, 0x93b9f3ea, - 0xe2082fbd, 0xee312a5d - }, - { - 0x516201d6, 0x535a6b5c, 0x162e6af, 0x60cb404e, 0xb470c62, - 0x51695ce7, 0x6c484ea2 - }, - { - 0xc7b521c2, 0x6e581169, 0x490353d0, 0xe01e904, 0x73903893, - 0xedd3fc05, 0x1d738ede - } - }, - { - { - 0xe5139e7e, 0x798b445a, 0xcd08d18d, 0xc34026b8, 0x8d1c2860, - 0x8c50d3a5, 0x9badf8c3 - }, - { - 0xc24ba53, 0x763135a1, 0x33bba874, 0xeb870346, 0x91aee62d, - 0xb5745757, 0x8866dc6c - }, - { - 0x85f76d45, 0xbeeeea32, 0xa049325a, 0xbb247ee5, 0xbe4690f1, - 0x5e99fc7b, 0x23622b89 - } - }, - { - { - 0x7643487e, 0xdb1f4f75, 0xb3880bb5, 0x12371b4c, 0xa3fd15ae, - 0xf0811672, 0x78b71a61 - }, - { - 0xa369e330, 0x36b77aa2, 0xa80968fc, 0xf896bde2, 0x19851603, - 0xb2c979e5, 0x53d5dfb0 - }, - { - 0x68324322, 0xd838e0d, 0x4b3fd7cf, 0xa4f484e8, 0x7ce4c3ae, - 0x90844327, 0x45841f27 - } - }, - { - { - 0xf7f6b8d8, 0xc3fbecba, 0xd4f16289, 0xf64b777, 0xc2e67e2b, - 0x82e86665, 0x54101135 - }, - { - 0x715b5ca8, 0xfecfd5f5, 0xee045f40, 0x14390150, 0xf39c9a5, - 0x4ede4ec2, 0x29f04950 - }, - { - 0x60bea55a, 0x8002bd63, 0x2289b0ab, 0x9a1b9548, 0x7befe453, - 0xfa5850d9, 0x630cfa2a - } - }, - { - { - 0x9f7a3662, 0x489abda5, 0x1bd4e11e, 0xf7121363, 0x74b1db99, - 0xd629bdef, 0xab7273f1 - }, - { - 0x6d1086e8, 0xf8b0936b, 0x3aa0836, 0x69ba5791, 0xca15c501, - 0xea38cf8f, 0xbff22fa9 - }, - { - 0x818e24a1, 0xa492fda5, 0xc339b41, 0x100dd184, 0x2557ecd0, - 0x1a4810cd, 0xc106042f - } - }, - { - { - 0x68ac0ad9, 0x3ef3955, 0x3e8515ca, 0x5c480df3, 0x402f3363, - 0xdfb4ca4e, 0xf1a78de - }, - { - 0x4cd9b2d, 0xa0afae4f, 0x4e079586, 0x9363eae2, 0x64a86051, - 0x2cead5da, 0x8e489786 - }, - { - 0x70514e62, 0xe781d324, 0xd8da017b, 0x9312bb5e, 0xcd10b732, - 0xaddd766b, 0x71239d01 - } - }, - { - { - 0x59fbaef8, 0x65ca1a5a, 0x2d435b91, 0x1f2e894e, 0x23c1074a, - 0x75f334b6, 0x379afe10 - }, - { - 0xb8c46db4, 0x5b24ccae, 0x5485919c, 0xae77d8f4, 0x3268ebeb, - 0x185ed55c, 0x168e01fa - }, - { - 0xb0e227f8, 0xe9f103c6, 0xd3c6c38e, 0x1908a2e4, 0x665f5305, - 0xa27cc62a, 0x9f0f492e - } - }, - { - { - 0x4d6b68d9, 0x773a8bc1, 0xa38182eb, 0x125c8465, 0xedc39c72, - 0xebf5f76d, 0xba9f2cfb - }, - { - 0x8ad36e68, 0x1e8ab25, 0x26d39373, 0x847e65c2, 0x4b7c134e, - 0xc0204769, 0xa733edf7 - }, - { - 0xabbc4450, 0xc944e269, 0xabef1b77, 0x8951a25c, 0x39fd1c37, - 0x56d80722, 0x3437405c - } - }, - { - { - 0xef6a8c1e, 0xb3af1b66, 0xbc1ea80b, 0x9608c5ae, 0x182f937f, - 0x26365686, 0xd16e8025 - }, - { - 0x1bc7fc92, 0x3dd1e74d, 0x522c3fe4, 0xa65774e3, 0xb083775e, - 0x88c62466, 0xac851fdd - }, - { - 0x57fed06, 0x1facc045, 0xa833a504, 0x6d1d647f, 0xb8a776a8, - 0x58ed67f0, 0x9d29fc0c - } - }, - { - { - 0x8a9da9ca, 0x59daa939, 0x755434d9, 0x203cf78d, 0x1c315548, - 0xe1bda86d, 0x2230d45f - }, - { - 0x680ba392, 0xb547be43, 0x4ca79423, 0x2418ccc5, 0x1abe1b37, - 0xf75baa91, 0xb37754dd - }, - { - 0x5ead3370, 0x502fc731, 0xec072989, 0x5f7a9280, 0xf74a833a, - 0x95b6da00, 0x3bfa5b4a - } - }, - { - { - 0xadef308d, 0x928b3ed6, 0x6c31f8a2, 0xa8196bb2, 0x6f0ab9b3, - 0xf1f801c6, 0x8f3977c3 - }, - { - 0xf0ae3420, 0x28869975, 0x2653c60e, 0x33883418, 0x7ed0a0ad, - 0x1949c159, 0xadc80bd7 - }, - { - 0xf2f724d6, 0x28842c3a, 0x1c43a56, 0x12126489, 0x32a57ca9, - 0x657f3ba0, 0x3227c1e8 - } - }, - { - { - 0x521a0e01, 0xd517a84b, 0xf61f1882, 0xa8ad936e, 0xf2fdc2f2, - 0x1ad66c52, 0x64eff281 - }, - { - 0x5d345094, 0xcb62be2d, 0x79313274, 0xfcab7c66, 0xb2efe62c, - 0xd48a9ea8, 0xa37944be - }, - { - 0x43a6710b, 0xdeae47b2, 0x273f4bfd, 0xcddfb563, 0x1c73f457, - 0xd867e063, 0x2050a21 - } - }, - { - { - 0xca4d549, 0xb47e3f92, 0xb5f770d6, 0xd98da1c1, 0x6bb2b3d9, - 0x25b9cd41, 0x540a989f - }, - { - 0xaaba38d8, 0xe59e9fc0, 0x69fae862, 0xce2aefa5, 0x6f9fefa2, - 0xe10a97cb, 0x992711ef - }, - { - 0xdfecdb40, 0x77516da5, 0xb84fd04f, 0x783014ff, 0xb1bb9f79, - 0xe07e9a73, 0xe0aba37c - } - }, - { - { - 0x4f0c9382, 0x7333a0a1, 0x66f70be7, 0x607fe834, 0x5ed659b8, - 0xad04d0b7, 0x104c484b - }, - { - 0xee17ea3c, 0x1eae4bca, 0xea6bff6, 0xa282814c, 0xbe21382f, - 0x80a00b85, 0x22694bf8 - }, - { - 0x871d37c8, 0xaed0cc52, 0x254b6358, 0x654baf04, 0x3fc10e85, - 0x2e1a5e7e, 0xa72f04b9 - } - } - }, - { - { - { - 0xa81813a4, 0x5117a0cc, 0xb30359e3, 0x8e658c95, 0x5de09a61, - 0x637438ea, 0x458ad1d - }, - { - 0x8de5d69e, 0x8358cbbf, 0x558d5fe, 0x28d40f01, 0xa7fbfc71, - 0x7a8cdf74, 0xb480bef7 - }, - { - 0x7c6032b9, 0x8c31cb2, 0xc58416b3, 0xdcc0dc1c, 0xd416fe98, - 0xfcffd0f5, 0xff07e7a8 - } - }, - { - { - 0x44ebb16b, 0x4878d3d4, 0x6405f083, 0xc0af7128, 0x5638633a, - 0x1aecfc0b, 0x1833ff71 - }, - { - 0xdff8c6a7, 0x77e80e3b, 0x6f2c2cc5, 0xa4cf74ff, 0x8e29bcd5, - 0x7677e330, 0xb7346806 - }, - { - 0xfb058295, 0x4bdfefd4, 0xb5ca2149, 0x59f85d62, 0x21455673, - 0x91f4ae4b, 0x85f87909 - } - }, - { - { - 0x1d8ab1e4, 0x18ed837b, 0x23c0f09f, 0xc72a3d69, 0x3d39c702, - 0xcaea0c07, 0x68efc58b - }, - { - 0xaaf1770f, 0xaa934dcd, 0xe3decd8e, 0xe144ed72, 0xfc3b26d2, - 0x29ad1da5, 0xc24971a0 - }, - { - 0x44f5b446, 0x1c4b0578, 0x66dbf560, 0x6f0281c4, 0xffeaf1, - 0xfebdb0a8, 0x51471872 - } - }, - { - { - 0x249b9b98, 0x4052cf8b, 0xe5eb1a39, 0xd9fe2a77, 0x96371d5, - 0x893dbe47, 0xc1fd81c7 - }, - { - 0xf5b3dbb4, 0x3ec68765, 0xc2416213, 0x43ed0d03, 0xcc0e840b, - 0x78d76405, 0x317875c8 - }, - { - 0x83a516d0, 0xb114b7a4, 0x875d4b31, 0xeb0966e4, 0xb555d2b2, - 0x938ee32f, 0xd7eb596a - } - }, - { - { - 0xb7f03e02, 0xe3890549, 0x7393d32e, 0x8b92da1f, 0x94c38593, - 0xa307738d, 0x1e643344 - }, - { - 0xaa7d07cf, 0x2ad1ddb6, 0xeaab8e2a, 0x2afc2250, 0xe523ee9e, - 0x4d5750bc, 0x7f13537b - }, - { - 0x53e6bab8, 0xeae96d9d, 0x6dacef1c, 0x84dc2c92, 0x96e16617, - 0xd1159ba5, 0xf3134837 - } - }, - { - { - 0x7ff0308b, 0x117f42cc, 0x74519978, 0xca368fb6, 0xa62768be, - 0x45974495, 0x689e26af - }, - { - 0x9f22063e, 0x2d5e07a8, 0x780cd4bd, 0x95a480bb, 0x3125ba7, - 0x18d8682b, 0xae1b2e2c - }, - { - 0x69c97816, 0xb2a1e2f3, 0x19ee20d2, 0xff97d40d, 0x763a636e, - 0xe0d9f872, 0xcd32c368 - } - }, - { - { - 0x15b670b6, 0x9918de1b, 0x2e22681e, 0x71ec4371, 0x50a575d2, - 0x8b4637cb, 0xf1cb2268 - }, - { - 0xdb584e13, 0x44c827f0, 0x29551d9a, 0x5252ed4e, 0xa4048ab, - 0xfeda0027, 0x9e86b4bc - }, - { - 0x71000e9, 0xfbe39508, 0x9778a38b, 0xd931a2ca, 0x70ee0920, - 0xf687b190, 0x5c131ae2 - } - }, - { - { - 0x6ff70aac, 0xa13c8e76, 0x8ef397b6, 0x6a2ca20f, 0xc94d293a, - 0xf2999d53, 0x3013ecaf - }, - { - 0xc28427d1, 0x2183e66b, 0x942445f6, 0x29d3d04d, 0x39b8bee1, - 0x881b4ee1, 0x8070b5f7 - }, - { - 0x2d0b857b, 0x622e36c5, 0xf556b86a, 0xffd2f53a, 0xc6dc430, - 0xadb47254, 0xd3e853ce - } - }, - { - { - 0xc9a94e7f, 0x4363b762, 0x8e7a5591, 0xbd83af7e, 0x7c22687d, - 0x18cb6a44, 0x3baffbe - }, - { - 0x56e1b5e7, 0x41123d53, 0x75448bc5, 0x2b70829a, 0x2dfdc49d, - 0x6b0b9b82, 0x7366c818 - }, - { - 0xe1c8c148, 0xc47213a3, 0xbf47f1b1, 0x625167c0, 0xec1ed7f, - 0x9df52891, 0x6c086533 - } - }, - { - { - 0x4b2e4668, 0xb71fd9bd, 0x729e6334, 0x9ea59382, 0x5bbf6579, - 0x96b50c84, 0xdf6e1ef3 - }, - { - 0xed674b4a, 0x6e4821ae, 0x1ebd0cb3, 0x587b17d7, 0x7e64c9b6, - 0xe9024851, 0x340b42fd - }, - { - 0xd5906b2b, 0xf1a55538, 0xd224afa4, 0xb9871cc1, 0x85f20b4e, - 0xd80db0c3, 0xd8c4e4f1 - } - }, - { - { - 0x53ca8cc2, 0x1d58b6d2, 0x6944821d, 0x449e999, 0xec299506, - 0xbd6f12b6, 0xd953df3b - }, - { - 0xad175493, 0x94ba8de4, 0xbea8e050, 0x4bb26738, 0x220a042a, - 0x61ff9356, 0xec780b06 - }, - { - 0x31fa5a31, 0x9a946cde, 0x32b1d41e, 0x8571ae33, 0x95d031c8, - 0xf0fcbf5f, 0xdd5d3a5d - } - }, - { - { - 0xaf234efe, 0x61c82bde, 0x8f684214, 0x6d37dbfd, 0xeb072bdf, - 0xfde9d533, 0xc355fc46 - }, - { - 0xd27d7eda, 0x9a446d01, 0x5f917fde, 0xbd1efe2e, 0x3c891588, - 0xa7ae3d88, 0xcf5e39fd - }, - { - 0x9ef6d863, 0x9fb6ad7, 0x82db0e86, 0x9deabab7, 0x8414df35, - 0xeb9351a8, 0x2944616c - } - }, - { - { - 0x3805ee53, 0xad62b9b9, 0x8107dc55, 0xf3c9f7fa, 0xb223c0dc, - 0x4ea685c1, 0xd47ba736 - }, - { - 0x5c247861, 0x9ecd1adc, 0x44d00a15, 0x2bfed76e, 0x76338730, - 0xd4d8e7f0, 0x862bc2a9 - }, - { - 0x5fc77c02, 0x8892a876, 0xf3e7ea3a, 0xc5f213f9, 0x622f013b, - 0xdcb3e8c1, 0x221e5e7a - } - }, - { - { - 0xf1e78267, 0x54646f7f, 0xa51b8a20, 0xc9c6314, 0x99a9d227, - 0xf47a0880, 0x4a535c56 - }, - { - 0x7f1cc667, 0x52d50a3e, 0x8eeaf973, 0xb412d1f9, 0xe7713234, - 0x6c3e5030, 0x43b5da88 - }, - { - 0xe65b2e65, 0xe0d358a8, 0x2ac38e14, 0x8bdc3dac, 0x892c7d6, - 0x3bb5476e, 0x99e9269d - } - }, - { - { - 0x3236dd06, 0xe0927824, 0x3cefd863, 0x49d6fa8e, 0xe5f64db5, - 0x4d69b6c3, 0x7f9f0ab2 - }, - { - 0x28272d06, 0xf4406c8d, 0xaadec9c4, 0xb8716806, 0xcae3573a, - 0xb4f88850, 0x8318393b - }, - { - 0x641f64dc, 0xc50a2e74, 0xed58a838, 0x9210509b, 0x4ab22696, - 0x989b8ae1, 0xf7bbdf6a - } - } - }, - { - { - { - 0xf7ef885d, 0xc0e24d85, 0x50b5a064, 0x9a867678, 0x41a69aa7, - 0x5a03f493, 0x2ca73d58 - }, - { - 0xaa82be6f, 0x4a936e17, 0xc4f4c69c, 0xa1f5fe33, 0x9774be19, - 0x8159a53f, 0xc2e6469 - }, - { - 0x74429449, 0xeb2de4eb, 0x2b130b09, 0xa369c10a, 0xaa3457e0, - 0x438a4765, 0xfa40ad1f - } - }, - { - { - 0xd2a68b06, 0x727b7178, 0x5653673f, 0x97a96b3, 0x5c414d3a, - 0xc9c887b6, 0x36553748 - }, - { - 0xebffb7ac, 0xbfc87522, 0xa4d25e1f, 0xfca68254, 0xb178487b, - 0xd65c5f76, 0xa8a634c5 - }, - { - 0x4286dae4, 0xce0b3d08, 0x56cd8b4e, 0xcc80604, 0x49b7252a, - 0x837e9caa, 0xf7af3f2e - } - }, - { - { - 0xc3fc5d6, 0xa775467a, 0xe68cdee, 0xf7dbe4f6, 0xff9130b8, - 0xd6c2cb5a, 0x32ef171b - }, - { - 0x3cb44aad, 0xce897328, 0xd1c65b89, 0xf168a07a, 0x4a864813, - 0xe39cd385, 0x146c5b5a - }, - { - 0x53acf4a2, 0xdab899b6, 0x874d3f53, 0x46a756d0, 0x16d8efb1, - 0xd5e34718, 0x2b67ffcf - } - }, - { - { - 0x33af104a, 0x7f05caa3, 0x42128c1f, 0x603510b1, 0xe3cf0587, - 0xb61c4a4c, 0x939e23a5 - }, - { - 0x5d1b7b6e, 0xd93c66c7, 0x7dd789, 0xbfb443dd, 0x49a48f2a, - 0x21e23689, 0xfc7b8725 - }, - { - 0xd2ae5839, 0xdb856aa5, 0x61fa0e2d, 0xf1a0b35d, 0xf392bb89, - 0x181181a3, 0x8b4f3043 - } - }, - { - { - 0xd4cbc5a1, 0x3f74950d, 0xb1c57ba0, 0xd01be076, 0xa42a6d21, - 0xf8ae3b23, 0xd8e186c6 - }, - { - 0x57b04cbc, 0x6e57ebf6, 0xe6e40522, 0x6b2065cb, 0x47007ea6, - 0x2a07af9e, 0xb0d6f000 - }, - { - 0x5e4ae4a3, 0x9503e6cb, 0x86632392, 0xc61d6420, 0x337354ca, - 0xdf36e363, 0x3151600a - } - }, - { - { - 0x4df38c05, 0xd1fce086, 0x9cc54310, 0xdf3acb00, 0x38c6b6d5, - 0xd62c8b0c, 0xcf37cdfa - }, - { - 0x809a48d1, 0x7c5168a3, 0xbf57d1e2, 0x461a119b, 0x4297e36d, - 0xa50b2cf1, 0xec6ef8cd - }, - { - 0x906696c8, 0x2e5e6410, 0xa65bf978, 0x8b2414b7, 0x5e81ac0c, - 0x5676d034, 0xc9a17f3b - } - }, - { - { - 0xc50f1f2a, 0x935d2b9b, 0xc482618c, 0x6a61f04c, 0x93b5a05b, - 0xd5d3aa10, 0xcd2f2f93 - }, - { - 0x46d18485, 0xd2bddc46, 0x59f942bf, 0x5e51285b, 0xd1b7ea14, - 0x834e411e, 0x59365c32 - }, - { - 0x57434f46, 0xe6e57be8, 0x5a49bfbf, 0xa4fa7fde, 0x712d9ac2, - 0x575b1bb7, 0x3937c0f2 - } - }, - { - { - 0x6b380504, 0x3e26a643, 0xad12c3a5, 0x94c14567, 0xc8776948, - 0x1e21337a, 0x4a26197f - }, - { - 0x774d8694, 0x38142c04, 0x61ec44f3, 0x4e02f68, 0xf66781c9, - 0x3c8285da, 0x92eacd8f - }, - { - 0xfe8b0557, 0x3c3eeed1, 0xeb5d6832, 0x48c7973b, 0x6f63c304, - 0x2d5ac3de, 0x9768ede5 - } - }, - { - { - 0x2a02fa3a, 0x9ac614a2, 0x6ad33c0e, 0x4a712302, 0x5921fea3, - 0xba3dc746, 0xbe95a1bf - }, - { - 0x2db231fa, 0x9cf893cf, 0x792d990c, 0x21efbbbf, 0x37218c0b, - 0xfbfdc011, 0xf17b6184 - }, - { - 0x4b26b727, 0x3d88861b, 0xaf3ab3f8, 0xdd96e85a, 0x7db11a17, - 0xeeb71e6f, 0xcfa78ead - } - }, - { - { - 0xed0d2dbd, 0xc7fedf0, 0x46dcd0dd, 0xe88c1de5, 0x3083ae42, - 0x502d67ac, 0xd097df61 - }, - { - 0x8f486c45, 0xbd79c89, 0xe9c95a4d, 0xfd5bb492, 0x575407fe, - 0x4f8c0b76, 0x316ca40 - }, - { - 0xd39eedf1, 0x9f014dfe, 0x87fafe45, 0x9e7327fe, 0x83e36e5, - 0x885e4d26, 0xcc5c4651 - } - }, - { - { - 0xee39b700, 0x2e4a4784, 0x19302a41, 0xb61ffb89, 0x62f762aa, - 0x1d67243d, 0xced0cd1e - }, - { - 0x43366066, 0x756fe437, 0xcf7f8900, 0x9e222f99, 0x4542c859, - 0x69003d4d, 0x929bcd11 - }, - { - 0xa87fa233, 0x6999e2e1, 0x4911d840, 0xa26e2433, 0x5f6789ea, - 0x4f2bc753, 0x6b57c1b6 - } - }, - { - { - 0xc4c6bc1d, 0x31dc45e0, 0x42dcb3c, 0xd5c6943d, 0x4a57f79e, - 0x22c94fb7, 0xa0e457ed - }, - { - 0xf744781c, 0x776bfba6, 0x86f8d7fc, 0xce309996, 0xa2f19f80, - 0xd7ff076c, 0x20556550 - }, - { - 0xef083e0, 0xba6b860, 0x1d6ec306, 0xa33a2d44, 0xf63135de, - 0x61f77a68, 0x66f9b546 - } - }, - { - { - 0xe445bd09, 0x5c3a7efa, 0xa13b2ca1, 0xa319adbc, 0x33412d25, - 0x531bc303, 0x1c1660d - }, - { - 0x6baf62cb, 0x7dc645f5, 0xd12c89e2, 0xb22d66c7, 0x9e342c2e, - 0x1f21cabe, 0x628bf87d - }, - { - 0x12296210, 0xd6f35f8b, 0xb445c197, 0x3aefbf6a, 0x75940f75, - 0xa73610a1, 0x501050f8 - } - }, - { - { - 0x5704292d, 0x3db610a, 0xf0bb8b6b, 0xa2633184, 0xa3ad9cbd, - 0x64099966, 0x9cdc3f5c - }, - { - 0x44fce03e, 0x2c959578, 0x78df6faa, 0x1fa35667, 0xa3a24e4b, - 0xccdb12e5, 0x29531b5a - }, - { - 0xa0662898, 0x13958247, 0x7621b2bd, 0x9bc79a29, 0x21e16283, - 0x9dcbed2a, 0x483b2863 - } - }, - { - { - 0xce21782, 0xeef61e87, 0x1674c6b2, 0x5033a498, 0xa20754d4, - 0x6fb4a3fe, 0x57a130d3 - }, - { - 0x72cec190, 0xa96eece0, 0xa6426b7, 0x188a660e, 0xadbc3a4, - 0xeb197e4b, 0x9d4fce3d - }, - { - 0x93ceb899, 0x6a2f2bed, 0x43783a24, 0x2ddc6a81, 0xf5b459c3, - 0x2ab0cd61, 0x9dbfc137 - } - } - }, - { - { - { - 0x468ca223, 0xfad1679a, 0x13146b82, 0x98c5111, 0xe19d44d9, - 0x29ab93ac, 0x2593f707 - }, - { - 0xea6c1ec3, 0x28d57fe2, 0x43719fea, 0x6bfa6a8b, 0x5249e440, - 0x3da203b5, 0x1c8b8df9 - }, - { - 0xe373344c, 0xba423d61, 0x5caf75a1, 0xa7c97f75, 0x40dac8d8, - 0x538b1b83, 0xad11858d - } - }, - { - { - 0xef739191, 0xc1c1f3e7, 0xdf12328f, 0x474a1545, 0xbe4a1f70, - 0x5b97886c, 0x70c27e81 - }, - { - 0x3978210d, 0xd82d76a9, 0xf26f6c6, 0x9329c3b8, 0x6b93cce5, - 0xf99ee019, 0x56e19d6 - }, - { - 0x2995bdfe, 0xc1deae86, 0x2fff7ebf, 0xa344ead4, 0xdc44eca8, - 0xd317f4ae, 0x66446a16 - } - }, - { - { - 0xe34b8a17, 0xaecba030, 0x2a4cc05f, 0x24d14873, 0x69758d52, - 0xd2ed01c9, 0x6d227ee2 - }, - { - 0x3fd60a89, 0x5c8e55b, 0x26ba2a24, 0x100bc3ee, 0x2369538b, - 0xf0398e19, 0x67fb41c6 - }, - { - 0x1a383ce3, 0x313eee78, 0x4deeaa96, 0xb4205419, 0xc04ea563, - 0xfc545610, 0x792e0820 - } - }, - { - { - 0xe8da7adf, 0x276ed9f9, 0xe09c00a2, 0x2d8354d4, 0xb4c8ccd, - 0xa3684bcc, 0x173852cf - }, - { - 0x897253ad, 0xdb4c903c, 0x503bb3d8, 0x716884e4, 0xd9cda6f3, - 0xe1a64300, 0xa2c25fd6 - }, - { - 0xacde5730, 0xa5e5013f, 0x10298c03, 0xc32dc0d4, 0xafa01eb1, - 0x2121dfb8, 0xdfbb17aa - } - }, - { - { - 0xb638fd1d, 0x87909615, 0x3d06d8ba, 0x93357eae, 0xaf82dd62, - 0xa0aa0e4d, 0x1121eabe - }, - { - 0x6eb14297, 0x9ed1fe00, 0xaba794dc, 0x95c94383, 0xf79b758a, - 0xd941c6d8, 0xebdf949c - }, - { - 0x36b53801, 0x8e11a268, 0x23faf853, 0x1f5f70e9, 0x69af483b, - 0x1fb32a96, 0x1a7f3cc5 - } - }, - { - { - 0xbb5d57c, 0x9f75555b, 0x7b859530, 0x50bbe4fc, 0x17da8cc3, - 0xba7a84b0, 0xc4c73b3d - }, - { - 0xc3ea0fff, 0x3fd3290c, 0x999d01c1, 0x9b9b986b, 0x3e46665, - 0xda2f4498, 0x316b3e33 - }, - { - 0x177b2f02, 0xea6079e8, 0xfb66dfc0, 0xe4adf078, 0xf1a9a855, - 0xb60019ba, 0xe7fc1fe0 - } - }, - { - { - 0x3e0d0edc, 0xc223c63d, 0xa9092eb9, 0x1a99df22, 0x424e5a3b, - 0x423c6c30, 0x8675aef6 - }, - { - 0xfcc4ed83, 0x49b3dc71, 0x14f8af6c, 0xb7d8bc71, 0xc1e36dce, - 0x9642431e, 0x82ac9a26 - }, - { - 0xa5c62e4b, 0xc7145f1b, 0x73a00eb0, 0x1aeb571d, 0x49385cda, - 0x815355b5, 0xc0fd98aa - } - }, - { - { - 0x9ac0676b, 0xd46e6887, 0xfaabafd, 0xb0c90336, 0x563c3e07, - 0x4a3e7fa5, 0xa2162f6b - }, - { - 0x839951c9, 0x81bd6115, 0xe5cc288, 0xacbf6d70, 0x39bf49c2, - 0xb67edd2d, 0x1892631e - }, - { - 0x17bbeb1d, 0x6d6ea66, 0x5cb81a9c, 0x98d6b1d2, 0x1d3259d5, - 0xa44d431a, 0xae05a1d2 - } - }, - { - { - 0xd1d26a76, 0x248d4bac, 0x30ba343b, 0x680b01ba, 0xe85a7286, - 0x2c24a3e6, 0xa263268 - }, - { - 0x7964fa41, 0xe838b0f1, 0xbd0ef354, 0x5c05eb5c, 0xb447418b, - 0xc6273ed6, 0x72066ccd - }, - { - 0xe6b6fe2b, 0x4bfd8bc4, 0xf0d51b0b, 0x91b3f7e5, 0x211c3c1b, - 0xc460cc07, 0xc9fd8d15 - } - }, - { - { - 0x662d3798, 0x49327b64, 0x4ec1c88b, 0xe729c084, 0x55b018c6, - 0x2f43c864, 0x39049d37 - }, - { - 0xfcce687d, 0xbb9d0663, 0xdf925cb4, 0x12ea36bf, 0xb6c45d01, - 0x5ea67d3c, 0x568b3073 - }, - { - 0x9e203d53, 0x61d2fcfc, 0x7d12a55d, 0x2c389ac8, 0x25eb8ad1, - 0xcf087bde, 0x48d433a3 - } - }, - { - { - 0x84fb92d4, 0xb2a1f2bc, 0xbaf91f27, 0xf78215ac, 0x180db9a4, - 0x7338206b, 0xf2126e0f - }, - { - 0x4d56642e, 0xab707141, 0xaa4da3b, 0xe35a0b93, 0xb37302fa, - 0xfbe6fc08, 0x10616fb6 - }, - { - 0xfd7da518, 0xd526f3a6, 0xc0a54f10, 0xd15a5a0, 0x855a63e, - 0xa8c65a37, 0x10261742 - } - }, - { - { - 0xeaebea6f, 0xed3aebb2, 0x1a71057a, 0x33d78af5, 0x3451ba46, - 0xfa580f59, 0xc943d641 - }, - { - 0x4566c7de, 0x1f67f72d, 0xc810cd05, 0xb02ba2d1, 0x3fb0b237, - 0xabc21f64, 0x200ebacc - }, - { - 0xb260ce04, 0x71efec1e, 0xb5cf6429, 0xc24aada8, 0xb1fbb011, - 0xed4d284a, 0x82f8d460 - } - }, - { - { - 0x35318ac3, 0xcc60bce0, 0xfd585148, 0xf942e117, 0x8ca134d6, - 0xa027b3d9, 0xf4ee5156 - }, - { - 0x32432270, 0xacfda1c1, 0x5d6c5fbe, 0x171ade5f, 0x1a8fa581, - 0x2f4a3abd, 0x54c0e241 - }, - { - 0x61dcd5a1, 0x83ca479d, 0xe7384de9, 0x3571270f, 0x3d9a0b33, - 0x6f575d6c, 0x84279c23 - } - }, - { - { - 0x4672c655, 0xc2965366, 0x11b98a51, 0xfe635be2, 0xf5b424e1, - 0x20d36041, 0x9a578115 - }, - { - 0x2b9b99ca, 0xe1ace903, 0x90196c39, 0x36408613, 0x82000d41, - 0xeb572d7e, 0xc5b3d70c - }, - { - 0x15d9cbe7, 0xaa0d1f9a, 0xd4d7d99f, 0xe3405795, 0x36d96e2a, - 0x2a054c35, 0xccee9d07 - } - }, - { - { - 0xfb886066, 0x54c021c3, 0x866c7528, 0x4a9cb5aa, 0x2eeffa45, - 0xeda7fe55, 0x1d85bcfe - }, - { - 0xde559529, 0x8502c1f9, 0xf98525db, 0xa7aeb149, 0x997df7d0, - 0x98d77e7b, 0x700765b2 - }, - { - 0xe581e3d9, 0xcc8f0fb1, 0x177844d3, 0x2dc1bf20, 0x677ba259, - 0x1579312d, 0xada865f7 - } - } - }, - { - { - { - 0xaa5a7924, 0x6ffc1320, 0xfc230f5c, 0x4d0cc37b, 0xe65d9cd3, - 0x3053a032, 0x1256063d - }, - { - 0x5daa2eb8, 0x8fd01dd6, 0xcb98b11f, 0x2f630225, 0xe94ab343, - 0xc47bdfba, 0x7389cb15 - }, - { - 0x38aa8100, 0xd25d8d66, 0xb78209b3, 0x763aee3d, 0x65ce9e33, - 0xa4ef8f5b, 0x5a2cfebe - } - }, - { - { - 0xf84f5307, 0xf9b391fe, 0x6e525820, 0x6851c98c, 0x3074d640, - 0x6028e99, 0xef5f7cd - }, - { - 0xa7641558, 0x64ba958d, 0x54342ea7, 0x672e174e, 0x97247494, - 0x5921c8d8, 0x69279f5b - }, - { - 0xd6e8e2f6, 0x7e714d07, 0x32776ca8, 0xb6a644e5, 0x37f94a28, - 0xcaa0feb6, 0x7a8d4429 - } - }, - { - { - 0xf09aadf8, 0x4f60ec4c, 0xb1943ecd, 0x4a8760d4, 0xa566bd47, - 0xb2f9aaaf, 0x729634d8 - }, - { - 0x50ac1233, 0x3babf48d, 0x33078f86, 0xb9273f45, 0xb4ac913e, - 0xd69d1fec, 0x63f7905c - }, - { - 0x9715a3ff, 0x6f641967, 0x62badc42, 0x8d039497, 0xd22d5b76, - 0x8b958619, 0xbb997d79 - } - }, - { - { - 0x3fc67593, 0x2ebaba7c, 0xaf3c1e56, 0x2726c2d1, 0xc61b1198, - 0x1adda431, 0xa0210113 - }, - { - 0xd6a2a552, 0xff7d3acd, 0x41cda9a8, 0x8864f6e1, 0x5ab2722c, - 0xbf37be8, 0x64e9e143 - }, - { - 0x51b0a49e, 0xc51ab176, 0x549fe454, 0x8d5b43f3, 0x7decd309, - 0xa27e00c4, 0x606b3dc4 - } - }, - { - { - 0xda468a98, 0xf20eba09, 0xb909ce95, 0xd75396b2, 0xa831b2bb, - 0x918b9450, 0x2dd0a0f6 - }, - { - 0x80bbe329, 0x8c853585, 0x26647bbf, 0x44e91db8, 0x3f5d8919, - 0x7776282c, 0x8e4b27eb - }, - { - 0xc60969ed, 0x778c11ea, 0xf4238243, 0xde488ff8, 0x911e52ef, - 0x2564e80c, 0x94b80c5c - } - }, - { - { - 0x5ddc675b, 0x5cc68b44, 0xd3d261d, 0xb51f1415, 0x94bfe719, - 0xeec1d188, 0x62f788de - }, - { - 0x9899b040, 0x79a287e, 0x6c59e013, 0xd7d7ac0a, 0x3cb8c86b, - 0x92d8e2a8, 0x7f2b0771 - }, - { - 0x28bf1dd4, 0x6ff0419f, 0x7d9a1066, 0xf450c471, 0xe2b6bce3, - 0x8d535cc1, 0xdc1d0c5a - } - }, - { - { - 0xd4fb18d7, 0x3cda3b9d, 0xf935a3a3, 0xd6d3a73a, 0x30a6472b, - 0x27591c21, 0x4f18c0dd - }, - { - 0xff489675, 0xf9d6fb1d, 0x67f568df, 0xd03a9997, 0x4e1072d8, - 0x436f5dff, 0x4009b909 - }, - { - 0x54c1209, 0x95c96913, 0x9eb34595, 0xd92c3855, 0xc683b30, - 0xd8569bef, 0x3f80e840 - } - }, - { - { - 0x990094fb, 0xcff8a877, 0xda9f21fa, 0xcfc89e03, 0x14a2cd68, - 0x38a85980, 0x6c028422 - }, - { - 0xea46623a, 0x776d5f2b, 0xe49322f4, 0xf7325d, 0xa3b2f2a, - 0x83f34c5b, 0xf0c74093 - }, - { - 0xba7bad5, 0xaf8b68d4, 0x7b94a732, 0xdad2585e, 0x2b75efa1, - 0x47781809, 0xfda526eb - } - }, - { - { - 0xa5014d72, 0xa3ecd3c7, 0xb6fbb09, 0xe53590dc, 0x2b90222c, - 0x59ddec52, 0x9512b35d - }, - { - 0x24e54ca4, 0xb2633eaf, 0x7f14a005, 0x9c7660b1, 0x41b8b52d, - 0xb6bef9a7, 0xda4c8b7d - }, - { - 0x80432461, 0xcdd97672, 0x6ca51184, 0xcdef187b, 0xff24068d, - 0x46be2249, 0xa1f79d26 - } - }, - { - { - 0xc1fe49e3, 0x9c812d64, 0x6f253a1a, 0x49df9c5c, 0x6153095b, - 0x1aff30b5, 0x3efafaca - }, - { - 0x5bc02a32, 0xb9198b9b, 0xff5dcac, 0x5bd66c7c, 0x39ddf759, - 0x674b5ddd, 0xaa05d650 - }, - { - 0x11f891a7, 0x1c841fb2, 0xa90b6213, 0xa32885db, 0xc27d681f, - 0x14d03e7, 0xae689a6a - } - }, - { - { - 0xbfec84fd, 0x81ce7501, 0x701be32b, 0x5aca98d3, 0x54771dc, - 0x92919e16, 0x3215ff09 - }, - { - 0x47281b50, 0x19a0fc7b, 0xae35e606, 0xde0e8f3e, 0x11cac947, - 0xa9788854, 0x1e8b12a4 - }, - { - 0x88cd6358, 0xed495955, 0x8c81350b, 0xc6b1d5b3, 0x54337f6c, - 0x5766c69a, 0x5c46a933 - } - }, - { - { - 0xc5503055, 0xc4265e87, 0x12c7dcbf, 0xbff09bb4, 0xc346f4f1, - 0x914cf83, 0x93c430dd - }, - { - 0x06d996, 0x96ddf328, 0x52504f4b, 0xc1114f65, 0xd2037575, - 0x8d5759cf, 0xe344d0fa - }, - { - 0x99dea429, 0xe7b08c53, 0x7bbfe26f, 0xc0111f32, 0x1a992e54, - 0x17100f6f, 0x5c7dfc78 - } - }, - { - { - 0x43c549fb, 0xb8bec3bc, 0xfd6dd0ee, 0x89f365c4, 0xf05d0327, - 0x5fbc5b17, 0x427f5fd9 - }, - { - 0x2139680c, 0x5dfb746d, 0xe0cd3975, 0xa6edc71a, 0x85bdceb7, - 0x3c0875e5, 0x4cdf08ff - }, - { - 0x1ee95e73, 0x814eb03e, 0x6a62dc03, 0x71317c4c, 0xb240d48e, - 0xf44ecabb, 0x3e6b6a45 - } - }, - { - { - 0x185b99c3, 0x840fb373, 0x2a50a076, 0x8539b6d2, 0x15aa5448, - 0x94b4331f, 0xdf6ccf5c - }, - { - 0x80b7b4ec, 0x8ad2774, 0x135eb2bb, 0xe2f8f3f7, 0x49024a85, - 0x5c285259, 0x71d5819d - }, - { - 0x8a864e55, 0xbbfadc3d, 0xd212c0d, 0x5b129f64, 0xbcfeb3de, - 0xf252beba, 0x68b2b8f8 - } - }, - { - { - 0xd818d830, 0xf769b1c2, 0xa423e54b, 0xc5aa1ce6, 0xc26b84db, - 0x8a133071, 0x75a49c26 - }, - { - 0xb86918bb, 0x9433b188, 0x72093198, 0xac08d00d, 0xa7663f5e, - 0x51b184f1, 0x171716c6 - }, - { - 0x234455c3, 0xb8c6de0f, 0x92bc750f, 0x93d287c8, 0xecb14e9d, - 0xca9e988e, 0xd1022e4b - } - } - }, - { - { - { - 0x6756c7d, 0xaa3e6cc8, 0xbc007f55, 0x5059989e, 0x6f13fb50, - 0x9c5a2fa0, 0xf300f0d - }, - { - 0x66520060, 0xb519a044, 0x73d8465c, 0x5f3851a, 0x97a8ad6, - 0x95fed444, 0x511a3ce6 - }, - { - 0x25e97175, 0x200a2212, 0xc08c42b4, 0xa4667b7d, 0x876b7945, - 0xd540ac4e, 0x7f675695 - } - }, - { - { - 0x564c0392, 0xfe46b68c, 0x644e01be, 0xe168235b, 0xef0c6c23, - 0xaaaf6771, 0xc6acb490 - }, - { - 0xf8815f47, 0xd422c5ba, 0xba8cff0d, 0xbb6144f5, 0x876f52e9, - 0x38f3c414, 0x9a6410f2 - }, - { - 0x622157fd, 0xdd0f9224, 0xcfedfa72, 0xbbe60171, 0xf460696a, - 0x5fcfe07b, 0xa87375e - } - }, - { - { - 0x456dfa68, 0x528247, 0x869390f2, 0x341d1f94, 0x5de5f707, - 0x8e3f4878, 0x3f63624b - }, - { - 0x99f6b4f4, 0x1457fb96, 0xb5f2a8c7, 0xd097e42d, 0x1edf6ac6, - 0x920c97cc, 0x55bf3b7e - }, - { - 0x131aab74, 0xef3c0895, 0xf5dc1ed3, 0x6e04da28, 0x2deed8f3, - 0xb62534ea, 0x2b0e2390 - } - }, - { - { - 0x5ee6b903, 0x8f1dc850, 0x41f95df8, 0xe1866d61, 0xb637ad22, - 0xff918e7c, 0x2bb7f2b - }, - { - 0x4b05c1cc, 0xec32250a, 0xfb69b815, 0x586697af, 0x76513155, - 0x63745a62, 0xf7f2be42 - }, - { - 0x42e62e89, 0x7c13456f, 0x4fc052a8, 0xd608ec23, 0x2e7be51e, - 0x69d7aa30, 0x13d5e0e4 - } - }, - { - { - 0xa883de46, 0x15bfe8d8, 0xe2a4e7a5, 0xa1c2c13d, 0x45e1c12, - 0x75797907, 0x673b3b35 - }, - { - 0x810abd50, 0x46967df8, 0x93973c30, 0xf46d5abb, 0xca9ce63d, - 0xc681d124, 0xd45d9078 - }, - { - 0xb4af06b7, 0xd967c4fa, 0x541204cf, 0xd1ae3a2f, 0xc8bb0cdd, - 0x8f7cafa5, 0x25d2d4e7 - } - }, - { - { - 0xc0170c42, 0xb7570f46, 0x1998feef, 0x7c8bb714, 0x95e2b5ec, - 0x7a970053, 0xb48a7372 - }, - { - 0x44ce6232, 0xe36475ab, 0x505108ff, 0x3a1fb6da, 0xd0e4b8a8, - 0x499b98a1, 0xe7e477cf - }, - { - 0x1b9d318d, 0x8db1ed0c, 0xefd78744, 0xbe882db, 0x79c71d55, - 0xc165c5bc, 0xd39f84fc - } - }, - { - { - 0xb5b55773, 0x16be9782, 0x1e18f72f, 0x4374e6b2, 0x1127de81, - 0x55ee588b, 0xd909e184 - }, - { - 0x2bf789c8, 0x3f9befe7, 0xd2aae14, 0xbbb97835, 0x9411faa3, - 0x104bb28f, 0x500ffd7 - }, - { - 0x4cd36e2e, 0xc2c0bb4b, 0x9d65068b, 0x732b9c85, 0xe3fa9e0a, - 0xd8f4850, 0x6bf74bc - } - }, - { - { - 0xbb3bd236, 0x9f410c65, 0xe373bae2, 0xadda1c3b, 0xe68f6a31, - 0x6cd422c, 0xbf5e3c6d - }, - { - 0xf83cc43a, 0xd4512695, 0x6ff52bda, 0x606aa8de, 0x2cb5c052, - 0xb28eb66, 0xbf6238d4 - }, - { - 0xf07fd681, 0x97e69c29, 0x9e9996a0, 0x5434a089, 0xa9333531, - 0xc97f3756, 0xbb31498b - } - }, - { - { - 0xf51ef016, 0x6e3ae8c9, 0x9a33cc71, 0x13a48350, 0x4868b52, - 0xe626fdb9, 0x23ea73c4 - }, - { - 0x998e1517, 0xd677deb0, 0xafdbafc6, 0x644f58b3, 0x675b5daa, - 0x3f26f080, 0x1f1f947 - }, - { - 0xa7a6b5b3, 0xd7cad682, 0x83f58ae7, 0xfb038519, 0x70c9e1bd, - 0x2aaaf3cb, 0x79892607 - } - }, - { - { - 0xea6a8d55, 0xa627509, 0x9dbe403a, 0x2e3dbe9e, 0x3807c576, - 0x6d231982, 0x7887e07b - }, - { - 0x6bddc278, 0xc486ccd, 0x87a8f1ec, 0x30cbb808, 0xa86d84e1, - 0xad5e43c4, 0x5df1aed9 - }, - { - 0x4e26f1d7, 0xa353438, 0x8defa7f5, 0x5dfb7892, 0xb4e5975a, - 0x6f99c9ff, 0x98dc28f - } - }, - { - { - 0x25dd7fb7, 0x92785113, 0xd211a1ae, 0x247b59f7, 0x120e3f38, - 0xc237d844, 0x8fd5cb80 - }, - { - 0x456841d6, 0xf4edecb, 0xdb32e407, 0x3dec96e0, 0x60c3b182, - 0xe931f569, 0xc1f0ce9a - }, - { - 0x381400b0, 0xbc6fd4db, 0xc43bdeb5, 0xf0a04944, 0x5a74eb57, - 0xde82a5ef, 0xd4af4dbf - } - }, - { - { - 0x852ce3b0, 0x6d6f9f82, 0xb6b398ae, 0xf632e482, 0xb7c24d98, - 0x2be3f509, 0x67df8f23 - }, - { - 0xf673841b, 0xa5e2e8a7, 0x60f1d8da, 0x1cd1a203, 0xebb6dc0b, - 0xa3c94bc5, 0xb014e683 - }, - { - 0xd32b4d49, 0xc3aa5082, 0x42342173, 0x9d0846bf, 0x95872746, - 0xcd609257, 0x79a338c9 - } - }, - { - { - 0xa22d7493, 0x78e0b842, 0x176d9a06, 0xeb3adf6f, 0x355b1ebc, - 0xe888c089, 0x6f2702f6 - }, - { - 0xa63212e7, 0xe26c2fa3, 0x3aabc461, 0x6bab6889, 0x2b816ddf, - 0xb0d2e096, 0xb3a39c92 - }, - { - 0xe5ea28c2, 0xbbbd1a44, 0x1b1cc3f2, 0xc2ae0b24, 0x38f48c51, - 0x4f22dbe9, 0xb7463eaf - } - }, - { - { - 0x1d6d6652, 0xac47b4fd, 0xd005fe5b, 0x45c87df2, 0x283d5b4d, - 0xae23a566, 0x819d0c8b - }, - { - 0x8063d6a5, 0x53ec0ad, 0x78fcafe6, 0x71259c59, 0xd44be536, - 0x516d591d, 0xe0c348e2 - }, - { - 0xbf304586, 0x4f6a9123, 0x1de1de32, 0x3c88985, 0xe1ea30b9, - 0x3e0fedd, 0x73b1838 - } - }, - { - { - 0x446da5d6, 0xad4c51c1, 0xf97c2948, 0xf83998a7, 0xd9641edc, - 0x60029965, 0xb7d11f19 - }, - { - 0xeaf62b72, 0x59a4f337, 0x5a03f1db, 0x6d9b353d, 0x8fcb0811, - 0xc4cc7274, 0xe2b1fdc1 - }, - { - 0xd3e67ccf, 0x99356aa7, 0x5ff4c9e1, 0x8bd75129, 0x15bdaa92, - 0x657607a, 0x9774dee4 - } - } - }, - { - { - { - 0xf862f324, 0xd4a326a8, 0x4b73d516, 0x6d0ce38d, 0xe4704cb5, - 0xf10c1f67, 0x724b1e33 - }, - { - 0xeed89933, 0x2fb68e4a, 0x711beab5, 0xfa09ea3a, 0x79c409b, - 0x1c948baf, 0x51e68779 - }, - { - 0xb468f238, 0xfcabb434, 0xeba1307e, 0x5e1a00a7, 0x65e80816, - 0x5036ca30, 0x6174e94e - } - }, - { - { - 0x7ea1ecf2, 0x62ab139, 0x13297ad1, 0x999bc1f2, 0x8213ff80, - 0x8821937d, 0xab197222 - }, - { - 0x38adf639, 0xa6a9919d, 0xebef8c81, 0x16f0dd3c, 0x44ba97a8, - 0x82b66ef2, 0x5f73cfe2 - }, - { - 0xd8cfbf4f, 0xa6e400cb, 0xc739916c, 0xa50baea7, 0x864d2040, - 0x5b174fb8, 0xdbcf7998 - } - }, - { - { - 0x7b00b47b, 0xd67157a, 0x52b604f5, 0x3e7565c, 0x2bbac37d, - 0x3ed11a68, 0xea8a8063 - }, - { - 0x303cabe8, 0xe0e51dcb, 0xfb40ff1c, 0x4205c7f0, 0x3d4a15b2, - 0xc6b0a534, 0xd9c28698 - }, - { - 0xc7da6861, 0x386e144a, 0xbf0eb2cd, 0x68d22b29, 0x35eb57f8, - 0x8e343b63, 0xa3f5af6a - } - }, - { - { - 0xbe840c96, 0xdae7ce77, 0x9953c1e6, 0x6ce11dc1, 0xb4d8b793, - 0xf4395263, 0x727c61d6 - }, - { - 0x913c3024, 0xb04c9f00, 0x369e7ca9, 0x8944b2be, 0xa93b1f54, - 0x43e44c2, 0x759b3cc3 - }, - { - 0xdb339492, 0xe5c74e2a, 0x5d85e281, 0x8d49b0d, 0x2458f641, - 0x886e538d, 0x24be345f - } - }, - { - { - 0x36eef40, 0xfcd428cd, 0x89ee5e60, 0xe921b934, 0xd5fb0953, - 0x94a0054b, 0x52a980da - }, - { - 0x608a82d9, 0xb5f4fe44, 0xb31d58ac, 0x1d366dae, 0x76c0090a, - 0xaeda6e88, 0x3c8857a9 - }, - { - 0x7b81478, 0x5ea53285, 0x63ab3ba6, 0x89880b3b, 0xe920aa37, - 0xe60d8e1c, 0x2f21d2b1 - } - }, - { - { - 0x272c8be2, 0x1ff56f21, 0x1c5bba55, 0x37eb4663, 0x84cc7db5, - 0xfff89399, 0x3c22bd6 - }, - { - 0x3288b6b7, 0xe7d1cc2b, 0x554bea, 0xddab7559, 0x59139d9a, - 0x395cc8b, 0x7bd870a8 - }, - { - 0x59c949d, 0x26af3392, 0xd22e28ca, 0x358cbf54, 0x6747bd9, - 0xb21e24f9, 0xcb284188 - } - }, - { - { - 0x6625d447, 0xd48deb65, 0xb59c013b, 0xbd6c1232, 0x1408e6e9, - 0xc27c948d, 0xf5b8732e - }, - { - 0x623b4014, 0xba7d4336, 0x602fe8b9, 0x68c242c8, 0x58a9a274, - 0xb6d1c8bb, 0xb372d2b6 - }, - { - 0x81273cac, 0x5f3d0ffd, 0xc283d534, 0xa92b7af6, 0x6e00e44a, - 0xf74e16f0, 0x6c10a3ba - } - }, - { - { - 0x41cc1e66, 0xd12e18b7, 0xc6ec8085, 0xb4660969, 0xb441b1e0, - 0x41c0b3bd, 0xd03de00c - }, - { - 0xdc280832, 0xf5a2f44b, 0x441d7ed0, 0xe34029f1, 0xd35c627c, - 0x7a1e3ab2, 0xd75512ae - }, - { - 0x2541f473, 0x2b8a8029, 0x25655459, 0x488288fb, 0xa70cd095, - 0xfe4ff0c4, 0x7143cc31 - } - }, - { - { - 0x8583b437, 0x697a8ac9, 0x760e77a8, 0xd9bd1ae5, 0x6c737296, - 0x4d4247a7, 0x4bcf3b4b - }, - { - 0x601e06ea, 0x8c6dad55, 0x5caf2c29, 0x2262f3da, 0x73a54551, - 0x66d46f4b, 0x10f9f99e - }, - { - 0x19762530, 0x69fedfe7, 0x3b64a8a0, 0x5a1c6f2e, 0x3c68e267, - 0x45d1b442, 0x174c5363 - } - }, - { - { - 0x8ac50b5f, 0x3fa168a8, 0x8015085f, 0xd2b9700e, 0x766ea84d, - 0x4442e199, 0x4f9cf3d4 - }, - { - 0xbe4d9b49, 0x7732fbbd, 0xc41a5efd, 0xd3a8f34f, 0xbb57b3b4, - 0x3b385f29, 0xe9099044 - }, - { - 0x2494ea4, 0x51273fe4, 0xefd9581f, 0x9f43e870, 0x5c1b72fd, - 0xe50d30ef, 0xfb60016b - } - }, - { - { - 0xfebf53fd, 0xefd440ff, 0xe72f092b, 0x632647ce, 0x74a33c43, - 0xaf9c934, 0x16d22c01 - }, - { - 0xe2076041, 0xd21799a8, 0x4763a250, 0xe3a1f23d, 0x56c548f6, - 0x292fda72, 0x928f8555 - }, - { - 0x5aea19a2, 0xba6dcb9e, 0x82c63a06, 0x76f9c6a4, 0xc742c8ff, - 0x702b881e, 0xabfaef45 - } - }, - { - { - 0x500ccaa2, 0xae865c35, 0xe35025ba, 0x2c2ef2ed, 0x6fbcaeec, - 0xb96cfa8f, 0xc0f73fd5 - }, - { - 0x134ebc8a, 0x84742e6f, 0x6f9184f1, 0x38bd8aad, 0x66d19cf1, - 0xa686a5a4, 0xb8624c5d - }, - { - 0x6a5917da, 0xcf45c54b, 0x8a0261a5, 0xa295adac, 0x580d3229, - 0xf66868cb, 0x7ec5edad - } - }, - { - { - 0xbfcfecbc, 0x81433867, 0x72338fd6, 0xb4a0d5ae, 0x45ba4e17, - 0x71ecc573, 0xb8f5bcb - }, - { - 0xf1e8b4e3, 0xdb60ac44, 0x6e5b201a, 0x3b33204, 0xf1a89e91, - 0x51f2c62c, 0x2f4c6cbb - }, - { - 0x12128980, 0x5049be35, 0x6f8426f5, 0x5a1548df, 0x9434fbae, - 0x43a1d938, 0x325cbcfb - } - }, - { - { - 0x982b0a14, 0x41d8c38b, 0xff2e511b, 0x793b28cf, 0x67aa0566, - 0x325d2212, 0xed636c2a - }, - { - 0xc7a80e2e, 0x3680ed8e, 0x599ed32f, 0xce812bc7, 0x9ea4f359, - 0x67244656, 0xc86d7f26 - }, - { - 0xd2a6304c, 0x60f1be1, 0xce026565, 0xde63286f, 0x9a9647a6, - 0xed5383ad, 0x5ac20f3f - } - }, - { - { - 0x99e7c8f5, 0x1cf6dec5, 0x69531f74, 0x77715f9e, 0xae986a7b, - 0x9801b737, 0xdcc14600 - }, - { - 0x7927037, 0xc4a20570, 0x84c9947, 0xfcf17dbd, 0x6d2eeb95, - 0xa782dd53, 0xb16e9154 - }, - { - 0x812ad07b, 0x94f8f6d5, 0x8104c548, 0xc96b0f13, 0xc76ebc5d, - 0x64eb4262, 0xb0a871 - } - } - } - }; diff --git a/ec/native/p224_tables_64.h b/ec/native/p224_tables_64.h deleted file mode 100644 index 84e9b521..00000000 --- a/ec/native/p224_tables_64.h +++ /dev/null @@ -1,13581 +0,0 @@ - -/* - Pre-computed 64-bit multiples of the generator point G for the curve p224, - used for speeding up its scalar multiplication in point_operations.h. - - Generated by ../../_build/default/ec/gen_tables/gen_tables.exe -*/ -#ifndef ARCH_64BIT -#error "Cannot use 64-bit tables on a 32-bit architecture" -#endif -static WORD generator_table[64][15][3][LIMBS] = - { - { - { - { - 0xbc9052266d0a4aea, 0x852597366018bfaa, 0x6dd3af9bf96bec05, - 0x000000a21b5e60 - }, - { - 0x2edca1e5eff3ede8, 0xf8cd672b05335a6b, 0xaea9c5ae03dfe878, - 0x000000614786f1 - }, - { - 0xffffffff00000000, 0xffffffffffffffff, 0000000000000000, - 0000000000000000 - } - }, - { - { - 0x3b5d295a9589a113, 0x69c8cd1f1c8b1bb4, 0xd0d59dceb1e67b18, - 0x00000039b91f72 - }, - { - 0x5ca289b48fc403a8, 0xf968de089204936b, 0x3361b1bf3c334a79, - 0x0000007e7bfa8c - }, - { - 0x5db943cbdfe7dbd0, 0xf19ace560a66b4d6, 0x5d538b5c07bfd0f1, - 0x000000c28f0de3 - } - }, - { - { - 0xac14cf77a472d8dc, 0x7851bef4900be126, 0x90a0ac474b871cbd, - 0x0000006e378b37 - }, - { - 0x1c687c32efdee619, 0x3b9759da17973bac, 0xaa1fe43d4105384e, - 0x000000fd597e30 - }, - { - 0x1d690e179c6d45a3, 0x6c09207b17a5c9da, 0x42f128079acff9f1, - 0x00000055df4103 - } - }, - { - { - 0xdd6160e9d9f18915, 0xcf1a7b2ff52abe9c, 0x4f9123709da749da, - 0x00000010f54ce4 - }, - { - 0xd3269fc3ad5acddc, 0xca5c17d2ed95c6ee, 0x754aa762d5751f8e, - 0x000000cd3d22b5 - }, - { - 0xeef2a10956324f36, 0xc3df1222bc1fe350, 0x62f5eebe7f453be5, - 0x000000ca804dde - } - }, - { - { - 0xac3021f5cd883be2, 0xc908ef1ec81fd51a, 0x21e3c69ba7669bed, - 0x0000004e461047 - }, - { - 0x46d8344e5c3980b7, 0xfe12fdb1c64498ea, 0x53979e9af490c76, - 0x00000047b0ad7e - }, - { - 0x9f619431500271c9, 0x8c154ed1cf067140, 0xb80355cc81d39a03, - 0x000000cf515e66 - } - }, - { - { - 0x9ec2d7433d7cb27f, 0x91ffbd294977da46, 0x35568cce9faba172, - 0x000000312c71d2 - }, - { - 0x12e07379076861ff, 0x93959afcc7d42ea0, 0x51d968ac02ec5615, - 0x000000ecbe98be - }, - { - 0xa7f5088566a9485f, 0x11de92855dd77184, 0xa563eaac19f3999a, - 0x000000e9226101 - } - }, - { - { - 0xdbe1e1806d0d4fef, 0xab061f5617358a3c, 0xed65ef01a677747a, - 0x00000052d07e36 - }, - { - 0x4ef5e72c7259392d, 0x8bc20bdd7cd8771d, 0x34c6b5e7bd92289b, - 0x000000ab266bbd - }, - { - 0xfe82e59cc62c30b1, 0x76f4305ad1099e39, 0x6ac43f8af3de863, - 0x000000adcaa5db - } - }, - { - { - 0x631e9cb130f47ec3, 0xf0d4eaf6c3753dca, 0x71a849307fb64fdc, - 0x00000038754324 - }, - { - 0x9806a3b71bb55ef3, 0x344500deacc65c0e, 0xc618c14f691faf14, - 0x000000200feff4 - }, - { - 0xc69582589a0ba88, 0x27b772a8133504da, 0x1894b058616c4cf3, - 0x00000060e421da - } - }, - { - { - 0xa4f33ea5185f0c6a, 0x1b7698eb3337fe08, 0x6bebcc2251b6c89c, - 0x0000002e5eaec4 - }, - { - 0x6212a4c181280f25, 0x41c94a1a2433cb1b, 0xde95955b719fde1f, - 0x000000bf5f2397 - }, - { - 0xc3b43d0788caa56b, 0x333514d59cacc23b, 0xd0f8e52fd00fa7a5, - 0x00000091e033ec - } - }, - { - { - 0x12845da7db007e1b, 0x1b2e08b92e1a9a73, 0xdf8b303aecc670d6, - 0x000000d57e1dc0 - }, - { - 0x63c44bb6a977abb6, 0x5bdad3549d7e7c99, 0x6febe75483c3d8e2, - 0x00000033777b49 - }, - { - 0x7afbe326496086a1, 0x37abe8cdf046c688, 0xfab1923cb9a019e4, - 0x0000003e096fa9 - } - }, - { - { - 0x4864f59d8c62142b, 0xd640928ec02d5f96, 0x781bffd2a4a7e896, - 0x000000a51ce26b - }, - { - 0xcb21d8fe64d5063f, 0x8218af0d617c1116, 0x21a5175d26f70a65, - 0x00000020b75ed9 - }, - { - 0xa98d4784e85c3975, 0x9893b61077513e08, 0x4d94139fb0a3a1ce, - 0x000000f7b3cf97 - } - }, - { - { - 0x6fd99fe9a365b51e, 0xab74d7e87dd139b7, 0x9f62264f3ad94fa3, - 0x0000006b55ca65 - }, - { - 0xc57f7455ce238d6e, 0xb52f196ecf8bd68a, 0xb2b53588e2de7aac, - 0x00000066798a42 - }, - { - 0x9f6a7fe1bd68cbad, 0xae3a5b0c30100dff, 0xc50d25094ce50f53, - 0x00000028bce4fd - } - }, - { - { - 0x2555f44eaec9f9b2, 0x11485d7de1a5d9f7, 0xb035bd3187ad9d01, - 0x00000068620506 - }, - { - 0x3139fae54adb08c6, 0x3afdedc8228fd324, 0xde15cf96ba33849a, - 0x00000009c1e83c - }, - { - 0x10b89e4af996c3ab, 0x4862b851e4a1e50d, 0xb4d592686e8065b3, - 0x000000c81aceeb - } - }, - { - { - 0x4169f6d489f3183f, 0xe2cbb3193e14094d, 0x1614a8fbd46dffa5, - 0x000000832e10ad - }, - { - 0xde49e69cffd52542, 0x209b99ec6c13d032, 0x7ff1e8dc9b66cdb7, - 0x00000097f750b4 - }, - { - 0x7d621fd362027834, 0x29c7f04390756242, 0x912194673510517d, - 0x0000009ae3e537 - } - }, - { - { - 0x1584ee7b738b2c0, 0x4583599698cb0f6, 0x6f8bd09e80936806, - 0x0000002647be9b - }, - { - 0x50880f36e3c8b0f4, 0x6bc7a430b6f854c4, 0x15b582072190662a, - 0x00000016ced32d - }, - { - 0xd37ca0c04acc45de, 0xa742e47ff94baa16, 0x73a1c50f72818b9b, - 0x00000008bc3f5a - } - } - }, - { - { - { - 0x13d60ed4fb97e96a, 0xcdfec635ee8071b8, 0xa3a7485c9708e5, - 0x000000ccb7a76f - }, - { - 0x94a5ebd19dd9076b, 0x2dc0d92047b84a3b, 0x864f90705ea0f6ec, - 0x000000085110d9 - }, - { - 0xbc13a97a32680775, 0x4fe649193f9a2eec, 0xca33204ee149df96, - 0x000000ced8fb36 - } - }, - { - { - 0x88d3469643dd83e6, 0x6dbad6f86a5fea8a, 0x747d9955aee65ea1, - 0x0000007656a4c6 - }, - { - 0xd623228105cfcf70, 0x7105e4428f15aad2, 0xa8bd7b82070a4289, - 0x000000cc48f84e - }, - { - 0x957c8c0cef0e4912, 0xa6f59115c2f36c74, 0x24c1ba1a6a24ae43, - 0x0000000b5bd3d5 - } - }, - { - { - 0xf0f41817e9e2fa7d, 0x26acf2abd6989e14, 0x90a81bd74a0b9c08, - 0x0000006d91ce01 - }, - { - 0xd6b051bb65130e0b, 0xe8cb03389e57ab5c, 0xeaa670f242fd4178, - 0x000000aed39808 - }, - { - 0xa6840234f14c25ab, 0xf620205a31458005, 0x4dc335c35dbe6b44, - 0x0000005d2a48d7 - } - }, - { - { - 0xb3a0e7732cf13bf9, 0x44a1156bdfdf58bc, 0xe7f71cd3536f450d, - 0x0000005c983af6 - }, - { - 0x8843b669d60bfd0b, 0xbf9081a0c76a06a9, 0x9524483382049b79, - 0x000000b0fcb77c - }, - { - 0x8d2aa49e36b2dab3, 0xb59f5bb7931bc616, 0x9fdc082981538e99, - 0x0000004f643b78 - } - }, - { - { - 0xbb4d9d915f3754ea, 0x40b169a2384cbf77, 0xcf6185bfc89e908c, - 0x000000f60b94d0 - }, - { - 0xc10c2d3469b204ce, 0xc124973ed299a94, 0x344cec63d7db8d68, - 0x000000308af925 - }, - { - 0x705ff6561a56610a, 0xd4fc0f40cfae284, 0xb8ab336fe938a3b8, - 0x000000ba56468e - } - }, - { - { - 0xcbcc10dabeed48d5, 0xfc2ae29565dd9453, 0xd6a7be7d71c04e8d, - 0x0000005429de60 - }, - { - 0xee119c2314575729, 0x24bef604463c1afe, 0x147cefe5725327ff, - 0x000000f146c0da - }, - { - 0x88d1f1620ea79035, 0xc7b77b42d1780f4a, 0xd6911c20898da1c8, - 0x000000d49ac673 - } - }, - { - { - 0xbd3e07711345b739, 0x5bea8fbf8a038436, 0x4889f103c37e6ee6, - 0x000000c65fcbae - }, - { - 0xe84b17956bf04088, 0x16558e8f42b1b493, 0xcf85e353093aae2, - 0x0000003367fee7 - }, - { - 0x25868bbaf7d0167b, 0x6dced8f3b66bf32c, 0xd07e7fba4b8cac4f, - 0x000000dcbf2c16 - } - }, - { - { - 0x973dc8df7283efc2, 0xa3fdccff232b0b84, 0x3453406b64d5ecc2, - 0x00000098fd9325 - }, - { - 0x8245fdfd12c9d637, 0xcc4d613e46dba485, 0x6164662fcb0610ae, - 0x0000002db549f7 - }, - { - 0xb5c5f5ad484a9b86, 0x19a764c0c6edd90c, 0x7a8074fba165ad3b, - 0x000000f0f42e1e - } - }, - { - { - 0x44cd04f45a2728d2, 0x85c24d6640abb15, 0xcc8b86bb94285d38, - 0x000000c0cd4e1d - }, - { - 0x415106d47293c020, 0x6849ae457f7ff9a7, 0xe1576b5a04714ae7, - 0x000000cc7aa06c - }, - { - 0x4a764e39231a0490, 0x165e51372180c7f8, 0x7320091712d8103c, - 0x0000008f79bf17 - } - }, - { - { - 0xc7fa7d796fd63f65, 0xbab806861d0eac72, 0x9f35b1d5baef3292, - 0x000000da27d184 - }, - { - 0x85383fcfe7d83c7c, 0x8eec921959925fe8, 0x9b3f452160e7f4fd, - 0x00000048780893 - }, - { - 0xe80e9db6f1c89d8c, 0xc4eab0b7d0c9c977, 0xd0af935e52c98bb, - 0x0000005acb7d09 - } - }, - { - { - 0x73ffc24ded0e9ca4, 0xcfbe92ad22b5f70c, 0xd203217bd31e1d68, - 0x00000095f255d8 - }, - { - 0xe2dcc50fa4580444, 0x1b840a7cd33e1303, 0x417fc1a73e033f0d, - 0x00000046cbaf4a - }, - { - 0xe219e5b971b02072, 0x5a66b2e14e43c69b, 0x2228111027992974, - 0x000000c8c88765 - } - }, - { - { - 0xa0b19fcbf81f9ce, 0x283ab6d5d8236fc, 0xb65e7c149bc90adf, - 0x000000c995f268 - }, - { - 0x830c8d7533d1ddeb, 0x792c811df4aae49d, 0x78a01df1acbd85be, - 0x00000038184bc6 - }, - { - 0x48062c13ad052d46, 0xb0a61492c0510783, 0x46645574dfff2cd1, - 0x000000fa43f86e - } - }, - { - { - 0x1d94d738a484bb52, 0x6bbe1d4cf17f1552, 0x720bfa607fc7261f, - 0x00000099cda710 - }, - { - 0xb85c884911b0a14e, 0xfc44342c0e704934, 0x791574c466f7bd5b, - 0x000000f8f1dc37 - }, - { - 0xad37794f14d18b27, 0xa468a93c863b27b2, 0xc2b018df73ab764d, - 0x00000015fa7b9f - } - }, - { - { - 0x65de17cc0914ae7e, 0xcb8dae438ddbec44, 0x6afced9a43597bbe, - 0x00000071cdd258 - }, - { - 0x235dff801bf02aea, 0x6541e55a794e77d4, 0x830843f13470fa4, - 0x000000858e61d8 - }, - { - 0x3018f4562559670, 0x9bbd7d0ecca47cb8, 0x65174c5c771c0e80, - 0x000000da8b4214 - } - }, - { - { - 0x77198c0b3cf6bd90, 0x5659cef3b70302bd, 0x613567b075676a2f, - 0x000000104e4355 - }, - { - 0x7441615024219da7, 0x14d8cd421a3aedba, 0x108ddbf2b699d899, - 0x000000dc4f9732 - }, - { - 0x66dc2dd059558083, 0x7cc686834e2f9f3b, 0xa3a46a196f8107ff, - 0x000000313775e9 - } - } - }, - { - { - { - 0x57a9664726d00f0f, 0xc637fe7c2b3e16e4, 0x850772363c40ea7f, - 0x000000781f9095 - }, - { - 0x350ebe30a111b3ef, 0xb7b4c3c3fe9cb255, 0x21c4ab47695fe702, - 0x0000007e99d197 - }, - { - 0x33962fb9aa0974fd, 0xbcb4c90f937ab2d9, 0x78730c749e3f075b, - 0x00000062d8d85c - } - }, - { - { - 0x380fe6b11629ed37, 0xa685d12157fda602, 0x88902a5fb8658555, - 0x00000033d14fee - }, - { - 0x946fbc16daf5cb88, 0xd958af432c738f94, 0x1f9c266910041d2, - 0x000000450bd421 - }, - { - 0x16908234e2bfd526, 0xeb74fec56b4aa062, 0x43d01fb87011885e, - 0x0000008b7e144e - } - }, - { - { - 0x4d2c7a8e6d24da34, 0x7d4b129dbf8b5bd2, 0xbb9aaeb5a03d58bd, - 0x000000b9f2cac0 - }, - { - 0x2b19252ad084f938, 0x1a66ac04a6ae1f7e, 0xf36b2eae72112706, - 0x000000c4d163b3 - }, - { - 0x52eb5c9e7955d9ef, 0x6e9b60896b7e08ed, 0x69066cbac92a5c6e, - 0x000000644471d9 - } - }, - { - { - 0xddcaa33c326c47b3, 0xbc6a0a0ffe64dd8a, 0x1e144fdb35f0526b, - 0x0000009c4ebab7 - }, - { - 0x496e54dfacf28b6f, 0x7cfe64087871253b, 0x13a98a2b33ff19a0, - 0x000000d6607fd9 - }, - { - 0xce294a25fdd936c8, 0x3e1a5c72df114a6a, 0x526e1785a2eefc0c, - 0x000000b7405b66 - } - }, - { - { - 0xf963514c56724be6, 0xba2f8dc2caf4ed60, 0x54674b224be60203, - 0x00000013d17076 - }, - { - 0x11a1b9c6aaa9fc7c, 0x49e6f3dbe7a682ad, 0x225ae434c33e79b8, - 0x0000008c121b4e - }, - { - 0xfb7cd131f42e39a2, 0xbb18204907579850, 0x3946ae38bd8c2a39, - 0x0000008e222a8b - } - }, - { - { - 0xf7d2b7ce96f3b780, 0x3b75636623b8d5f9, 0xf515d5e15e2e4858, - 0x0000002ca4c131 - }, - { - 0xbefb1c55abc694d5, 0x78a4613d007259e2, 0x1c4f81cbbe945c7d, - 0x00000091e870e9 - }, - { - 0x3592e7553ab986a7, 0xea8d20eb78701ac4, 0x37053dcd2168f362, - 0x000000f1a47d96 - } - }, - { - { - 0x6c7ea7c646c5a633, 0xd95a843638058731, 0xe6cad9715b077042, - 0x000000420556ca - }, - { - 0x62d3c26a75dcd20d, 0x22aa77a4c43108ff, 0x95d6b87a2a1de416, - 0x000000bd58f636 - }, - { - 0x9b3e3ee971314e17, 0xc2e9774346e64973, 0x7ac0c271e5e92fce, - 0x000000f29534dd - } - }, - { - { - 0xc17507d878b7da8e, 0x3031b2ace800c7d9, 0x23fb6e2f2562ae0e, - 0x000000977d3e59 - }, - { - 0x713fc6448054b42d, 0x7ddefd8dfb077429, 0xb577a5fcd932aaf7, - 0x0000004db2569e - }, - { - 0x7485d4c1e60f68da, 0x26328083437cb080, 0x15c30375c026c40, - 0x000000d8459857 - } - }, - { - { - 0xa81f42b1d3a0c7eb, 0x7b0f7152c2b6435e, 0x796bfee02db070bb, - 0x00000051fad05b - }, - { - 0x2dd61b0445428d7c, 0x2fc3bff774e1f60a, 0x535edd7573018e16, - 0x0000000640c716 - }, - { - 0xbceaee32c4dca84, 0x338a2eac410a848d, 0x68dc830ed735395a, - 0x000000e95cd781 - } - }, - { - { - 0xf8876ddfd5c7c853, 0x6cff9dbd49193881, 0xef58b09edc2828f5, - 0x0000009239d5fd - }, - { - 0xe6e1f5330ab2d304, 0xb64a0f6a574b78d5, 0x966e72a6473aa34f, - 0x00000011026a4d - }, - { - 0x7fb1496ec7b7e2e2, 0x2296e9511ad99b8e, 0x135ea056be3d26d3, - 0x00000028c658f0 - } - }, - { - { - 0xf63ca075e1b2ad6a, 0x1db95d4f24c25515, 0x534e2e225c9f3e8c, - 0x000000a4271260 - }, - { - 0xacab5c0fcfa2a39a, 0x5cb019962c99dfad, 0xf91d252e839a6ff9, - 0x0000007048cb84 - }, - { - 0x150801a29c611a3e, 0xc88f618ba33b5dc, 0x1ebb87ed4167f48a, - 0x000000d0ac9d41 - } - }, - { - { - 0x89a6eae58bf3127, 0xa955153b23935f35, 0xf700a7f294deb3f0, - 0x000000a095b31d - }, - { - 0x952d7ab91c6693aa, 0x13282bc26624eda3, 0x317d9ba1d7403639, - 0x000000be8af417 - }, - { - 0x69bd088508e90727, 0x8bae9a452f91e2ca, 0xdbacf669b951cbaf, - 0x00000059de02af - } - }, - { - { - 0x4a01c40e9e5584ac, 0xcb456c917ca7a2b4, 0xf35abd47614f1a4f, - 0x0000009b60ef17 - }, - { - 0xf92d445c28cbd129, 0xb914b9bd94305095, 0x118575988d5c19ff, - 0x000000c52b5d90 - }, - { - 0xf07dc13aee4bb7f5, 0x440e8ce8915a74d, 0xcbaa6a69b34d252e, - 0x00000055228eb4 - } - }, - { - { - 0x60e2114e810c1632, 0x70327c699538230f, 0xf261eee069740927, - 0x0000002c19e458 - }, - { - 0x7bb714c7351d4326, 0x61991541597a73c8, 0x2e7985dd69864f2f, - 0x000000e483ffd9 - }, - { - 0x8ef4753b5d652e6b, 0x2c33fad045f35878, 0x4cfd1f15cd0b81ec, - 0x000000822d3b7a - } - }, - { - { - 0x5425b99474c7ba5, 0xf7f5033d15ea3607, 0x684a9bb0ffba3c0c, - 0x000000ee95b862 - }, - { - 0x1d845e55af8b8c, 0x45fb5ae7b0981ebf, 0x6f9aaeb6450e5bd5, - 0x000000803be1d4 - }, - { - 0xdafb21d9bde4d218, 0x615c3514f69b6bae, 0xf803561b8d5246af, - 0x0000007f417d45 - } - } - }, - { - { - { - 0xa0e2e39afecaafa9, 0xd0c7768b8010ec89, 0xa262e43031f2329b, - 0x00000040234b6b - }, - { - 0xc380322e26e56ffe, 0xbc562e1dff8a6644, 0xfba074c0cc93b780, - 0x0000007d47ebdc - }, - { - 0x24febc16e4aede6e, 0x56bf6399e39abfae, 0xe93fcc68a6d1bf19, - 0x000000b677ba04 - } - }, - { - { - 0x6b85795fa6b2d357, 0xc7894653c8f1571a, 0x50afd802a8810034, - 0x0000004739ffc8 - }, - { - 0x3ab2049eb7ee3cb, 0x7a09ad7a38ad3bcf, 0x2452a42ef7e74984, - 0x00000027411341 - }, - { - 0xf485c6844ffb0e47, 0x7e87de7ae9533f84, 0x94738179080b9b05, - 0x000000418b508e - } - }, - { - { - 0x6f92d7d36df7614b, 0xda301398cd7997d4, 0x83a6370404865f8f, - 0x000000e335de9a - }, - { - 0xb24cde2a785601d2, 0x903526f88e1216f5, 0x168b573898943ce, - 0x000000366a87fc - }, - { - 0xd300a640afdc3b97, 0x877f09128d9aabde, 0xca3dbee7d631ce4f, - 0x000000cf7336af - } - }, - { - { - 0x26522e7a10160875, 0xef950cc29305abca, 0x2671390bf00ed3c1, - 0x000000500e7909 - }, - { - 0x8fbc11fef467fb74, 0x67c6db32ef3d2842, 0x6786a2c653e69897, - 0x000000595faee0 - }, - { - 0x1a99ef3ba603886, 0x98c8d1d3bc79c707, 0x88a959362576ee93, - 0x0000001c738c62 - } - }, - { - { - 0xc632ce988918c34a, 0x12cb7a75f3b549c1, 0x910221dbc66e9a17, - 0x0000007218cee1 - }, - { - 0x17fbb5d54d3429bd, 0x7e2f4e03f9fcac9a, 0xd4f75f5d1715f601, - 0x0000008d1e8078 - }, - { - 0xbba11952ef9cae99, 0xc4906ffd6cc97778, 0x5157e7bfb0213ba0, - 0x000000f7474b85 - } - }, - { - { - 0xaaa34369cb97a74a, 0x6f32c10abc44b0f1, 0x7e9a9182f12b676e, - 0x0000007c3585e1 - }, - { - 0x586dcf2c22269329, 0xbcb86f78961c942c, 0xee66d7b3db5ada1d, - 0x000000f606acaa - }, - { - 0xe9011ffa94091d4b, 0xc11205ca218a2b61, 0x5a6b0562b3664519, - 0x0000002081eb64 - } - }, - { - { - 0xf93a49ee99dd2a97, 0xac3f6186324e130d, 0xf28939bd0735134d, - 0x0000003f775adf - }, - { - 0xc787d7bc59a412b2, 0x86c478c05bbfd0b8, 0xa4c227d7c18bec73, - 0x0000006c575955 - }, - { - 0x1c79f23a0fc95cce, 0xc514a53387da9e41, 0xe7a590035764cfc3, - 0x0000006125df71 - } - }, - { - { - 0x57d5a381007b1450, 0xb3fe3b28f7203cc5, 0xb39eed27c1585373, - 0x0000002db119da - }, - { - 0xa1bf05e69f29135d, 0x5724103935f430a, 0xc0c3ca26cb753eae, - 0x00000045eaedf8 - }, - { - 0xff7e0e757b2f4db4, 0xfab1fc98b061411c, 0x668fd08364b7e96, - 0x000000151872c2 - } - }, - { - { - 0xdbe8a21c8c5b72a8, 0x4136bd6c5df33b7c, 0x31e72e4e04a95713, - 0x000000aafe0918 - }, - { - 0x2248ec8d6f48acfc, 0xb9d70ccfe137317a, 0x3c07e80850311afb, - 0x000000dfe31d2b - }, - { - 0x4e2554a4b1f36f96, 0xd9951358f0e32574, 0xbb4c14bdce58f3bb, - 0x000000d3a29cac - } - }, - { - { - 0xe7c6fcac25c6a347, 0x73f69c48e6971aa5, 0xcc65e8754c15d0e9, - 0x00000067818f33 - }, - { - 0xcf4fb2953eb7468, 0xf06ad80e47ebb1a4, 0xa437c48c570e182a, - 0x0000000816d04d - }, - { - 0xf601ec2d83d93efd, 0x9a3a138f3c8f9caa, 0x77adc655d877029f, - 0x000000ceacece8 - } - }, - { - { - 0x6ba774499e5f6e22, 0x60f1eb2f062bfbdd, 0x95c61f1e4442426a, - 0x00000070dcdfab - }, - { - 0x4dce1e6fbc12ba68, 0x3a351228d9a4974e, 0xbc7c0f6b39eb40f4, - 0x000000d7483478 - }, - { - 0xc848dfedee7a83c3, 0x6a5d13a2c8a472aa, 0x88b494fab32900ec, - 0x0000008f40491d - } - }, - { - { - 0x9bc503a2f16c7b6e, 0x8463b60ca805429c, 0xbb8cbe1554df8a7f, - 0x00000018b0706d - }, - { - 0x858209d6f192c043, 0x6d43947e681e140c, 0x6b408c4e2ef21a8d, - 0x000000edad0978 - }, - { - 0x42ad5e6a86c7bbc1, 0x6176667bbfa4443a, 0x4d3877d1a0739fcd, - 0x000000687c0add - } - }, - { - { - 0xb50b662ff3f09138, 0x9b0e4323370ace4, 0xc95b150476ab7a7b, - 0x0000000689609e - }, - { - 0x8145bf7a65f34a62, 0x9abb3b122e6f5d79, 0xf404ae020039af53, - 0x00000065069caf - }, - { - 0xb3da1909ce1efe65, 0x865385638a8be79a, 0x45be6ba0b2451cce, - 0x000000dbaae46f - } - }, - { - { - 0x553a7fb6daba8619, 0xf7494835482760db, 0xe61f00b0d27ea084, - 0x000000f1e762b1 - }, - { - 0x6f0e9f78de031252, 0x8f9e65c9cd452d22, 0x150a43fdbc4a82b3, - 0x00000048fc8856 - }, - { - 0x371a9ed8627c6c4a, 0x1078da936653e1a6, 0x350fe2a4eeed8b02, - 0x000000046be668 - } - }, - { - { - 0x144bf88fa5c5c55b, 0xc2c8ae7394230dd8, 0xcab000549ffea534, - 0x0000003868b1cb - }, - { - 0xe56b29eca0c16542, 0x4e4832e727120479, 0x38ae88531236f707, - 0x0000008bddbca6 - }, - { - 0x8741f23ecbb2db69, 0x1ad1efab71e834ca, 0x4f66847ebfbb2d1a, - 0x0000008c894bf9 - } - } - }, - { - { - { - 0xb161a82b87d1c9d6, 0x3a855707adcca9d2, 0x6cbc0cabf35d6d02, - 0x000000cdb2dfc2 - }, - { - 0x42b77f6efef43035, 0xa0a24be40dbb3679, 0x9833faa0551d1963, - 0x000000652d01b4 - }, - { - 0xccc13fbf72d3d8a5, 0xdff3fc04747790f3, 0x6df6ad9ae2742ea9, - 0x000000712b229b - } - }, - { - { - 0xd7ed148a9329136e, 0xbc7dc7936554ffba, 0x9b7faca71a0aaad9, - 0x0000004fd97d21 - }, - { - 0x2a27a5d872ad558d, 0x5101c91d84688773, 0xa77c9f6ab2031111, - 0x00000063cbc1c1 - }, - { - 0x81a472cf3858866f, 0x70edaf01c36d9220, 0x9a0f85e42bbf216f, - 0x000000a7cafe81 - } - }, - { - { - 0xdb9991ae38a0338a, 0xefcac84550b16e08, 0x166615eeadecc24b, - 0x000000d56c058a - }, - { - 0xf594c1debc7ba0d2, 0x3433e6935d5659b7, 0x582ef150a084be13, - 0x000000dc8c91d2 - }, - { - 0xa898c3fe4138892f, 0x80b9e4e9ff5f029, 0x1c7680448fc02946, - 0x00000068701504 - } - }, - { - { - 0x90a85bb132381025, 0x812b446bc8feaca6, 0x90b19b60d477017d, - 0x000000e7142a3b - }, - { - 0x66f6b4a559f9450d, 0x272aeafbfb6ec8e, 0x6b5a756b2bc1b71a, - 0x000000e27daab9 - }, - { - 0xdf9ea51631376547, 0x28ea227f2dc4000f, 0x98ded02957141158, - 0x0000004b6c77c2 - } - }, - { - { - 0xd7e73eb0c7adc93d, 0x8e21e5320a09e5c, 0x496c1f4a5c9013dd, - 0x0000000b778d0b - }, - { - 0x1ba5e2746bc0ab0d, 0x85b296f60d327f1b, 0xcc9531a5b4e8f9c5, - 0x000000b4a716c5 - }, - { - 0xc8e4fc622d63f93a, 0xb8725b4f03400b18, 0xe25c81d7cb343578, - 0x000000c2f396c4 - } - }, - { - { - 0xd5f064fbfcf929dd, 0x6e5455a1a76f46a1, 0x9d1a156ca33224f2, - 0x000000a752d561 - }, - { - 0x4b9904132a775145, 0x31978dceeca9dffb, 0xf1e9173a42b7edc, - 0x00000084dbdfb9 - }, - { - 0x24d1d0b0681e80c7, 0x413cbe92d670fbdc, 0x774e36da15567384, - 0x00000007a06bda - } - }, - { - { - 0x9ea9c5758c78f349, 0x7965fe0f24a76c9c, 0x112aeb57cc98512b, - 0x00000099922763 - }, - { - 0xa4daf0e7593144ea, 0x92363569ad0947b0, 0x60e0e4c428df59ff, - 0x00000088875a5c - }, - { - 0x72c9bcff5d96350, 0x63498c4a6febc8f1, 0xb6dbb40d0c1ccf27, - 0x0000007eba7744 - } - }, - { - { - 0x8a71c3cad0e1d008, 0x773e505b9754778b, 0x3710e7d9edb4e3b0, - 0x000000103e69b0 - }, - { - 0x5ce6e7f3a9050aa7, 0x79d182db38bc86aa, 0xb32544515214c79d, - 0x00000037fb7937 - }, - { - 0x319970c450b30c4d, 0x893dddb74b277238, 0xa7903beb7445b344, - 0x0000007caccbff - } - }, - { - { - 0xaf81725260482857, 0x91fb2e4ef2c3d365, 0x22a2fec32712aa5d, - 0x0000009f722753 - }, - { - 0x316b42b2a6c3cd5c, 0xec84b7ef9ad1eee6, 0xff4461f7db33c5a, - 0x000000dae587e4 - }, - { - 0xabb63aa39019fba0, 0xf17d6e92ac0b0a9f, 0xd82f7ba453f62f61, - 0x000000bae523bc - } - }, - { - { - 0xd1ffd49d35ed75a4, 0x2fc66dbfe8429a0c, 0xba436774ed47ea42, - 0x00000004f46457 - }, - { - 0xf9502598ab7047d7, 0xd66e04610059fe0a, 0x3f7c2be7f3a6db6b, - 0x0000002b10f55a - }, - { - 0xd3c82bc90fbecfba, 0x9bfbe212b80602a4, 0xd055698d27bd6885, - 0x0000007561bcbc - } - }, - { - { - 0x434a0954d2604944, 0xbf089f4203163f63, 0x434a4b87f11db97f, - 0x000000a3b77d5f - }, - { - 0x9218f6dc1faf732f, 0x481c14a4664218a1, 0x9d7965efd040b3b1, - 0x000000bd888981 - }, - { - 0xa3ca11f79df5bb78, 0xb1d14be18e23ffd7, 0xd44a3040ba567f72, - 0x000000e8c82ba7 - } - }, - { - { - 0x2bd3ac0c11d12f7c, 0x7d3d21043557e5ba, 0xd83856c3b588613d, - 0x000000b9b29c33 - }, - { - 0xaca41c228781a6d7, 0xf104d0aa22c8ce02, 0xe04c8d1f04d52cc6, - 0x0000004098c40c - }, - { - 0x39865f018ad58af0, 0xaec87e9e07ad51f2, 0xcfc8311594095b00, - 0x000000e310ce86 - } - }, - { - { - 0x5ade386c0b27ac51, 0x84dd4891f23feb0f, 0xf0b7f82bdfb518cf, - 0x0000007dcb42df - }, - { - 0x457766f6911dce6, 0x9677b1ebf60e7fad, 0x9738839ec836c72f, - 0x000000f66f967b - }, - { - 0x137d8192ec755068, 0xb7a68b42aa51c62a, 0x2fc34b8fcb85365d, - 0x000000b2092659 - } - }, - { - { - 0xdc47de741f312037, 0xda919ff244303e02, 0x33ca8a5c091fbc58, - 0x000000ea66b569 - }, - { - 0xf937f4505bbee4d, 0x68012800f8aced09, 0x79b7acc1f1ad6f28, - 0x0000001fce125f - }, - { - 0xb7d34fe98af33bd2, 0x4d8dbd3052a46e3, 0xbecbfdf4e086f93f, - 0x000000961c9206 - } - }, - { - { - 0x4f5fd1f7a4dbcf52, 0x3272186efb2b1350, 0x1e2dac980892fcf5, - 0x0000006ebffa63 - }, - { - 0x5b9904b2ed167d6e, 0x1f28311f98f8bd12, 0xc268dbb79477230e, - 0x00000015306750 - }, - { - 0x68e2806adc637487, 0x3a9cfd5527d39989, 0x80a0383a1173c78e, - 0x000000c2c626fe - } - } - }, - { - { - { - 0x1444417b077bb3ec, 0xb3a526bd50aee4f0, 0xece1dadbdf7afefa, - 0x00000027199908 - }, - { - 0x70b754b227c2900b, 0x40a5f0237c6f2ceb, 0xf603173d0c662ce6, - 0x000000130cc31e - }, - { - 0xcc1bff204fee268d, 0x890b01909708485c, 0x76081ab04b82f29f, - 0x000000e97c0c96 - } - }, - { - { - 0x7df74be16ef22281, 0x5445e87cb4713726, 0x28725a0112e4765, - 0x000000436591e0 - }, - { - 0x922d21fbc078a4b4, 0x76533ce4e8b4eb4d, 0xf8c042b8cb8185f4, - 0x000000be5a5b1a - }, - { - 0x7eadae1bdb7a2050, 0x116de8d269d22262, 0x46b20a453523bd28, - 0x000000c46d8197 - } - }, - { - { - 0xcd80979cb1eceb4d, 0x1340e700d60937f3, 0xe203232316a3e4f4, - 0x00000005362eec - }, - { - 0xffe14dc2a832e7e5, 0x61fe82ab9ebab2e4, 0xb4eb10ce7ecbe27d, - 0x0000005c925b9c - }, - { - 0x54c9374e7eca9dcc, 0xe8fd44e423592027, 0x37cb20b880b09a43, - 0x00000083d35d16 - } - }, - { - { - 0xa06d0c322dbff1c8, 0x24e0385bffa331b2, 0x879f8accb26cd99e, - 0x00000059410b32 - }, - { - 0x3c82d3488abc73c9, 0xb363d327f193786e, 0xdb2e457312ea889d, - 0x000000ed1551d8 - }, - { - 0xcd76044f869a1479, 0x1680718a554028fd, 0xbfcb0a85a8ea6782, - 0x000000b116b7fc - } - }, - { - { - 0x476d7153e08c7869, 0x6da48e545550b822, 0xfb1045d26bba26dd, - 0x0000006cf3cf72 - }, - { - 0x407859fdf145b969, 0x9d037970c7ef0b29, 0x525d9b47f49c321d, - 0x00000093e5ce61 - }, - { - 0x703a6c34395d2a, 0x967579f94d6bc5d4, 0xece831b3d563a573, - 0x000000d8d8a6e8 - } - }, - { - { - 0x4ed80ca3cc47f59e, 0x8ee300a38510074e, 0x8ecb2219dc5422c0, - 0x000000163d2be4 - }, - { - 0x41515a33f7169ed9, 0x8e756b3f9700f8d, 0x74896e4f42a2ee8, - 0x00000059c77392 - }, - { - 0xd9204ce13e4b716c, 0x821f2986a718864f, 0x2cc0bf341ce1ef76, - 0x00000026d41551 - } - }, - { - { - 0x5ad96b152b66c4b6, 0x49d849b8c426d4c6, 0x69b688c2469708ed, - 0x0000005de989c8 - }, - { - 0xc126e33604d38eeb, 0x3c41a722b5018c23, 0xee71c28bd4dd3c3, - 0x000000b8c3980d - }, - { - 0x14c8275ec9119fa4, 0x65d6dd0097f706eb, 0x1b7d0cd5497b1326, - 0x000000a82f82fc - } - }, - { - { - 0x276ecd11f794ee8b, 0xcb5d482ba5b22b3d, 0x34b6064b4915402d, - 0x0000006b86b185 - }, - { - 0x6fbc30fd27620b13, 0xa0bc635345fe0ab0, 0xcbf9e2881f6f1cd4, - 0x000000c9e8045a - }, - { - 0xd33d9c313fbaa3bb, 0xd0eac5ab30a8b449, 0x73c9021c3c4f5e8b, - 0x000000ef5df964 - } - }, - { - { - 0xb5530bf5737f8f86, 0x43f446daaaccb025, 0x918a81d1128dbd57, - 0x0000002c354e22 - }, - { - 0x57d10c03c34adf11, 0xa33db9eef5965219, 0x3860eb1f58dbcda0, - 0x00000090d2e71a - }, - { - 0xa1e48ffbae67dc4d, 0x78dbbc2f3234923d, 0x48e56df8a84ebc4c, - 0x000000d08f3573 - } - }, - { - { - 0x9ecadce5c7e836e8, 0xbf3b17b16a200d3a, 0x133bc37b50c4a57a, - 0x000000c4f89f16 - }, - { - 0x27346f65aaf41c2e, 0xad8edeae3c3cd881, 0xc280dc18f7fc6cac, - 0x000000538b03e6 - }, - { - 0xca4193b21863ccd5, 0xd92b4bf85dda5285, 0x2ecc3ee5e4480fd7, - 0x0000004d6acafe - } - }, - { - { - 0xb4873df5a638e96, 0xaefec350dc6e2cb8, 0x48934b8b190a5520, - 0x000000752843c8 - }, - { - 0xa1f351a2f36e09c7, 0x51459e92afdc5582, 0x45927ec4baf6ea5e, - 0x00000008027fbf - }, - { - 0x82ae75aa6ff95af6, 0x452b0f11b4c87c21, 0xe4595af0b9741481, - 0x000000ae9a44e1 - } - }, - { - { - 0x63302fbfeed77c6d, 0xf2359a0155dcaf3, 0x34a3290632ef7672, - 0x0000007787a988 - }, - { - 0xb5c18c668e28e304, 0xc62ed431b5b57511, 0x623b2080f78b503e, - 0x000000d29481db - }, - { - 0x655f64a82f26628b, 0x2a74562c68926286, 0x558611d8f351dcd, - 0x0000001c81b5dd - } - }, - { - { - 0x2977d0352ab23d62, 0x644db6687dc8ff6b, 0x20ac439a165669b, - 0x000000f4518624 - }, - { - 0xde96e21c05b60cd, 0xeddf473d1a9321ee, 0x82747787be2e3ace, - 0x0000003bd22871 - }, - { - 0xebca69497f9a2eab, 0x765d05948e8abddd, 0x67324aaeda6614ba, - 0x00000040fada3b - } - }, - { - { - 0xa7adecb11b81b9ed, 0xcc64fe2f55553160, 0x70b100dfdb0a5e40, - 0x0000003f2ea27a - }, - { - 0x699af2d1b6b4be9, 0x23fd9d7ccd26e3cc, 0x3fde2d7d2aa738e1, - 0x000000887e1990 - }, - { - 0x27a67160ea0ffeb0, 0x997eb81a7b41b27c, 0x3e9ffeb19f457002, - 0x0000001e86722d - } - }, - { - { - 0x3609f647526e25f5, 0x6129ab0f2ffe9880, 0xf985ddc3931d7acb, - 0x0000007551cb30 - }, - { - 0x1a772f4c03ce88d6, 0x8d82e2e81feee75, 0xcded3383d367d1bb, - 0x0000001f3df7d2 - }, - { - 0xc7257d833a2c663, 0xd5e4f9869d806382, 0xe45abaaedd09cb52, - 0x0000005b4425b7 - } - } - }, - { - { - { - 0x4dd6409089805aaf, 0x6ba247617a7b7c00, 0xe12d8542f6861d73, - 0x0000008a9fb69d - }, - { - 0x612ad6cb2a7a9a8f, 0x263816ee7a4a7d5a, 0x6e24a39644d7c206, - 0x000000fd42ed8f - }, - { - 0x70b124412edab76e, 0xaf95e4f3e3780069, 0x2c7dae9cbf6f21f8, - 0x000000c864f80a - } - }, - { - { - 0x9484342d809c210e, 0x71c9530a9dbf23b0, 0x9bdae5a33e331409, - 0x000000f21f8c3d - }, - { - 0x5b7cc9bdac4b0744, 0xc781f37c5ef9da5e, 0x4d96e60146acf808, - 0x0000004ac60d50 - }, - { - 0xa6e773018a6f2002, 0x428a5944f908cb7f, 0x22b184341440e962, - 0x000000e740da83 - } - }, - { - { - 0x4b06c3eba91709c8, 0x23340701ed0f2574, 0xf49f36fc4685b45e, - 0x0000009507a622 - }, - { - 0xf5ca209d1c057bd3, 0xa3ab8522b4f5b21c, 0xbe996b3fc630c504, - 0x000000dfb7993e - }, - { - 0x3e75f4c517afe26c, 0x2e616f382e6d96ad, 0x6ff86f01301f6cda, - 0x0000007f54ec4a - } - }, - { - { - 0x14c8de72033092e, 0x4a23499ad318179d, 0xd63135d25c2a1ab8, - 0x00000008fd9d98 - }, - { - 0xc39fef2fc423c3b4, 0xf152e58ac6da60f4, 0x7d794d5a541fcae3, - 0x0000005c607c21 - }, - { - 0x5bd2606ba433a56e, 0x9b5a1b4cbb63c92e, 0xbfe2c03ab54af547, - 0x00000021bab7b6 - } - }, - { - { - 0x5ecf01d7f3b82457, 0xac4fd00a99cc7602, 0x25dc9aa37f01cf9d, - 0x0000007c59f230 - }, - { - 0x499e528ffc5ca7e, 0xb87bac39d3d329f0, 0x33508dec6646d990, - 0x0000000ff72200 - }, - { - 0x118e84b0c18ad2a9, 0xbe3b71a9a4ac4bd0, 0x2215dbec6ab87630, - 0x000000ec425707 - } - }, - { - { - 0x359232482951068c, 0x3c308e5c535d3438, 0x75e028816e184d7a, - 0x00000022e5d41c - }, - { - 0x9e5cbc9a79ca0316, 0x99ab51b240cc0116, 0xbb5ca12d31717aa9, - 0x0000008d5c8faa - }, - { - 0x5bd4fc62afd3e98e, 0x48814c96c4bac38b, 0xfa266636f4694537, - 0x0000001afca8da - } - }, - { - { - 0xbfd8ec880f9b3770, 0x4446a831a7780c5e, 0x5c188dc6df1d898f, - 0x0000002a2a0d20 - }, - { - 0xd2980a66c6239340, 0x996d7b6caecda1c6, 0xd06accf4c529bbfc, - 0x000000f4f3cba2 - }, - { - 0xb2cbda7b4cf24c45, 0x566c57ba915da1b4, 0x422e2c57464c7279, - 0x000000d797fd44 - } - }, - { - { - 0x2e9cf58079cc61f, 0x5d97bb38dc8b08fa, 0x5986446a136a4225, - 0x000000e96f172f - }, - { - 0x9da5fbeace458854, 0x8fefb7d748ba6b7c, 0x629c11c31dfde83d, - 0x00000060fb03c7 - }, - { - 0xc4ffb27ce47a7020, 0x113dd24f04bea119, 0x8b515cc6cdc7fe10, - 0x000000e26a687f - } - }, - { - { - 0x76afc8ea64125562, 0xb213609608036ec7, 0xedb0b4f0a8ebe6c9, - 0x000000478dabcd - }, - { - 0x42802be377ad33ae, 0xbd9cfb1dd6fe6419, 0x820ea1ed2d16dfd3, - 0x0000003dabc1fd - }, - { - 0x970285c793896acf, 0x897266200855201, 0xa7d5af083c108193, - 0x000000d8552932 - } - }, - { - { - 0xe2872c5e82aaf01a, 0xe241bc3152955194, 0x73ce4a6a614e5eee, - 0x000000f8f2fa82 - }, - { - 0x5ee79417888d0887, 0x6657dc3c9203a8ed, 0x6bea0c760aee0227, - 0x000000e8436cad - }, - { - 0x612e1ec1ade9ec0b, 0xae26c6641f6763c4, 0xb153488634f6dd10, - 0x000000a4fc956b - } - }, - { - { - 0xd6a69bfd587854eb, 0xfb6ab94de2a2bcdd, 0x9148e2fcd203506f, - 0x00000095ae9c78 - }, - { - 0x332999ff4cf9c1a4, 0x948240e119eef22e, 0xfe9045291067243a, - 0x00000079f27072 - }, - { - 0x654678393fc6d77d, 0x4e460ae9401f65eb, 0x95333a15d3968484, - 0x00000008e5516e - } - }, - { - { - 0x417c508d9abfb15a, 0x29611984d3f080b9, 0x8a46a9327a406ad4, - 0x000000c94150cd - }, - { - 0x93b8d60418e3293a, 0xf43f970b122c7adf, 0xbe8ad68eb3278aa8, - 0x000000a66912d9 - }, - { - 0x3a576af90c772423, 0x220aa4a584430221, 0x5bf8e37ab1c7fb80, - 0x000000ed72ee5d - } - }, - { - { - 0x24816fdf47c81a4b, 0xc658909cb548f8af, 0x17147d42462853c3, - 0x00000006fece3e - }, - { - 0x988b25982b134f06, 0xc8dcd7ab2023b803, 0xf83586f6ffe4f9c8, - 0x000000e5df17a3 - }, - { - 0x148ec85ddfd90c27, 0xf7f5983aab07491d, 0x23babd78627c7976, - 0x000000e5fd7ae3 - } - }, - { - { - 0xb829cd33d7ffaaa, 0xe1f701c079af5909, 0x350d9eeb812b956c, - 0x000000c4135415 - }, - { - 0x65cb31fde4fd05ab, 0x91194e5fb9550621, 0xe6b6317c09e970be, - 0x00000059bbf748 - }, - { - 0xd0e2831cfb1d4c01, 0xac66ee5e1f897c30, 0xf941d91c23e5a6da, - 0x0000000e64d459 - } - }, - { - { - 0x3722f32656998f47, 0x17cff86885768575, 0x17fac3993f3cfb4d, - 0x000000e3bfe230 - }, - { - 0xcca5dc26eb9a87d9, 0xbb6d3721447031ef, 0xce8a8465139aa779, - 0x0000001b239c4a - }, - { - 0xb6d5d16ffa2e5614, 0x64a7ed217ec30db3, 0xb74fcf8b33651053, - 0x00000005ceec99 - } - } - }, - { - { - { - 0xb4b4e48f70728caf, 0xa1c615ea383006d2, 0x7edb2f762cf1e0a0, - 0x000000330e8af8 - }, - { - 0x973838e05a53901e, 0x33f6565e4076d645, 0x322a9f4285ca6aee, - 0x0000004365364a - }, - { - 0x98c3fb7486c83a6a, 0x54a964042a85b79c, 0xa66aac3e90c924e9, - 0x000000206adac6 - } - }, - { - { - 0xd725943cf3cc81a7, 0xcf1d501b78942897, 0x141543abd2a0c881, - 0x00000021e2fd97 - }, - { - 0x975ae286087a806b, 0xa3f176780878300a, 0xad6b802aa2b58e57, - 0x0000007bf5cd68 - }, - { - 0x12182462fdb6d217, 0xfcfcb5c77f3d8280, 0xc2bdf4d01c0e1d55, - 0x0000009064b108 - } - }, - { - { - 0x6e3a71e8cac728af, 0x543d941cd353eaaa, 0x4e40df26915e19c9, - 0x00000018252614 - }, - { - 0xb64f7e4fc0c33208, 0x2a429199af84057f, 0x6df8133d4002fa22, - 0x0000000db587e4 - }, - { - 0xfc64ab884b831904, 0xeeaf83a020916c80, 0x3312f2b61e1992e5, - 0x000000be62fcc8 - } - }, - { - { - 0x9ebc27d58c4f7882, 0x7443d991c455385c, 0x56ab96cf235826f3, - 0x000000502a5bf9 - }, - { - 0x57117580433332a3, 0xe742b0ebaa5452e2, 0x9cf6b7ce4fee0a61, - 0x00000001b2dd53 - }, - { - 0xadffe5ccfc91b26c, 0xcdecc04d8e4cef0a, 0x247d46c3aa128a38, - 0x0000002ba46bce - } - }, - { - { - 0x646edc4c163f22eb, 0xe3ccf688d5b1de79, 0x56f6bad8585a08ce, - 0x0000000a8efd3c - }, - { - 0xd1a84bfcad052b97, 0xfb6e1102e99be0d9, 0xe986bcb09cdb3e44, - 0x000000bb68a4ba - }, - { - 0x6f6c994cbf2bc458, 0x7099c44e54e0c224, 0xf0342e1a8f6c2bb8, - 0x00000043246f08 - } - }, - { - { - 0x943c1ec0d56615dd, 0x24eeeaee96116733, 0x1095af2a7fc27e86, - 0x000000b5da38e0 - }, - { - 0x3b6dcbeb12f3fe37, 0x4990a5ae54cacb3f, 0xee627d1cdda3cd81, - 0x00000006c0ece9 - }, - { - 0xbcc2eed7a9ce66ac, 0x7cf75d91832def14, 0x7c9fb61c67f703ca, - 0x000000ea8eae92 - } - }, - { - { - 0xf8c00b150df39c0d, 0xb8a486a71281addf, 0x2eff44c7c777ae43, - 0x000000cd4036cb - }, - { - 0x3ed4014bd029d9e6, 0xf803f094995fea03, 0x4726e0775458bfec, - 0x0000000212deb3 - }, - { - 0x6e8481b3fb6140e4, 0xf15f7e2b28c632ce, 0x18cd8fe164531765, - 0x000000f5843fbb - } - }, - { - { - 0x8cdb00da280ffd54, 0xfa9c5572ff400512, 0x9829b7a63690ec3a, - 0x00000051996e23 - }, - { - 0x651f6661cd52f7d5, 0x7a851b12a96fd622, 0xb5f378eb5423020f, - 0x000000307382ab - }, - { - 0x5ee6aeaf062bf530, 0x71e2e8fd0d1f24e1, 0x95bb90097828add4, - 0x0000007040b143 - } - }, - { - { - 0x10455eb08c73fd68, 0x6e6dc77bddb1b21b, 0x8b06e0ef5ad0a75e, - 0x00000073547a44 - }, - { - 0xee434f647addfefb, 0xfc8f399b740aab52, 0x38b5baf13536680, - 0x000000d6d08c64 - }, - { - 0x913ad2bea05c67ae, 0x3012554617ff864d, 0x8ff4971d9ccc067f, - 0x000000a90fb444 - } - }, - { - { - 0xd1ccb216866517a0, 0xb2cf8f073e90e69c, 0xabf4859449aa0569, - 0x0000001ca7af3d - }, - { - 0x3d73b21d7a408e15, 0x83279f4d762e679f, 0x8dca29c769b8e2df, - 0x000000d0b82461 - }, - { - 0x602b74bcbdff9c92, 0x7be4bc5bd5c4096f, 0xeb6267008acd3afe, - 0x000000e2fbb5be - } - }, - { - { - 0x990abc17f3258944, 0xb265e975dd9e0074, 0xced548890f7b7f95, - 0x000000ba713c56 - }, - { - 0x68761cb9c51baf1, 0xc19a336586a0bb, 0x94f99293dbaed5a, - 0x000000a2dacc8e - }, - { - 0x1a2cc0f8a8762f05, 0x85dc74ff8a500f4c, 0xb38a516c6dbb39cc, - 0x000000992a8c34 - } - }, - { - { - 0x796a5209eb467b6, 0x51c49a2ac6754190, 0x58d926578e59f29a, - 0x000000d53643b7 - }, - { - 0xbff5cee7dfcbb284, 0x84d4ababdb1c2880, 0xac80956dc7017f8, - 0x00000011cb794f - }, - { - 0xe6bdf2d368ff7a9a, 0xf90169c44d508a0e, 0x90cde351e268b36d, - 0x000000b2c7da0b - } - }, - { - { - 0x8bb4b1b3feb063ce, 0x5e10417b265bd7c5, 0xa7991b843546ee83, - 0x000000ea1b650d - }, - { - 0x3c15e06ab2a8f51a, 0x2c37da7d2052548b, 0x5f1b7c08b5e53f74, - 0x000000a544ec5f - }, - { - 0xa39f2b4094faf82c, 0xb4be7967a107eac7, 0x62f8d7e17450a203, - 0x000000ab60eae4 - } - }, - { - { - 0x3e8f72cbb6624b21, 0x732d45a4bccbf962, 0xd76b200c47f9bdae, - 0x000000f4a6d060 - }, - { - 0x1d83dea007784371, 0x64eef964f28f1a4d, 0xcabe9cc8dac72f06, - 0x0000005a230a67 - }, - { - 0x1d3b4e62a6540dbf, 0xba1c911457bd8e93, 0x3afdf53bb9ba48c7, - 0x0000009bfbc746 - } - }, - { - { - 0x4e9f6201f0a40173, 0x2e06de4f483f693a, 0x2eae41b63b1a29b3, - 0x000000aa23632e - }, - { - 0x22bb638e9051b283, 0xc55ff6062cb1f726, 0xe75e98175fa95e7, - 0x00000030aa77d8 - }, - { - 0x8bd3209787618cd0, 0x290c97f8c46d20f5, 0xf84e0092dd10d7d3, - 0x00000058ab2aa3 - } - } - }, - { - { - { - 0xc65962be48fc14c0, 0x5ad180991b4c83a, 0x4f970dfaa6dc3244, - 0x000000968791b2 - }, - { - 0x18d22a91ba64ab51, 0xe0a912f227fb0105, 0x462a714f96673462, - 0x0000002fd35573 - }, - { - 0x89cce307b210c661, 0x73eaca06cfa36b5f, 0x1a9ab47e871ac9f5, - 0x0000007a4b690d - } - }, - { - { - 0x81c24b79c7a35aef, 0xfb4057502c2f3795, 0x2a3fd2e0cf269c73, - 0x000000fa0273b9 - }, - { - 0x3e69c7f6fdd6eae8, 0x44b97fc24641e5f7, 0xdb8d2c3edcf54360, - 0x0000004e9531b4 - }, - { - 0x416eaea0a8dd866d, 0xa979f86458becc21, 0xe255b5ee3ea07ef, - 0x00000062f1d62f - } - }, - { - { - 0x4f27f3cee2655326, 0xa4ab7d4e6eb78c4f, 0x52a01f94bb29b1c0, - 0x000000f63d80ca - }, - { - 0x3df6d7f94a07f865, 0x284d43347f4f2f83, 0xbb31dab6c65caba7, - 0x000000917782c7 - }, - { - 0x25ea35a26d328dbd, 0x2bd8faa119fd808, 0x2c7811380a99dded, - 0x0000009aaa147d - } - }, - { - { - 0x9e4d58f73db4fbd, 0x2b1bb75907467eaf, 0x34ba905f310c4ccb, - 0x0000001d148865 - }, - { - 0xd9550e8134f4d434, 0x1e278b68552131d0, 0x672b3a0447773285, - 0x000000eaae8803 - }, - { - 0xb8e08d1e0bdbcecd, 0xd163e10ded6609f3, 0x8a984792fd22ef09, - 0x00000061f8e7ab - } - }, - { - { - 0x807cfcc447796a20, 0x926b5a7f23ccd1ad, 0x6c80642f352f55af, - 0x00000009c489b9 - }, - { - 0xeb99c0fb1f263ebc, 0xabacddb91b7ae81a, 0x52d5b9608fe8beed, - 0x000000ba374202 - }, - { - 0x92b79b7d2890e1eb, 0x728776615c3b7fcd, 0xdb57532409388713, - 0x000000c7dddf92 - } - }, - { - { - 0x4d029a022b149e08, 0x98e224619f5a3af, 0xfb37e79dfecb5150, - 0x0000009dc3c475 - }, - { - 0xf11582e5b0509617, 0xa561d1cbb5f30a9c, 0x2383b27b87df0fa2, - 0x000000f1f6f8f1 - }, - { - 0x696952994b80fc7b, 0xe761e390e285f199, 0x7e4eeea2a646918f, - 0x0000009b45a1dc - } - }, - { - { - 0xc6f8393b2721a251, 0x66c1c77b8661f224, 0xf44d21166fd3b76a, - 0x0000005678b489 - }, - { - 0xa5611f2cc832cf7d, 0xe713c6424e52ae3, 0x53d24339b50205f3, - 0x0000003418ae9f - }, - { - 0x7f52062d91c9b190, 0x5a257af6fcb3eed2, 0xb21a826c4abad01a, - 0x00000035a9fafc - } - }, - { - { - 0x9d8d1e8060003669, 0xc8707a400d8affc9, 0xd5a5a75d175871bf, - 0x00000047cda4da - }, - { - 0x556839c3f6639b3e, 0x9da8c2a475bd717b, 0xa23c14b498785bcc, - 0x00000042c563ac - }, - { - 0x9dbb5319d299091d, 0xb33f220330195138, 0x8568451560ee1dd7, - 0x0000007387ba39 - } - }, - { - { - 0x2b83d3e05873c14f, 0x1923b64d1cf10387, 0x591feed7d3a057e1, - 0x000000e292271f - }, - { - 0x2f4f62f59394af58, 0x51ae9d504cee91d, 0x7a98c0f11cf01bb5, - 0x0000009bbd00ea - }, - { - 0xb9df440fe45bec2a, 0x6fb858fd33f4c8d3, 0xa51c70564394a5ed, - 0x00000046d52b24 - } - }, - { - { - 0xc3cd2728ba001519, 0x5d6a10760c4e2b5d, 0xa7ac57c7dda53ed9, - 0x000000bd0742ac - }, - { - 0x15b2c6f54b033755, 0xc7c74d972d04898, 0xb9470b935af01ffa, - 0x0000004174ea5e - }, - { - 0x828bb52c9db13942, 0x314496c9748aa6c8, 0xcd84ab671e019848, - 0x000000f0750392 - } - }, - { - { - 0xfd485ef7bbee38d3, 0x808f3bcdbec2e0ea, 0x7edadeb7a148cf05, - 0x000000ab7a1ed0 - }, - { - 0xdb7c55778693256f, 0xbceb4fe9c783ec53, 0xdc9d5d09fd4da3ac, - 0x000000a564e9ec - }, - { - 0x89415744e86cf656, 0x9d13de2d19f37b2f, 0x11267395b5a57f57, - 0x000000e1ee0d59 - } - }, - { - { - 0x111efc1956db2458, 0x2c0dc0579ac049dd, 0x18ebcc2a908d514e, - 0x00000042986401 - }, - { - 0xdcad6189269e2f1f, 0xd9b665a5f3301e01, 0xe07b585b20c77270, - 0x000000bf86c040 - }, - { - 0xda2e440be71f3b8a, 0xfbd569e4c763f3b1, 0x3101fed3aea220bd, - 0x0000008ab825a2 - } - }, - { - { - 0x749ab26ae82f7695, 0x8b1b4e7a8ff1c11a, 0x24c55033785d236a, - 0x000000e70ea68a - }, - { - 0x6d0e00dacf79ea46, 0x6e1a3028449560f5, 0xf7bd786da4059047, - 0x000000f22c4b44 - }, - { - 0x5dcb30f06ddca00e, 0x4dac84ec8c390b93, 0x96cffa54cd5e259f, - 0x0000008ee0af99 - } - }, - { - { - 0xd99ba214730555d1, 0xc8a43b0646ce519, 0x6859e2d0b81bfd, - 0x000000c659943e - }, - { - 0x80ed91ddbf347f04, 0x4b8b5624f3007f57, 0xd54ec65a6b0f93cf, - 0x00000082d343a7 - }, - { - 0xc269b804f79c144c, 0xbd407fbad59d3eae, 0x84db8bf35905f101, - 0x000000b5922c2f - } - }, - { - { - 0x611cb89cb618edb4, 0x157d58c67a3f05af, 0x33b73547ff561d4f, - 0x00000079b62464 - }, - { - 0x323760f82969f2a5, 0x916662bba7013904, 0xd53bc35a6aac41c9, - 0x00000093db1d08 - }, - { - 0x77538536c83eb50a, 0xee33a81308b7a818, 0x2ee00bbbd2335628, - 0x000000f929d722 - } - } - }, - { - { - { - 0x85c5964a211f69d6, 0xa78d38cbecaa514d, 0x160fc043e0f3078c, - 0x00000043f94928 - }, - { - 0xde11e71eb5b5dfcd, 0xb1dffc17f525d4, 0xcf2dc1625259b7fe, - 0x0000003a7083ae - }, - { - 0x529f4c15d3cbf1ab, 0xe19f4ec25a3e6f10, 0xa21e83ed81199fb4, - 0x00000000c267dc - } - }, - { - { - 0x6136bd840d2ccfd2, 0x231777f0f343a898, 0x126c321d277b1478, - 0x0000004ea078ae - }, - { - 0x37a4538143d8377c, 0x71be7a7ad5a9b81c, 0xe6264f22b6e50196, - 0x0000004bbb1143 - }, - { - 0xfc658d14eb469529, 0x36d8b8536b393953, 0xa1aa30b7c2314be8, - 0x000000ae330442 - } - }, - { - { - 0x8556674cfcb4113, 0x93882eb04aef17b7, 0x2fae2042730abeb3, - 0x000000c740e8bb - }, - { - 0xe19db9c077122352, 0x8b41c135f5a941bf, 0xaa26b4d09d38da5e, - 0x0000009359f78e - }, - { - 0x28a1272f65165402, 0x215837fd9415c30c, 0x73c5533b51bc5230, - 0x000000d810693b - } - }, - { - { - 0xb4e35579c3ebd16, 0x5bc2c1260ed84400, 0xfcd735f6dc667f52, - 0x000000f94b57c7 - }, - { - 0xe195052c47b8c47c, 0xc3cbb5ab642e278c, 0x584669a5c7eef02, - 0x0000009e83a3ca - }, - { - 0xf2c7d922b1a09d01, 0x7fd9ef852759fce4, 0x56374035bf22e28d, - 0x000000c6b4e592 - } - }, - { - { - 0x58fbb0e2c28a2db3, 0x4c49ca6b0378f54e, 0xa0da98bec6cf133c, - 0x0000006ef27ab5 - }, - { - 0xf074c7e52a32c7d0, 0x24e9aeea46d75a32, 0xd422890dab647adc, - 0x00000004afac3c - }, - { - 0xd7ea089e812c126, 0x48bbfa62d305332a, 0x7b5d505dd3746bf4, - 0x000000fdf8cb5d - } - }, - { - { - 0x25fd35a9a0f626cb, 0xcf7ed77233dc4a5a, 0xd97cc645ebcbc33, - 0x0000001b393308 - }, - { - 0x820eeae5374b5f2b, 0xba1cdbb9e3b15b19, 0x8cc224dc453e792, - 0x000000b77fd582 - }, - { - 0x4d69e5ecc34062e2, 0x47a254a090ef5de7, 0x13e174204af4d89f, - 0x00000018c97557 - } - }, - { - { - 0xa48b2eb64cd18ea6, 0x9a190a48ab0f491e, 0xe5851f3b0b441653, - 0x000000d5d70a7c - }, - { - 0xe77e9f725b241652, 0xf92f22bd141d2fef, 0xeb734b82585fe1c6, - 0x00000005aa6af2 - }, - { - 0x574fc06a21c84598, 0x168bb3c857119acb, 0x8df6c83de2e82d2b, - 0x0000006b267b93 - } - }, - { - { - 0xb172dceec0e370f3, 0xdf764308cc546c02, 0x1d4c1f9d92147d43, - 0x0000001ee5b0ec - }, - { - 0xc1ff1cbabf0db495, 0xc2eb4d9374365feb, 0xb0dd74e5b6c6645, - 0x000000c73d25c9 - }, - { - 0xf198b48782de7287, 0xf9ea8124d62ff78, 0xa455fa2bb31612ae, - 0x00000059c33f94 - } - }, - { - { - 0xaa1814e638a31856, 0x47b83c2790077d63, 0x72cafdcae64ab89f, - 0x000000e105df09 - }, - { - 0xc03893f2c88d5e5b, 0x704b85006b324824, 0x2c8ba6965ea70088, - 0x00000013638e24 - }, - { - 0xafc856b227adbba1, 0xd1c911bc3a72580a, 0xec93c4baa08310e3, - 0x0000007361f874 - } - }, - { - { - 0xf13deb9993abe3c0, 0x4ca6bdc8d3640b37, 0x429f24fa4333fe81, - 0x00000084f32f02 - }, - { - 0xf479c1be556ca970, 0x4e9d14cad9a5175c, 0xeda7859a940565ef, - 0x00000076c58749 - }, - { - 0xd57d65d23f088dbd, 0x860cc5b346f5ac68, 0xbfb72e9d7d01118, - 0x00000077cff986 - } - }, - { - { - 0x1b2ada1aef30f6d4, 0x74938e1461aab098, 0xf4c8a56067295e3d, - 0x000000b03c714a - }, - { - 0x52c69caf210239f9, 0xacaac991405589de, 0x468fd1b92c037106, - 0x000000aea50eff - }, - { - 0xe0c8d5130ccb232c, 0x1f7cb18b24d4f386, 0x9d70968488df416a, - 0x000000689a854e - } - }, - { - { - 0xeeabeacc243bc6ba, 0x2d229da0afe81914, 0x5a1fa65c5ed1ec6, - 0x000000ec0362fb - }, - { - 0xae6f8078709cefbc, 0x818f94b0f8e98988, 0x7981ef0113c43b78, - 0x0000003c0adcc6 - }, - { - 0x896c441fab576790, 0x46a425373e771999, 0x1df6164d6caaa0c0, - 0x000000b72af963 - } - }, - { - { - 0x0c61d1cd55b984, 0x9217b7c5ecd0346f, 0x9da535f2670dc7bc, - 0x00000031a4f103 - }, - { - 0x47950c7da7d1eae0, 0x53bb4ef590ae68e0, 0xe5862b3f2110b782, - 0x00000075b226ef - }, - { - 0x9adcd4cddf3125df, 0x9dc442327967ed24, 0x9a2cc1fc2e3cc775, - 0x0000004d2781c6 - } - }, - { - { - 0x2a73d6ac9eb97266, 0xfc19d88d6c60af9b, 0x425f8799a24c3ee7, - 0x0000008e166d2c - }, - { - 0xff24936249c4b898, 0xc524b3ea4a849101, 0xef2c292edc1adca, - 0x00000087d65534 - }, - { - 0xff10d571b2e292cc, 0x42701e7c4d0d1f10, 0x866a2efdac7a8c80, - 0x000000eb67a489 - } - }, - { - { - 0x47053cfa27f3ed38, 0x138842672fc2c0ac, 0xdd1c3b293a8ef09e, - 0x00000022508172 - }, - { - 0x9c770d5c11c1952e, 0x50c4f391c02e2250, 0x1595a35679e1bf95, - 0x00000073596a8b - }, - { - 0xef7a70c8d77a8c75, 0x3fedafa83201effc, 0xb727b3496cbfda3d, - 0x000000729587f3 - } - } - }, - { - { - { - 0x742ef328ba2ce415, 0x64a6b0d622f61bdd, 0x79bb8dca37f17e4b, - 0x0000007382294e - }, - { - 0x3b44ce2cf93b5601, 0xcb7bcd7a8f96a2ed, 0x7cb371326a787a38, - 0x000000e289cafb - }, - { - 0x9cc4befa792d8fc4, 0x2a25c3b6d888ca75, 0xa6acb0a84f26d4ee, - 0x000000dc775841 - } - }, - { - { - 0x47fa06de6dfee1a9, 0x3ce91626ae7b0859, 0xbbfd7c52b1501576, - 0x00000000aab0ac - }, - { - 0x61fb48b557a24c97, 0x455ad1c49cda5a1a, 0x4c8ce2b6f313e49a, - 0x000000373a84a5 - }, - { - 0x1a710b2a8ff49706, 0x3ed44fe172f35a6a, 0xb8a3c2616cb8b8bb, - 0x0000005d4c4b14 - } - }, - { - { - 0x76e66f3fbf1076d3, 0x18f84d30ad8daaef, 0x6620e8356d2adaec, - 0x000000814481f8 - }, - { - 0xf5e811095fc4851c, 0x9b6ea2c63bc1436d, 0xe0cd5f09b08a83b2, - 0x00000088021216 - }, - { - 0x9b741b880acc0353, 0x93c5e68a1666bc7a, 0x3ef87b68c34c2960, - 0x00000035a580bd - } - }, - { - { - 0x2d1d22802e146b56, 0xb7e64e6873277bb7, 0x4216847abb799668, - 0x0000007bcae52b - }, - { - 0x4a50c49758351998, 0x6b9cdeaad31df848, 0x6733837f7598c9af, - 0x000000a76509c3 - }, - { - 0x6492e42bb64bf509, 0xf9c988614dc28d88, 0x9b61591e18a2ea4f, - 0x00000025dbc490 - } - }, - { - { - 0x61655d3b129d330f, 0x6de392b3adc03317, 0x37e62fde29067f1e, - 0x0000000ac5fd50 - }, - { - 0x990089170d7441f9, 0xa01765d7ba9113bd, 0x96907ab0e275f6a8, - 0x000000c83d358c - }, - { - 0xbb10b02b443e3a20, 0x1d88a0c875bb6724, 0x4451a63ba3afa643, - 0x00000059548474 - } - }, - { - { - 0x285402f493d3c8e8, 0x2722fb1faaf0f53b, 0x5d5ef07ac3487ab3, - 0x00000090b3537d - }, - { - 0xae5e84648943492b, 0x2124e53e33d55930, 0x2e297f269e55830f, - 0x000000c6555539 - }, - { - 0x3ed8f113fa658d33, 0x863cf0f11994995d, 0x4a878f0eee08e1fe, - 0x000000a148aae7 - } - }, - { - { - 0x57c2e7d73a4ed5ff, 0xd55facc75fc116a0, 0x6cc623cb181b1cea, - 0x0000005a83e0ac - }, - { - 0x4099dcca7a53bd3d, 0xc779507f76d96120, 0x55633c04e17af068, - 0x00000035c70470 - }, - { - 0xe1b7e74998ab1d95, 0x670ae378a86d4a01, 0x6793dbfd5f4da00b, - 0x000000a50f8ef3 - } - }, - { - { - 0x253bbc79829d4f52, 0xf2102e177ec648bd, 0x615b68d841f6b2d8, - 0x0000004d5aa6b4 - }, - { - 0x8b2600393fde059e, 0x50f0476df704c97b, 0xa3ef596593a002e1, - 0x0000009ca17559 - }, - { - 0x7242d77651fd1574, 0x6c01036a2d114b23, 0x763158ff0183dc49, - 0x000000808f9fa0 - } - }, - { - { - 0x3ebe976cbebdccfa, 0x6e8ac9d4186a8df8, 0x7cf471bd850c940e, - 0x000000012de911 - }, - { - 0x9babdff9917b498f, 0xaf77c19812a2b54d, 0xb25d761480ae0426, - 0x00000060e17f55 - }, - { - 0xfe75e14b67b785e9, 0x873e86e1f6c876c9, 0x1ca39efb31199032, - 0x000000ca945118 - } - }, - { - { - 0x9d152476425eaa1b, 0xf0de00f988fbead6, 0xf40c357e05dda6a, - 0x00000099aa5087 - }, - { - 0x2c8ac1cbe1ccbbe6, 0x2ff178ad7ba98b7a, 0x5fb617d9c11a9226, - 0x000000a5e3739c - }, - { - 0xa3e88572ee7748b1, 0x7e05351c3410f223, 0x3044df606b437aef, - 0x0000006610446f - } - }, - { - { - 0xa4a0cd1e71834c97, 0xcafaa571d61d7fc4, 0x3f9e998a48e5395b, - 0x000000f680bf11 - }, - { - 0x41e75d8f79b6aeeb, 0x424abb4a8ce95126, 0x4d0d963deb241cbc, - 0x0000008ef0dff2 - }, - { - 0xb71c472ad2f837fb, 0xe813cf5c7d8410d9, 0x5e9c3eed41d5072a, - 0x000000d3472577 - } - }, - { - { - 0xe0eb331acbb2ff92, 0x24c82a70ddd75589, 0x4d748d2954ac4537, - 0x000000d752c6f9 - }, - { - 0xc6b91cb2b429ef90, 0xf9cb115b5bb1db71, 0xa01d3f54756cdd66, - 0x0000004ee1272c - }, - { - 0xa75085eb94c4b93d, 0xa3681d51063526bb, 0x890bf27de977cfef, - 0x00000002c91966 - } - }, - { - { - 0x1302d4b439b203a5, 0x831a228fc2617e67, 0xf8a0149f7716b8c1, - 0x000000a383a6bf - }, - { - 0x79c4e5eede60c630, 0xc0189cd229bd7623, 0x512b29d30151fa47, - 0x000000d0559bd5 - }, - { - 0x819ae0627f045d1a, 0x2a293a1310546e2, 0xfb99b047d89cc9d8, - 0x00000073241e90 - } - }, - { - { - 0xe636eb7c8a97fc91, 0x24d645534294aa4f, 0x7cc10d1ddb53d994, - 0x000000a0d3b4b8 - }, - { - 0x7cf3635ec0a6553f, 0x77a704b6bc3f0922, 0xf8937767ec95c7f9, - 0x00000060959692 - }, - { - 0x26dc264b1fbc7b28, 0x5d76342425bc9fab, 0xf6e68204f5072acd, - 0x000000b568e3aa - } - }, - { - { - 0x17d62c16eb9ba6ef, 0x627b5503e2838b99, 0xfa7a66a26495962b, - 0x0000000f46e05e - }, - { - 0x2d336840ce644aa7, 0xe4030c5f8f200b11, 0x994117ac933d30ac, - 0x000000248c40d8 - }, - { - 0x569e1291211bb9f6, 0x90a7ccd73ccda065, 0x1e9d21ec98735b77, - 0x000000eb78ba9c - } - } - }, - { - { - { - 0x11d95d1d2a94cbcc, 0xa3c1ce1567d52b11, 0x85be409a6afe6700, - 0x000000b45b3b46 - }, - { - 0xb0a1e1b4158a605a, 0x7fe1e7f08c57d3ba, 0x332204513a6c829f, - 0x0000001046b23e - }, - { - 0xf710b59e33fdab48, 0x940962b76178ed62, 0x14c358e56d6c20c7, - 0x000000b7d5097f - } - }, - { - { - 0x46ae0c2a449154af, 0xe8cbce8a55fc7184, 0x8d5d6ae1236a18e2, - 0x000000036520c5 - }, - { - 0x945024f284bb6a4b, 0x39230033aba2c4c8, 0x9284cbd02e122129, - 0x00000064c8985a - }, - { - 0xf746bb6b169a6958, 0x5a6c7f435f639bdc, 0x76a6963ce3cc74e7, - 0x0000001c0dd10c - } - }, - { - { - 0x3739006394d075d6, 0x2bf9ba2dc010103c, 0x262c68e1d64c2b51, - 0x0000006072865a - }, - { - 0x90895426b58724e, 0xe15c3bbead3a9ac7, 0xc1d8da4067d5d0c6, - 0x00000067f6d1b5 - }, - { - 0xc0001501c2c54869, 0xd1cb437eef1b6249, 0x7d4a8d7141d90a38, - 0x0000003c43c925 - } - }, - { - { - 0x523e9be310a9b53f, 0x5bf7faae0fd95595, 0x1f15e8d1e9b2af2b, - 0x00000093081b43 - }, - { - 0x81501db6845faa06, 0x9a62316229d8f017, 0x1b7cf140e52087c0, - 0x00000048bab5c7 - }, - { - 0x86db9720b2b21f4a, 0x65922e13d31a676c, 0x34dbff60f7dedafd, - 0x00000064e4abee - } - }, - { - { - 0x93a4e8b2a48567a8, 0xf13a903e507a2d50, 0x9a8db4d86497e543, - 0x00000093ac79a0 - }, - { - 0xb7eb2296ca2e0f65, 0x7399353ffa6aedd4, 0xc2e520f959710be5, - 0x00000076553894 - }, - { - 0xda91eb3dc8b08555, 0xcdb3cd2ec521815c, 0x26b8d534110483fb, - 0x0000005d60c96b - } - }, - { - { - 0xc1671f13ae4ec761, 0xd745953753f78867, 0x3d4f182addf89baa, - 0x0000008af75b27 - }, - { - 0xd27d3fc811b62dc0, 0x669056e44e910732, 0xec39ed4d17b9f41a, - 0x000000ded4e498 - }, - { - 0x26c651fb50962688, 0x5d7373e13bbd1d23, 0x5c41ee4df2d2c710, - 0x0000000ce24b71 - } - }, - { - { - 0x927318bc7f381e12, 0x5cfb8faab3fec6d4, 0xabbba0d807f2f57b, - 0x0000001bb19004 - }, - { - 0x5009abf5b73200a4, 0x4a7f77c0997b3dad, 0x3b05aa4f8485b456, - 0x000000bc5b43ea - }, - { - 0x576d14f0dc389fb3, 0x4a74a4d649868566, 0xc4b5f12c77a6894f, - 0x000000f106669e - } - }, - { - { - 0x7289964c652a8d2a, 0x18aa743269dfb4b0, 0xf987559162372b5c, - 0x000000dc76a81e - }, - { - 0x15e8ef9dd6ca34f3, 0x575f822a2999176d, 0xe20151542898d1c0, - 0x0000000792c7d3 - }, - { - 0xa0f0b27debf9572a, 0x8d0e2a950c60930f, 0x0dd0bc0d2a4193, - 0x0000002217cad9 - } - }, - { - { - 0x6a7bf12a6a40596d, 0xdd6eb982abf67175, 0x88cd55a603a3e6e9, - 0x000000765301b3 - }, - { - 0x542753e34f25afa, 0xc4b02fceeba65420, 0x9bc85971722643f5, - 0x00000047ae12d9 - }, - { - 0x6e03b545e1e7d3a, 0xbdb69e3d49f3ecc1, 0x8d5c8ef47d21a15f, - 0x0000002b8d76f5 - } - }, - { - { - 0xc3f910ebd9e5ac34, 0xfdc231be6f7d3f85, 0xc46c8c8d1f33fdb6, - 0x00000010310eb8 - }, - { - 0xc7f30b70d2a3ed05, 0x1fef09d2b438be72, 0x81f13c84100a753f, - 0x0000007ae58ee3 - }, - { - 0xfe45fe644b82a5ee, 0xa84899b27c322b56, 0x504a6247afda2828, - 0x000000adf5e996 - } - }, - { - { - 0x1d0ca1eadb8e60d4, 0xec973a914df59ae0, 0x3c568d0733a93b29, - 0x00000081bae8e0 - }, - { - 0xfba3362a9a686d5f, 0x511886d2ea7327a7, 0x16c92ce8d35ad318, - 0x00000088eb516e - }, - { - 0xeaa1c7aec69c6abf, 0x1a1f3a1e423aad1f, 0x4b8b215dc6e8ce7c, - 0x00000085f0324b - } - }, - { - { - 0xc49bf0f517af880e, 0xd200cbb36934ca21, 0x70499abf3081ab4d, - 0x0000002a4ee8e9 - }, - { - 0x66162d8bb9c0e491, 0x6c8fcece30a14c6c, 0xfc342efec7e10437, - 0x000000d45c38f4 - }, - { - 0x1685189e0a156569, 0xd7c8d089481e8c81, 0x5867c7097aa1eaca, - 0x00000086bc170c - } - }, - { - { - 0x74425a61775e5e26, 0x24ff5eae5cc5db28, 0x80b20abd1bca87de, - 0x00000095a331e6 - }, - { - 0xac122a7f9f97736d, 0xeb4f481935d9fa0c, 0x85f1b1f2e12a7c1d, - 0x0000004ffaf11e - }, - { - 0x236fb2150a8d22f, 0x168f115f4fc5ba92, 0x67baab2947d1ea58, - 0x0000002e874920 - } - }, - { - { - 0xf00e84b72b378062, 0xbaf7a088133f842a, 0x42ff7b8d6e12aa4f, - 0x000000528e7daf - }, - { - 0xad3e2e0021e307ca, 0xbe4a41ae8e100807, 0x2b5da39f6794ab60, - 0x00000076acdc09 - }, - { - 0x56b2669194616872, 0x270dff7ec4f2b127, 0x20db918e683952ca, - 0x0000007b71ec87 - } - }, - { - { - 0xdb976abf17f36f95, 0xb0018f323c818c39, 0xff01f4b48c596c5b, - 0x00000059637a49 - }, - { - 0x9c17eb95a008c45e, 0x5deaea4a3a5f1f13, 0x3f09d70cf9de992c, - 0x0000009e6ea586 - }, - { - 0x636f1d71716e8ba5, 0xad9976a4f47698ff, 0x81e92acdac57f352, - 0x00000085e35072 - } - } - }, - { - { - { - 0x611a7c7de5a2cb1, 0x4e29da8da050e0e, 0x2c7138127836fe46, - 0x000000f6ee074c - }, - { - 0xbfe8392fa85bed1d, 0x6ed59884faa03f6e, 0x914c128adadb7bd1, - 0x000000ec285b64 - }, - { - 0xa168473f9e7b8d36, 0xb50fb0725be7f5c7, 0x1fc6c422a3fa903f, - 0x000000719631aa - } - }, - { - { - 0x3ab2dd2a62b7f68f, 0x8bb882b7c7720a16, 0x31d59976a38a9bd3, - 0x00000009e39474 - }, - { - 0x8179df45a791feca, 0xe66f2965c49534b8, 0xd30e440b487dec0f, - 0x00000024310a17 - }, - { - 0x4122cbaa68e62d6, 0x4471d09bc6b18b8e, 0x159637d9aba26fa8, - 0x000000f607133c - } - }, - { - { - 0x778e049891ff1c79, 0x89c4532fa71a46bc, 0xd64ed4bd5f9c9fe6, - 0x000000ed474984 - }, - { - 0x633cdb0edbc20d7b, 0xcf5dd1f2b395c90, 0x51bc12f705f94d59, - 0x00000013d0c6b6 - }, - { - 0xdc482c87de4487c4, 0xc5619c9f93c8b395, 0x78c9fe7cd901f34d, - 0x0000004eedb597 - } - }, - { - { - 0xe7ce6ef460a58b86, 0xb2e48f41c093bcf2, 0x50af516557aebb46, - 0x000000e476bd5f - }, - { - 0x28be656243ec095e, 0xb21dd847867fc3e8, 0x3ee799024bdd9949, - 0x000000ca9a80c5 - }, - { - 0x771e1f5578d5f2ac, 0x6a526e521edf2a0, 0x9b238b5e16a9d645, - 0x000000ce912830 - } - }, - { - { - 0x5d6e4123770287dd, 0x440bf0b76332eb03, 0x89d8ffa42a4e178e, - 0x00000080727834 - }, - { - 0x36c678477543c0f2, 0xce781ac8a43f5425, 0x18d75990c539ee8f, - 0x0000000a7f0bab - }, - { - 0x578d1222244f833c, 0x420fee9a761a5b43, 0xfc429ac48ae9fe69, - 0x0000006a831064 - } - }, - { - { - 0x82a41ecaf3e6cc23, 0xce1919a12b9ac6dc, 0x5e06a3778422fcb5, - 0x0000000df6e961 - }, - { - 0x6fb8dab447851a6b, 0x753e0cc9562d8045, 0xa75b416d922d5c1e, - 0x00000016b16d87 - }, - { - 0xe6279771ced935de, 0xac3d076cc48d61db, 0xc12f3d4a07125366, - 0x000000a2970b77 - } - }, - { - { - 0x97caad68438c4479, 0x1ac369d616ec4272, 0x86c592753b808969, - 0x0000009ae98987 - }, - { - 0x78a7a9a8f98c0e05, 0xbd4c55a4a3dc7cb9, 0xccce66e7a86626f8, - 0x0000004aa81a46 - }, - { - 0xa03cd1fceaebfacb, 0x35cdb92a94e5eea2, 0xd5d5441c1296a8c5, - 0x000000f989777c - } - }, - { - { - 0xb9dcd61cd291e7a6, 0x44288781cbaaec34, 0xc7d2a24aa958ab00, - 0x0000006029ee82 - }, - { - 0x3d90324773fe8b3a, 0xbec9d350ffe81e81, 0x44d143d64275cf21, - 0x000000b712fba1 - }, - { - 0x22d776078b58243a, 0x9671f8ef3a6f9e3e, 0xda8190ce8c107f4a, - 0x0000003a1bff86 - } - }, - { - { - 0x8ef711c24662f1e, 0xe513c674cdf7aa53, 0x9f0746062bc6affb, - 0x0000007282f888 - }, - { - 0x20dd570254867f23, 0xd41d015586e90006, 0xc52cc31b6ddc6d32, - 0x000000d5b8f27a - }, - { - 0xcd61ee20f46f6fc1, 0x362a271aed689d93, 0x97a9c51a5f5550af, - 0x000000df4cf867 - } - }, - { - { - 0x5100fc956c6283c, 0xfdc451d3ba27f8ad, 0x258e6b13b545e3d7, - 0x000000cdc76bc9 - }, - { - 0x79182fffffb9ecb9, 0x8d67aed6023b1061, 0x559ed23c32a4393d, - 0x000000e0b2893f - }, - { - 0x6fe0a44282fb50e9, 0xf12828ff25b230cb, 0x6e1cc9c3c6dd7ed5, - 0x0000005b110872 - } - }, - { - { - 0x3db0101ab559f9e0, 0x870616618a0ac07d, 0xa167f165b8e648a8, - 0x000000445550ea - }, - { - 0x9e02bb1accd05276, 0x56c853c3d74f60a5, 0x7cca2e969fba4eb9, - 0x00000052c47318 - }, - { - 0xd126a13cd3b3ed2e, 0x4cb094937b438517, 0x543affef5e75cf30, - 0x000000948fc91b - } - }, - { - { - 0x4128531d57254e9b, 0xd252acc6ab105159, 0x93cb938a1145e39b, - 0x00000000b9b704 - }, - { - 0xd751c43c0f2d7f41, 0xb72ab433937a6c7e, 0xb4bedf77c974d291, - 0x00000027009b0d - }, - { - 0xd94a14eb3872ce13, 0x7e0f2fa087885e9, 0xbf0bcc61adbc5e8b, - 0x0000002e296de7 - } - }, - { - { - 0xda5657e7102067ee, 0xb85709f730d888a1, 0x1a68c04a3323ddfa, - 0x000000e625a762 - }, - { - 0x49e1bfd4b8960eb5, 0x318dd81d4388ac9a, 0x4c2e265765acb94b, - 0x0000001fc48439 - }, - { - 0xd3f925a1d2963acc, 0xa5e2d6198f58fc3, 0xe2069756b578dde8, - 0x000000927d62ea - } - }, - { - { - 0x51337628a671d954, 0xce1b83c61756ecda, 0x3f86617a804ebf3a, - 0x0000003ee20951 - }, - { - 0x7c6b914b2823a480, 0x9d44185e81fe1e18, 0x2351e0199af62b59, - 0x0000002c33f32f - }, - { - 0x520dde1f3cc6df8a, 0xedb5e226d5bab412, 0x584ebbc52c7f2948, - 0x000000488262ae - } - }, - { - { - 0x2edeaa41e2e85507, 0xa046fad850fc59e5, 0x829780ae5fa956d9, - 0x000000ba1c6db5 - }, - { - 0x1a770cdb2d512517, 0x8de8d9aef5b84572, 0xb29f7091b7cba2bd, - 0x000000e9aa0d8d - }, - { - 0x7da00a3b8fa72c20, 0x55a15d8ee57e2815, 0x296f7e5fb7ee485f, - 0x00000074917be1 - } - } - }, - { - { - { - 0xfd4349c9acae20a6, 0x53a6a01e6a9377f5, 0x7cc353e439049d1b, - 0x000000550eb1ce - }, - { - 0xa4f12f37aa8e8897, 0x76c928599b5658fe, 0xb3b614f6ba453782, - 0x00000002bc5a24 - }, - { - 0x951ee27159d40f5e, 0x2f0edc00aa26cf43, 0xaceb734159c3ad92, - 0x0000003c2c1936 - } - }, - { - { - 0x86c1cafeb51e85c, 0x18f4d56452bd57ca, 0x3a3e94b5276bd3c0, - 0x000000f725f079 - }, - { - 0xb8ac8f9848d46fa0, 0x296f059b234128, 0x823903f4a970033e, - 0x0000004ee7889d - }, - { - 0x25c45e0d709951dd, 0x7186353f2793039, 0xef8b46f6f75e5cce, - 0x00000021992f84 - } - }, - { - { - 0x1cedd706eb85f5b0, 0xcf304533f447a993, 0xc8bf6897ca31a0f6, - 0x00000025d12c88 - }, - { - 0xf4d4db01e50b4eab, 0xd3d1b12e521259c1, 0x2989d09cdcfd4aa8, - 0x0000007633e293 - }, - { - 0x11343ac9fa30a7b3, 0x41f88947a8ceb7d3, 0x1fe2627ecd70379b, - 0x000000fe0a49cc - } - }, - { - { - 0xba8feb237cd66721, 0x8ec0d1cbcc58da51, 0xd8b33e2ace1f7363, - 0x000000e72d6f3f - }, - { - 0x2d182a1eb68c4e4b, 0x9186cd11d5a2a621, 0x6386478250095632, - 0x0000000aaece2a - }, - { - 0xe9760fda21428e60, 0x2b77279eb8d3b1bd, 0xde53f69e40365090, - 0x000000341c4b37 - } - }, - { - { - 0x19d74f0548ca2b9a, 0xb14abbb96c9dbeb9, 0xb75ba5ed9007a76b, - 0x000000a5eb999b - }, - { - 0x2c3b470d4af63b4c, 0x3d729e3abbe5553c, 0x1b8e63856efa7082, - 0x000000c45b2e63 - }, - { - 0x775bf633af4c0acb, 0x8d16b6d41f76e2f2, 0x5616faf6c3eb5f81, - 0x0000008d9bdd43 - } - }, - { - { - 0xe26f84c13aa10512, 0x334af596833d3654, 0x56688fac561a2210, - 0x000000168bbb84 - }, - { - 0xdab432fbf2bf809f, 0xcaccd1e30a88e73f, 0x9a7d593f330b494b, - 0x0000004507a2ba - }, - { - 0x4ab0d15d4c1bf97c, 0x14c0d8db8744d3c1, 0x9b35c3893b45c285, - 0x0000001c7ddfed - } - }, - { - { - 0x219e157d2f031b1d, 0x6c574949496e40e9, 0x8283cbfc10febf27, - 0x000000ab118f6e - }, - { - 0x19865a544321217c, 0x720b51759d6a55dc, 0x18089a3d07b4912e, - 0x00000002e7da1d - }, - { - 0x444c222e94ffbc8, 0x6e0a27e6447badea, 0xfd88d4528b9dc95a, - 0x0000007ae2a195 - } - }, - { - { - 0xe9d50faa732e7e7f, 0xc5dc9e85bf15bc7c, 0x5ac291e49de70d4f, - 0x000000596679d4 - }, - { - 0x2ef35ac8861c2fd7, 0xcd47382bca89e622, 0x497f879d4deb00e, - 0x0000001e9f5060 - }, - { - 0xb751360276bb21fe, 0x640cc6c6a3352454, 0xe785d1f232d3d17c, - 0x000000ce6f0870 - } - }, - { - { - 0xb575418a4ec3ef77, 0x73e78c71a0c0cc2c, 0x89ebfae66faf9ee2, - 0x00000063ff53a0 - }, - { - 0x5cc4088596daaae8, 0xc50ddaa0b6a20502, 0xb12a88c5be19952c, - 0x000000f6d043af - }, - { - 0xab343c97928290cc, 0x7fee69fffd831c3b, 0xc0734429ea29f6b9, - 0x00000000212f30 - } - }, - { - { - 0xac607d7f3f32c39a, 0x194d0bf10218cdb8, 0x1c76db362b48585a, - 0x000000c0059013 - }, - { - 0xf9e32a3fe4e44b3d, 0xfb2d95504e0e2832, 0x6079cca7043c9f5, - 0x000000686fab74 - }, - { - 0x65f98a390acb824d, 0x65bf79f4dbbe760e, 0xc49c132686d93df1, - 0x000000f6292a94 - } - }, - { - { - 0xa146807e3c94ccb, 0x50c93ca7ac7a5314, 0x212261f2e34950a0, - 0x000000841944ec - }, - { - 0xcd350eff98119b1a, 0xb1f2f5daab646a66, 0x8a74378c326b5129, - 0x00000056970c57 - }, - { - 0xba200d67bd038809, 0x839e7f377ab36007, 0x8c1cf8e28584d755, - 0x00000090f94e43 - } - }, - { - { - 0xd0f10a1a0361722a, 0x13b3719b54569d, 0x3e8d5795d41b5f0e, - 0x000000550274a9 - }, - { - 0xde86efa8d9975232, 0xa8abadb6fcdf4bd6, 0x2f666bce8c5a0db1, - 0x000000463ab20b - }, - { - 0x61ac9ddb68b1e9b8, 0x3968e0b15b02350c, 0x19adf6f071a0bba9, - 0x0000003655b8c6 - } - }, - { - { - 0x8f74e079a5e049b, 0x80a91d2b40f03e47, 0x49b5556f478d7863, - 0x0000008eb2fe15 - }, - { - 0x9444437a00fedc72, 0xd4b61b8ebfc62d59, 0xc49b270317fe06bd, - 0x0000008b19c4b6 - }, - { - 0x2b512ee36a0ab3, 0xca64f450789d7795, 0xe9bc076f96861a84, - 0x000000ea4137af - } - }, - { - { - 0x4683ad125271a29a, 0x8132cb19feee37ed, 0x374bb8741844dbe5, - 0x000000b4971ef0 - }, - { - 0xbd1fa71b6ce765c6, 0xdfb0e55d3c7b312, 0x2a914dc7c5dfff7e, - 0x000000ea1b1230 - }, - { - 0x182ed420b573270f, 0x5eab29f5ceb234e2, 0xaa05d31ddd9f3767, - 0x00000066551495 - } - }, - { - { - 0x3f2fe09a538f612c, 0xf440da8bdac392b, 0xee033a2db83696fb, - 0x0000004f54f296 - }, - { - 0x55c085470607daba, 0x65b893af218fece, 0x850ed37dcd892ec7, - 0x000000d91913d1 - }, - { - 0x7d63778c17c58b36, 0x2404262213400ef0, 0x38544d44b106af3a, - 0x000000ea78cf28 - } - } - }, - { - { - { - 0xa946830ad8fa29c1, 0xddef36b434cb4b69, 0x8ccffaa5fd46de6f, - 0x000000d2aa6696 - }, - { - 0xbb6074ed721cc20e, 0x7ec9252b886d9236, 0xcaf8cc5643fb24f3, - 0x000000a923b0ed - }, - { - 0x91f680d63e4bfe63, 0xe0fad937cbe3ebed, 0xdfbeac5dacd73a29, - 0x000000bde8d429 - } - }, - { - { - 0xab185822a751ef29, 0x9837d53d319ee97d, 0x5895c81a41ee0e9a, - 0x0000000eb32abf - }, - { - 0xf5ad361c0546a48d, 0xe1b646e1a5c3c7f2, 0x325696f91c060c88, - 0x00000013295c70 - }, - { - 0xb0e1de1405dc2b8, 0xb4c8423a025cce69, 0x1db0eb6178a658da, - 0x0000000b637255 - } - }, - { - { - 0x2d18546f674589dc, 0x1e17b4a6e10a0631, 0xca7672eead938f6a, - 0x00000019cff9e2 - }, - { - 0xab87161233a0f109, 0x331899f30cb50d59, 0x18e3593e2e2f0930, - 0x000000fd011f32 - }, - { - 0x6d180922ece4cf47, 0x77d3230c8a24fc6c, 0x436869d56f082ef9, - 0x000000cae171ee - } - }, - { - { - 0x23929369b69a371e, 0xf783a87aad70064b, 0xb5660365da21a391, - 0x0000001a06ec4a - }, - { - 0x826f1ee5c1e0c353, 0xc732e43a361431ed, 0xab11b2ea35c399b3, - 0x00000079bb36a0 - }, - { - 0x46ea6c0ae9df9a3d, 0x5547b155c91039e6, 0x3bf4e53526d3a7d3, - 0x000000e501a7c8 - } - }, - { - { - 0x38e766d42b062371, 0x20452706b07c0fca, 0x19db95d0a73262cb, - 0x0000004239aa10 - }, - { - 0x85c27d12885afa5b, 0x3ce9f8ede6c77629, 0xc17bfac062b164fd, - 0x00000006b10a3b - }, - { - 0xc27573d19b8f90b8, 0x6df03ce15efae766, 0x1cd3828d0d3d10aa, - 0x0000002898d7a8 - } - }, - { - { - 0x3d251e19dfad56f, 0x591f040d21c32137, 0x31f7fb0bbf2b869f, - 0x0000001863f523 - }, - { - 0x8015893d51b60c6b, 0xda5ad279940f38e6, 0xfbf91d4cae9acac6, - 0x000000404d9133 - }, - { - 0x40323ed3d6305cbe, 0xe96cda0a5bcf31ff, 0xebf9229e75cc8958, - 0x00000027010560 - } - }, - { - { - 0x9dfd3390fdb0cf2b, 0x9664ec80a29f3966, 0x72cb24f138e71790, - 0x000000dff8ba73 - }, - { - 0x2aa518fbf40309c9, 0xff2cc6a4aa781d53, 0x7663928cd0d67a51, - 0x000000b48f4b60 - }, - { - 0x169448e108ddf5cf, 0x66b2b9ea27732e19, 0xb0ad16946dfa6891, - 0x0000007f0e7f2a - } - }, - { - { - 0x4adf9bbf719dfde7, 0x5e6389ee0cf321af, 0x4fb489ac8ba08202, - 0x0000009321b389 - }, - { - 0xbf9dbe4964b74d85, 0x4c88ab59d48a5891, 0x43c9768564aec91e, - 0x000000c8a1f04f - }, - { - 0x47f85bbd7b21d3d1, 0x7f4f19be9a82c92b, 0xf80bce1d2d2146da, - 0x0000004f5bef46 - } - }, - { - { - 0xbc8bb5a152a063db, 0x82c589ec097c1e9b, 0xfa35c121aeb0453f, - 0x00000068127f71 - }, - { - 0x689522c8c546d9cf, 0xd736ed9660382166, 0x75db6c607aed95c7, - 0x000000016b023b - }, - { - 0xc39cae62982ab4ea, 0x6a11824fc2bdeafd, 0xe3125fa75be11dd6, - 0x000000a64ac082 - } - }, - { - { - 0xc1ea0a9fd693855, 0xe9af9624fe6133b2, 0x23e6ce622e40b98e, - 0x00000041dbc0b2 - }, - { - 0x891e796e9b554d12, 0xe9230162571ba45c, 0x81f862e44e979d49, - 0x0000001a85d0c4 - }, - { - 0x3dbff3cb7468054c, 0x1ebe2b264c85c19d, 0xf32e1cf23f53ccf5, - 0x000000632df497 - } - }, - { - { - 0x4aafc882f2b6ce82, 0x963118ff0759a932, 0x9eae40266e203331, - 0x0000007967a04f - }, - { - 0x8f5ba113875bcae5, 0x5ecfea356bb3f383, 0x1d37b47320eb4cd8, - 0x00000001b8cd0a - }, - { - 0x53875b90d3d9dbd0, 0x2e5694eb7f066d48, 0x8e2a1d2d10db1986, - 0x000000b15286d0 - } - }, - { - { - 0xb0dfa66ca239a179, 0x6bbf1d274fe9f968, 0xbd19f15a41cbb87d, - 0x0000003867a6dd - }, - { - 0x8b438a5dc4dfdb0b, 0xc217961f66b198ee, 0xb82f46f329cf4a46, - 0x000000086be188 - }, - { - 0xf96323aaa54e23a0, 0x91333861e722f460, 0x2ca0e88221e2c1ce, - 0x000000ae482df6 - } - }, - { - { - 0x1fd2ba0d59c86f66, 0x4ba51ff4e1d7ffdb, 0x3c260da38171972a, - 0x0000000ca4b6ff - }, - { - 0xc0256e13d45d609a, 0x98b7f841316fc980, 0xd077e7917f097542, - 0x00000041c22b0f - }, - { - 0x62769e0fc13a31e6, 0x9e3d18d30d123327, 0x69c93cd905bb33a7, - 0x0000005e945612 - } - }, - { - { - 0x795dff24827b735, 0xe746507f252092de, 0xcb0175f319df0860, - 0x00000062f1ea4f - }, - { - 0xbff3f595f219d037, 0x635bea3313891d76, 0x8287018a60b3617d, - 0x000000a3674978 - }, - { - 0x9694c088109a9ed6, 0x3e0d1b03c33b139c, 0x4b0ab5e7b9f5ffde, - 0x000000955a025a - } - }, - { - { - 0x7e81df7761cde24f, 0x87f633736ebca730, 0x34672113c9490bce, - 0x00000053af4c17 - }, - { - 0x51bcb29b7e000cdf, 0x503788f71a029dcc, 0xc8ca458f7e220606, - 0x000000af7e3da3 - }, - { - 0xa210305e8e257252, 0x10fdc34e914f2f52, 0xd8a4467487f42c44, - 0x000000da23dde3 - } - } - }, - { - { - { - 0x6df536c0e252a944, 0x329277483d4d46b7, 0x77e0faceedca0ee2, - 0x0000002697a43c - }, - { - 0x49fee01d4d0934ef, 0x7f5c393d50556951, 0x7a9e64b83c0d61e4, - 0x0000003a563b9d - }, - { - 0x1ff7925d00940fa1, 0x88500815db7df1a5, 0x1ceae2f304b3bf1d, - 0x000000a3429d1f - } - }, - { - { - 0xf6759628f5c45f71, 0xd33945153ea593e0, 0x564a6ae88075ca4, - 0x000000e0f4bddb - }, - { - 0x3cd9beb686eb882b, 0xe343d7984ae05a98, 0xb12b708e1c8b76ca, - 0x0000001cc0a8d7 - }, - { - 0xcf245c48898f5dc7, 0xcff6da960671046b, 0x2b280e8c6d35bcaa, - 0x0000001e333667 - } - }, - { - { - 0xe0d0b6b0ccb23ce0, 0xeadaf5a85d2b0719, 0x8a708d01942b804d, - 0x0000009f36e42d - }, - { - 0x56b41f3374bd6673, 0xe1c142f9a27da7d5, 0x2b1e49214910cc9a, - 0x00000080b34334 - }, - { - 0x20b4593df3846fa4, 0x843a61627b170e0e, 0x521eb38322b78c94, - 0x00000036a8c0b4 - } - }, - { - { - 0x256f1796d4b7bc13, 0x5f07f6c9d6331f6c, 0x61a042559c5619cf, - 0x000000441ae6fa - }, - { - 0x994580dcf1ec2397, 0xb3096b5948b7d40b, 0x99ff017fc91735e6, - 0x00000050010da9 - }, - { - 0xc71e78931ef64fbd, 0xe07d4635a6dc88a2, 0xd4c10fb70454945d, - 0x000000e3a4dcaf - } - }, - { - { - 0xaa99a10bbcbfb9ea, 0x419caa08530edca3, 0x30875f84cd60019f, - 0x000000b3f08098 - }, - { - 0x2af05b99fccbbe17, 0xa078e2b0fbf2b730, 0xfde8a93eaa6bc29e, - 0x00000061e0ddc4 - }, - { - 0xf77bdfa8bbb6295c, 0xf757447f092f299e, 0x9191c6ddcdec1541, - 0x0000009bc6096e - } - }, - { - { - 0x8688d3c978d96a24, 0x3d57f1545ff911fc, 0xd85ac58a636897d5, - 0x0000005ab3e2bb - }, - { - 0x1e29a4da62efb672, 0xe2009863583bddcf, 0xc611a71dc2b19291, - 0x00000034b5a8fb - }, - { - 0x2e54e85b1b81a8ce, 0x8c8c58f945a8ca16, 0xdacf62ae9284b50b, - 0x000000c1b34c9d - } - }, - { - { - 0x942db042cfc4d1df, 0x6c2884e51d5afdcc, 0xced14d71e3c7d456, - 0x000000ee7a4a14 - }, - { - 0x526a23d028d62bba, 0x6fc311856c9f2187, 0x47afe9764cdac58e, - 0x000000b855eaeb - }, - { - 0xd9407f9b2a6421b2, 0x1a56032078e63e7f, 0xdb6cc606beb182eb, - 0x00000059763fff - } - }, - { - { - 0x64526767e88a8841, 0xff34e577e9ae2b41, 0xf972476063d49761, - 0x000000c2a3f352 - }, - { - 0xc5c4503bc014a8a4, 0x4965decd84f67960, 0x7ecdc8e84d0f4529, - 0x0000006e44f764 - }, - { - 0xa281a893b7ca4838, 0xe07277b76c26230f, 0x78314657c2313da8, - 0x000000973baff3 - } - }, - { - { - 0x5588fb78db5c4721, 0x255d81979d4d4505, 0x4b054e206b6744d0, - 0x000000dea9c08c - }, - { - 0x571943791dc94cc, 0x99189b0431fdc053, 0xeae351ac86eeec83, - 0x000000850439f5 - }, - { - 0xdf197d6d6dbc9bb6, 0x5c1941321f486772, 0xd4322f47733f16a7, - 0x0000004aa65aa6 - } - }, - { - { - 0x81bad364d583e2a4, 0x165375ad8a4b732, 0x4f7135dac0d22353, - 0x000000cf244181 - }, - { - 0x9795cb02297eb13e, 0xa9868c6e203faf98, 0xfbc3a7091f7d352d, - 0x0000005dffd61a - }, - { - 0x3c628e121397169d, 0x5d2651b1f2fad465, 0x6441507196dc9b17, - 0x00000068ce5fa6 - } - }, - { - { - 0x1d41a23ae38909d9, 0x66c0b50c18901567, 0x4b7a3b246641c830, - 0x0000008fe04694 - }, - { - 0x2ba29895593d1867, 0x353d0f7966914beb, 0xbff2c66d540f69e0, - 0x0000004340b3bb - }, - { - 0xef321d4d75a8f99f, 0xacf46b8ecf355393, 0x2c5cdb26f54caf11, - 0x000000aab80db2 - } - }, - { - { - 0x8e9e23a0c752d8b6, 0xc79ee932676a1162, 0x73f68980da2f9976, - 0x000000b3fef011 - }, - { - 0xc68369118177022b, 0x8a899d8bed24536b, 0xa0cdf9ba0d3c4e79, - 0x0000004ee572bb - }, - { - 0x8bc242facd6216b5, 0x64f7ab1dc5b27d36, 0xb6e7a47d9fec237d, - 0x000000071e10b3 - } - }, - { - { - 0xdc894bd99e9c921a, 0x6532f1d77b92a503, 0xfdc3ffb56059361d, - 0x000000d29f8d84 - }, - { - 0xe0de7cc820197dab, 0xb6e67294224b780c, 0x67a3dc5c749d0a65, - 0x000000812993e2 - }, - { - 0x810c32a7ab4fbc1a, 0x64da42a400d5718f, 0xb98d55b7ffdb9815, - 0x000000790df633 - } - }, - { - { - 0x79c93d997a887678, 0xe25aeb1e4d0f8588, 0x9c103ebff122dc8c, - 0x000000f7c6561d - }, - { - 0x334f03cebb10ce65, 0x4eaddf5cf3074e77, 0xc7d11f324190d789, - 0x000000910c2d76 - }, - { - 0x304944803f3ee8d8, 0xb22c119878c046d4, 0x5e8062ad214178db, - 0x000000e840867f - } - }, - { - { - 0x40c354ccfb253a8a, 0x141c652e28ca0a6d, 0x54dea8305ba034eb, - 0x0000001a1095be - }, - { - 0x20638db0c79ca322, 0x59493a294c3b58c2, 0x555c3edf4d3d6fe5, - 0x000000da49aebb - }, - { - 0xd43bc44441b0edc7, 0xc36560433a7bf9e6, 0x59296813e475536e, - 0x000000138ce694 - } - } - }, - { - { - { - 0xdd0a1ac03f00013a, 0xca83855bd64ed56d, 0xf93b2314b3acdd1d, - 0x000000a8bc6876 - }, - { - 0x598d4df77655e08c, 0x8d58701f72b88425, 0xe0410ac77ed6192b, - 0x000000664d2523 - }, - { - 0x6ca56372b7823946, 0xea2583b7351699d, 0x85770e9a37632022, - 0x00000097e2f853 - } - }, - { - { - 0xf47dc6ba37fe9bb6, 0x6ebc1d476066ce9, 0x79df8cecdf86761a, - 0x0000006c349235 - }, - { - 0x3c3cc21b968b4957, 0xa06fed4b3be79180, 0xe7a4f06cc3e64227, - 0x00000059db04d8 - }, - { - 0x3e5f3fad33132caf, 0xfef5e2f364619b35, 0x149529058257d80, - 0x0000006c26224b - } - }, - { - { - 0x8b489ca21cf3e1c3, 0xee582ad2d259342e, 0x8d44b81d0b8eb381, - 0x000000b1b41e04 - }, - { - 0xc71bdca39a163960, 0x661c1b07dd168346, 0xf045379ea8cb56ee, - 0x0000001f935b37 - }, - { - 0xc8b6092baefa2983, 0x7e4e757cba406f2f, 0xa29a416b82082175, - 0x00000005ed891e - } - }, - { - { - 0x8dbf4df8d321edbd, 0xcb519460e4778b66, 0x25eecefeaf6e6b88, - 0x00000072159114 - }, - { - 0xd1ed742ebb1f8c27, 0x8ae207c03955ac9e, 0xdd62a3bfa836f0e9, - 0x000000eadc6801 - }, - { - 0x9d0dc7eb53879c64, 0xec0ddc7e8e88e258, 0x3e68b7a4f332c861, - 0x000000fcad3be0 - } - }, - { - { - 0xb2e8005c1ff555b9, 0x2c14f5c09f53b45e, 0x22f2f7fc8fbbf2c, - 0x0000002eda3bd8 - }, - { - 0x98ecfbc91a0ab984, 0x73371bd041af6cfd, 0xba09578802f14abc, - 0x00000039b5f6ae - }, - { - 0x73d180d31b2c79eb, 0x33cb4dbf13a08211, 0x95de58e391128e77, - 0x000000e9b1d2bf - } - }, - { - { - 0x234c3d116307261d, 0xac0576e9816c36b0, 0x95f00131c1d985b1, - 0x000000066e75e9 - }, - { - 0x6a624d11d709f29d, 0x5e7dfa2cf8e4621c, 0x3cb36590c4579895, - 0x000000343587c0 - }, - { - 0x6646204de767f0ec, 0x28c2f065d688b099, 0x19c1307df4a80289, - 0x000000ef380e57 - } - }, - { - { - 0x1dfc3f11f6df0057, 0x58525f481b7afcac, 0xf17128aa37838578, - 0x00000063a9a92e - }, - { - 0xc1bc5f21ca5d1e1d, 0x818feaff0b979a91, 0x709a00af06ce98bc, - 0x00000095eb05a9 - }, - { - 0xaaad5d9a5308d520, 0xb1e92282f2e052a3, 0xde94021867792ff2, - 0x0000006f634d79 - } - }, - { - { - 0xb63b27f79bd2612b, 0x22807b9533f1cfa9, 0x4022c001eaf7d7eb, - 0x0000002ab80894 - }, - { - 0xf762e82ab7981bec, 0x1f184c30a4523c53, 0xf9b102c4d7272265, - 0x00000093a4a6d9 - }, - { - 0x9db6d03c55445f11, 0xec152f8ee631ba8e, 0x3e9eae01159c062b, - 0x000000f1dcf787 - } - }, - { - { - 0xaf482041783bb290, 0xce1cd472af6ab3a5, 0x3f662ad7aef02105, - 0x000000552be83f - }, - { - 0x3c8cc17a3a3df15d, 0xb809067b479b9a27, 0x5b59b0c046e0c720, - 0x0000003413c7f6 - }, - { - 0x9161b7d2d6726881, 0xac99f9ef1acda2ca, 0x3d7c4e90b9b591d8, - 0x000000704e7616 - } - }, - { - { - 0xeff2739de11e6918, 0x9d72e4ebd58545b9, 0x8d174e8910082a5e, - 0x00000077c053c2 - }, - { - 0x8f2ddd98c43ee358, 0x1c3976f4046d6675, 0xfb0292a7c8034a97, - 0x000000b195f06a - }, - { - 0x133926f66c61d702, 0xe33db62676e08899, 0xd3889bf274aaf9fb, - 0x000000811abe07 - } - }, - { - { - 0xc48eadf712264097, 0x62be1e0f8b8ec7bf, 0x84e466aee6510b5c, - 0x0000002f70d5d6 - }, - { - 0x242b0f1ca9e9fe84, 0x908edab734dfa6cb, 0xcee3911974b05ebe, - 0x0000002722952b - }, - { - 0xe4fdb6eb697cbe43, 0x62138fb98aec9e1b, 0x6f5cdd6ebc8f3cea, - 0x00000095f2cbb4 - } - }, - { - { - 0xaa68d79ca240f2ca, 0x38a0c81a04c306a4, 0xabdd1aee6870c3a4, - 0x000000f00d2a5d - }, - { - 0x8475bfcef176ea4e, 0x6b0d3b6a30f7b3ae, 0xd0423d4dda850ebb, - 0x000000fc10b649 - }, - { - 0x2326b8a506a23642, 0x848599cc027a3df3, 0x669e327145709296, - 0x000000c94b18f9 - } - }, - { - { - 0xd6481d683f4ff35e, 0xfeadc69286a681d1, 0xd44ac2057add8ad0, - 0x000000b0013689 - }, - { - 0xd11bf5381fc0a205, 0xf0039bf596c89def, 0x32734e021872b930, - 0x000000e16eb001 - }, - { - 0x33f5195386a43cc2, 0x49684dd0e1ca0369, 0x946dcd4633946f7d, - 0x0000006c40458a - } - }, - { - { - 0x53d2e62b29c03276, 0xa3b4ed575231d4b5, 0x2382e7dc95b6962a, - 0x000000d618e81f - }, - { - 0xa3f489747ffa164c, 0xd0a61a1298dd820a, 0x272657313db6812f, - 0x00000021c87579 - }, - { - 0x8c1497b118b4dfbd, 0xb30109fcd584e004, 0x2bb0bf922c9f73fd, - 0x000000a59ee471 - } - }, - { - { - 0x685a5e8caacd9947, 0xfd4f0d3e95251370, 0xee1fceeb19e36101, - 0x000000fce25d22 - }, - { - 0x85e38ecdb8b2c253, 0x236902fd1a6f2d93, 0xa5b5d960d0ca8fc, - 0x000000a6bffedb - }, - { - 0x82175adb4f7e004a, 0x8fb6557f3b433b3d, 0x14905fb996fedd9, - 0x00000037f59b7d - } - } - }, - { - { - { - 0xb5d4481bf651718a, 0x7df00aacb6fcc72c, 0x2251ee734c20f45, - 0x0000009e494774 - }, - { - 0xe16649b3e3542365, 0x66586f57b28cdc31, 0xd155b6f8fad73cd, - 0x000000d2ad9b57 - }, - { - 0xa0b668a6f29137c2, 0xb36fe5c2cd860543, 0xbdcdee575d23fc6, - 0x0000004b09235f - } - }, - { - { - 0xe9f53c36c3ee9067, 0xf581241d706278a2, 0x25b0599a8c2dd4f6, - 0x00000018129b9d - }, - { - 0xfd5181bdfa664504, 0x6b2d792ecdc0570c, 0x2ba44c5ef8668c9f, - 0x00000037fa0bd4 - }, - { - 0x43fa58c0254f32ab, 0x6e5632fdf0c23b19, 0x7c7c2c4cbc4f83e4, - 0x0000003c9bb670 - } - }, - { - { - 0xce19fd57d7aede3d, 0x65859fc31f68a3f9, 0x1f5678bd9c8e877a, - 0x0000003ba9e994 - }, - { - 0x61562bcec82c81d9, 0xd134915e09702c95, 0x11c83adfe11d6a19, - 0x000000bc96e647 - }, - { - 0x40ff50284c357ae3, 0x424628a225b4dbbe, 0xe99bbeeea8cbf34e, - 0x0000003f9b535a - } - }, - { - { - 0x97fa538cf16d85ea, 0x55f8ec5d7e36d85a, 0x4c682cdce8b483ce, - 0x0000002f982bfe - }, - { - 0x6ed8430bc476ec4a, 0x22f5ca38a67746fc, 0xc3303f110fbc3f6b, - 0x0000000a7677a6 - }, - { - 0xa44b85c7bbfd773f, 0x4c51901ae046000b, 0xbdcd933b5fc4d1a5, - 0x00000041854251 - } - }, - { - { - 0x1d770ba635ac3d4a, 0x376e76f682a856d8, 0x23b7c188f47a1dfb, - 0x000000c6d155c8 - }, - { - 0xe6aae31fb4e0661b, 0x4d8f0eae28adee84, 0x7ec022355c04fd68, - 0x000000434ca8a6 - }, - { - 0x4d2362dbf0c38a0c, 0x96b0fc395307b075, 0x31b15727110e6d65, - 0x000000d019211a - } - }, - { - { - 0xa2219e7a06d622db, 0xfac2b7581ea45d5d, 0xcf4ac9ec7997e64f, - 0x0000008887d9cf - }, - { - 0x455cb23665bd42f2, 0xc62c3b6b80639c92, 0x28f4db312434a035, - 0x000000603eccd0 - }, - { - 0xaf756f345d97d136, 0x744ba552c98bd8b2, 0xec115a68287e7231, - 0x00000050dafed4 - } - }, - { - { - 0x95e34b6fba44a07b, 0x4c7c476f26aa59f9, 0x268b26bbe717b16c, - 0x0000002ae8234e - }, - { - 0x19f304e5fdd7bb3a, 0xfe74bc8aebddebcf, 0xb21a4925f40ca50f, - 0x00000005887e65 - }, - { - 0x561ff796ce5db929, 0xb23785065b46b257, 0xab22d52fbcb2cb54, - 0x000000466b506c - } - }, - { - { - 0xec02ac957e304ba5, 0x848b4906a741b563, 0x9e612efd5aa72d6, - 0x00000075e3831c - }, - { - 0xb68445f2b60ae24f, 0xc6eac6812b83016f, 0xc02773441b818ca, - 0x000000f57bca7c - }, - { - 0xdc3fc13bcca752aa, 0x39fd23fbcba2a273, 0x5f1879448f0b08c5, - 0x00000069c3b9f1 - } - }, - { - { - 0x253ee79f11dbb7bd, 0xe403d52d1d0b796d, 0x5e8cd97e8c4fc151, - 0x0000001f55e8a3 - }, - { - 0x1f47bc5d1b847e95, 0xa28b4b05ca422515, 0xdcf02b456b27feb1, - 0x000000fd23f81a - }, - { - 0xde8b4b516411e043, 0x7b593e5156f734e9, 0xc25437c7a7322119, - 0x00000080d2b5bb - } - }, - { - { - 0x13ec6e652e148af8, 0x5bb15e92b0917172, 0x203fff06b774bc57, - 0x0000007d7be6a8 - }, - { - 0x64a2c1937a844953, 0x62ea6947c29fcaf9, 0xc27cce9abab23d8e, - 0x000000cb0867a3 - }, - { - 0xb56976a61690e2f3, 0xfca45afb9eadff54, 0xd55f446fcd931fd5, - 0x000000db609a31 - } - }, - { - { - 0xa82ea622d898431, 0xed16fb22d292227, 0xf19e01b80f161d14, - 0x0000005b44aef2 - }, - { - 0x30f4aa30eccf991a, 0x40dedc96799d99ab, 0x25f00043799bab15, - 0x00000025587aca - }, - { - 0x8be43232561dc7cf, 0x693ca9d6f6c87b83, 0xf0cdcb29b25e3600, - 0x00000042bd3510 - } - }, - { - { - 0xaa1f4b6f53b8f59, 0xb67fbda0937a8aae, 0x196ea8143e377ab, - 0x00000001bfc51c - }, - { - 0x838e6827956cd21d, 0xf004e4dab8a085fb, 0x7e5b676ad51de91c, - 0x0000007117b5cc - }, - { - 0x1aa8f7aad2af4e32, 0xe0dda81af0439f6f, 0xa536ea480e7f6f2a, - 0x000000efa623c8 - } - }, - { - { - 0x16804001217503b6, 0xc14d63d0e2543eb0, 0x369b389ebd15030b, - 0x000000718362cf - }, - { - 0xa8d76b5747567cbe, 0xb5498867b6e7cce7, 0x2e5cb196c3917f53, - 0x000000c45007d6 - }, - { - 0x57c0e5ea0ff564ab, 0x6ffd254e471df341, 0xc1734fce8e760d08, - 0x000000879d4500 - } - }, - { - { - 0xdd13ef332b1c73d8, 0xab59cff8dbd30dc8, 0xfd734fc673cfedb8, - 0x000000ee3a20f0 - }, - { - 0xd59b1a36ceac9b5d, 0xe3263a98d4505404, 0xb629018aab124104, - 0x00000082997740 - }, - { - 0x9d825c843bba1e1a, 0xfb624f30c148d906, 0xdf35009c4679591e, - 0x0000004f183553 - } - }, - { - { - 0xa2a5346c300620d3, 0xc77d104534bc71b4, 0xe2860ede4ae79e9d, - 0x0000009786eb71 - }, - { - 0x5541f8b49a80e434, 0xf7c2a3a770586b16, 0x6b8cd483c5c6fccf, - 0x000000a32a9c56 - }, - { - 0x5d9c4d44bc8a957e, 0xc42b27d6f643d4ba, 0x68017b1801502af8, - 0x00000053336311 - } - } - }, - { - { - { - 0xed332622ce6c0066, 0x7a171bb79ae69f1, 0x3ef38a32895f650a, - 0x0000005e8a184d - }, - { - 0x1c5f3254cb342d6a, 0xd7e3722a236b6342, 0xf49b1472b91c8e3b, - 0x000000f410282d - }, - { - 0x4446ef6e69c55a97, 0x18554942431cbc8d, 0xa7664bdeecb141e, - 0x000000db2f1a99 - } - }, - { - { - 0xa5083eab07de6b9e, 0x1448c96dfc7e00b1, 0x6996177b1488df7f, - 0x00000011fcbd5e - }, - { - 0xcef4cc29da96c05, 0xb86263b0ebf0da6b, 0x5c9aacae10d4452d, - 0x000000db8eb7f6 - }, - { - 0x7d06bf87187fc08f, 0xc5808c06e59ea0b4, 0x1fa5a283bea4af62, - 0x0000007d39b93c - } - }, - { - { - 0x587ff13bbe94e2b7, 0x490a31f49f190a33, 0x3323ca5ec60c4895, - 0x0000003855e084 - }, - { - 0xf8e3b8a4e26cef6c, 0x865d6c096257856b, 0xaeab192965cbaf5c, - 0x000000abcda666 - }, - { - 0x540c798481f2bf69, 0xd43909fa3c92039c, 0xdcf8997369a161, - 0x0000004e6b124a - } - }, - { - { - 0x9db5edda6a889eda, 0x7a2b5071f07a06da, 0xb639a8790bf7f0f1, - 0x0000004d88127b - }, - { - 0x2ac1dca1670b8795, 0x875388ed9eec0e, 0x5aea1c88dc39600b, - 0x000000ca807a6d - }, - { - 0xf0fa185def706452, 0x5a1126b7dd2c32aa, 0x6958a1eccc4b2c64, - 0x0000002ac366b9 - } - }, - { - { - 0x3833af957b8df7f8, 0x4694b8c9089dbf20, 0xeab50aa867db4f12, - 0x000000b0cd3fa3 - }, - { - 0x41eacd87c6146f11, 0x983f50afc205aa13, 0x9b012d5d4a916412, - 0x000000b7a948dc - }, - { - 0x8a568ddda404bc83, 0x236ff32a46ec2350, 0x3843737b550160c6, - 0x000000176153d7 - } - }, - { - { - 0x3b6fc7d08b94a2d2, 0xfeed2a824ce373a3, 0x75fdc8b76a08bace, - 0x000000acd6fe96 - }, - { - 0xa4b922846b4cc598, 0x20020fde0f90c748, 0x5e144a5f7df25bf2, - 0x00000034fe0e8c - }, - { - 0x51cb34ed841596ac, 0xb02b01080521f97b, 0xf0eb77cff8f865b2, - 0x00000070c1e193 - } - }, - { - { - 0xdecbe19288bb2385, 0xeddf5a30924dc420, 0x47fab499a7ad561a, - 0x000000e6b21b2d - }, - { - 0x3d4ed09093360a4e, 0x3ce080c50e23017e, 0x11c0a38ea72d228d, - 0x00000041007de9 - }, - { - 0x1f57fe4af784ab49, 0x249789b009f165a2, 0xb7d957e7e1fb1ee4, - 0x0000006fa10aa8 - } - }, - { - { - 0x9b30361d04e93758, 0x1e21b37948e5e986, 0xe358ebd6b6a7d14, - 0x000000256b6e96 - }, - { - 0x91580da614b34c01, 0x5e5b04e99f221b37, 0x9a06f39ca50416b2, - 0x000000bebd74c3 - }, - { - 0x89173ed028badd36, 0x756305421a880cab, 0x3cb1f7e3089f5120, - 0x000000ac97412b - } - }, - { - { - 0xa7380d5964d74d4b, 0x526805038a2381f2, 0xbb015131519dad4e, - 0x00000018685a0e - }, - { - 0xd215110e07c38ae6, 0xfae092ed38914f12, 0x8a88ddf535a5b795, - 0x00000097caea1f - }, - { - 0xed13050f2bff287f, 0xe5ec684d141a4cee, 0xc0199561fc7c7f7f, - 0x00000008ed5247 - } - }, - { - { - 0x5e5e2ea54a945ce4, 0x8f3bf676cb7814bc, 0xed27463db3503c8f, - 0x000000d65a3afb - }, - { - 0x567c71fec8431d4e, 0xfde30942f29c4f2c, 0xfe5534f265241434, - 0x000000983e28eb - }, - { - 0xe77c19ad540198ed, 0xb6c215b5f62a48e2, 0xcf3e23503d8d2910, - 0x00000010c40a27 - } - }, - { - { - 0xe6d231d284db8d9c, 0xa5fdfa0e2b9fe917, 0x641dd6bea552c24d, - 0x000000adbc8754 - }, - { - 0xf75f27e334f0d5f2, 0x5cee918102dae007, 0x98e3d19c6328af9f, - 0x0000005e8ef2bc - }, - { - 0xf1a1b483a96e7d53, 0xa2484199c290a7fb, 0x50fb21ad676e49f5, - 0x0000000c3b0bf9 - } - }, - { - { - 0x9895590cb08fde52, 0xd1d809a980fe5729, 0xf4647f4b562155ef, - 0x00000005f91656 - }, - { - 0x4c1797350a4095af, 0x85ea0af42fd307d4, 0x12ad0709c91e6f88, - 0x00000010cc08f7 - }, - { - 0xa64cb3a762a3c39d, 0x40a70fa183631b60, 0x972c7036ade8f6f8, - 0x00000067324ec0 - } - }, - { - { - 0x62f0d6d1ce55755f, 0x867ca309237f18bd, 0xb23345dd4e47014, - 0x000000480550af - }, - { - 0x69537d7dcbcd6e52, 0xcd70da39ab09e59d, 0xb582d7ca1f29744, - 0x000000a3318968 - }, - { - 0x730c846bbbad43e6, 0x4ae07ba46123b3e1, 0x4af8e1079d732e50, - 0x00000002621b16 - } - }, - { - { - 0x573c42b0db367969, 0xf605f0e085126403, 0xdf0a651108712486, - 0x0000007543c555 - }, - { - 0x4f33ab555b10e957, 0x49b094436fec9d4f, 0x3ad30ccf557255c, - 0x000000ca10036b - }, - { - 0xf715680eac08511a, 0x155ee9bb38c5d8b4, 0xd83ad43d340fc9b3, - 0x000000fa769800 - } - }, - { - { - 0xe339d98adb309224, 0xeb7f5c1989c288e8, 0x59ef172cddea9ec, - 0x000000d88e90ff - }, - { - 0x99faf565b4ababcf, 0x2619794f64845ef5, 0xca27179b52cb9121, - 0x00000065c08847 - }, - { - 0xd15064c0a2fe1a85, 0x23e159a4c3324307, 0x22ccc2aba1fd5a4b, - 0x00000019f1bcd3 - } - } - }, - { - { - { - 0xaa3119bf6206ec06, 0xd49331f21ea8e1b4, 0x504b5b29f7a8415e, - 0x00000073039242 - }, - { - 0x9cf5eb449ddc0bbd, 0x7acc1d5855a2af37, 0xdfcdb8371dd19318, - 0x000000dd32c85c - }, - { - 0x4c4876ae90f08c5d, 0xb42939777b439c54, 0xe1e04709d4eeffe6, - 0x0000009790c73f - } - }, - { - { - 0x654c0efe33b196c0, 0x86ae658f18edcff6, 0xc613c9f319dd3913, - 0x000000e92b48e5 - }, - { - 0x97c65ce2c9c67eba, 0xac5a2876dddf37b1, 0xff268d4b1d48052a, - 0x000000e7cc34de - }, - { - 0xe561a1c8a5242b10, 0x9cdface0d84ba900, 0xa2a21187600f243f, - 0x00000069e4b069 - } - }, - { - { - 0x65e862c654b0bee7, 0xa00574b727b53d99, 0xbf4437d9b3890792, - 0x00000050996682 - }, - { - 0x1f0e9fafe747f0f8, 0x69f58c270d1dc984, 0x1e460b266929cd8d, - 0x00000086d0e0b1 - }, - { - 0xb7169341bbfc27cc, 0x2bc8fa7f1e97fdb4, 0xe1af52770f31d62f, - 0x0000001cab5651 - } - }, - { - { - 0x927056d9de097e31, 0x273c74d773ec09d1, 0xf2e4494a69a5ec7c, - 0x00000089209920 - }, - { - 0x6586ba65b83146e8, 0xdc9e83da21e10911, 0x32746a8ae43dbf2, - 0x000000bb8d346d - }, - { - 0x5f8ea1dee3646c64, 0xb73dec3d8fa9d955, 0xdcc011ab16c8caf2, - 0x00000073b474da - } - }, - { - { - 0x90593b94cb90c6df, 0x23afbed00a2995ba, 0x994abd70afd0ba76, - 0x000000af19c867 - }, - { - 0xc26ad988e559c156, 0x25203fb1364936fc, 0x5d59d53f03911200, - 0x000000a29bd308 - }, - { - 0x24639f485763135e, 0xdc971b980111cb74, 0x8ed8a7b4b294cbf1, - 0x000000799a2a10 - } - }, - { - { - 0xa606cffd49b2cf93, 0x64706a17a82a1e1c, 0x1c9822c5a708a11d, - 0x000000d99b30fc - }, - { - 0x6206a78db51bac4a, 0x2afa882f82d34109, 0x9da7033fb6971a72, - 0x0000003d5ac28b - }, - { - 0xc04f65a28d61b8ce, 0x3892e00cad85374e, 0xdf13fe45cf0d2340, - 0x00000048fc33b9 - } - }, - { - { - 0xf59e0d97aa446816, 0x59e10281c9d6301f, 0x31c6e9ca0f804add, - 0x000000052df7bd - }, - { - 0x8d7917af7472235a, 0x757e64cc3ce714fe, 0xcbad8400f9206d6f, - 0x00000086ca32c4 - }, - { - 0x387e5a80c099d3e9, 0xd4fd7e6d5faf00a6, 0x50a3f92aa58fb9c9, - 0x0000009c709433 - } - }, - { - { - 0xf260d2e5ceb990c3, 0xb34f01e7af4c6ad0, 0xf0f2406d4fc54fbd, - 0x00000055dc1a4e - }, - { - 0xfec41b852e9a7f18, 0x3905743a7c7bd631, 0x7af0957704fa9c3c, - 0x000000e379e453 - }, - { - 0x46ec9cab62644191, 0xb8d8e8e180ebe1a5, 0xd767a65a610e050d, - 0x000000122fc2f2 - } - }, - { - { - 0xf80411d34f84af6e, 0xfdceedc8b0be5d22, 0x73748a1cd4eadbb, - 0x000000c6beb956 - }, - { - 0x33c1e5d12d256f99, 0xede52f18d87e4a88, 0xedbcfb83b60f5a8b, - 0x000000433d988c - }, - { - 0xffa02d8d5de4a1c3, 0xe9b5659fd777026e, 0x90d6fc1427a52fcd, - 0x0000000f5e66b1 - } - }, - { - { - 0x527f8018bece048, 0xb1aa8e04fe67a491, 0x58febefacc925f0f, - 0x0000000ca74e18 - }, - { - 0xf909057b02c0d3ff, 0x43df3ecc55631ce3, 0xd1cadbbf2748a07b, - 0x000000551f7a83 - }, - { - 0x1fa2c4810f1b998b, 0xa03e737f5a4417f1, 0x69326b8adedbd72d, - 0x00000009a91668 - } - }, - { - { - 0x980fb1ce1374d798, 0x3baa25fa1049910a, 0xbf5e2d268763a238, - 0x000000d2996fee - }, - { - 0xf2b0e9d8a35a401d, 0xbbfd2c2cf74756bd, 0x11d3d44186d97106, - 0x0000005b7e90cf - }, - { - 0x288e4ba06c20ce80, 0xabb3203f9934c1b7, 0x15f41ae4e4d0992a, - 0x0000006c56c783 - } - }, - { - { - 0xd745e3ed55a5a109, 0xc371602291b0bdb4, 0xedc0816c79f0dee7, - 0x0000007fb7254d - }, - { - 0xbb4783182b0d3743, 0x1fb2e2593a5d3bfa, 0x272ce7c41070fdd7, - 0x000000f1b8bcb4 - }, - { - 0xf8c737d32a6be8d7, 0x6c32ac8d2c81e13, 0x1752bcc1c5fdbb09, - 0x000000204c21fa - } - }, - { - { - 0x54b8696e4f0cd303, 0x63dcb854c7466698, 0x4e19269ec211b90f, - 0x0000006dd182e0 - }, - { - 0xc4ff3e442ec24032, 0xdccf108631e28e70, 0x4042a70bc8a7e0ce, - 0x000000eb7bfda0 - }, - { - 0xe577f1716d731962, 0x51b4f60aefb801d, 0xb9dff4b816a217ad, - 0x000000118bbe62 - } - }, - { - { - 0x1ab6b4e2c572b567, 0x6cb51199337e1249, 0xe0d29fe74132210f, - 0x0000009d8f0f13 - }, - { - 0xfaa700de4130d078, 0x53c6c57e6fa73793, 0x7d79d7849b277967, - 0x000000ba7bc003 - }, - { - 0x3ff3fb5a363975f5, 0xa825c5df31ba5f29, 0xffbd3d95c5ad64a4, - 0x00000083fbb2d6 - } - }, - { - { - 0x4a16c16446ff3f7, 0x9e1656688a1918d7, 0x7d0e93abc45aa6, - 0x00000085fc951c - }, - { - 0xc1f9f91c38af5997, 0xee3c40bb17358d6b, 0x265937b51988dec7, - 0x0000002916c753 - }, - { - 0x2e36b39e0949d524, 0x12ced5a2e86c31d4, 0xa88d017efb9f67c8, - 0x00000073e65d29 - } - } - }, - { - { - { - 0xa4a63f14a693edab, 0xe3a4e0ec56353dd6, 0x4cb896dffcb3734, - 0x0000007772ab7c - }, - { - 0x305b733a9bea2bed, 0x5bcc92007cecbbb5, 0x104df94272d109d8, - 0x00000077bd73bb - }, - { - 0x85875797c99256f3, 0xdc125cf7cc4b4e15, 0x37c2ff6bc31c93f, - 0x000000c71ac0d8 - } - }, - { - { - 0xeb2d4ebbd29a520f, 0xe879a020dc93a606, 0xc9634fc57b2c2d5f, - 0x000000b414674e - }, - { - 0xe5ddd1c4949f049, 0x54b2c0a919e0df3, 0xb12f43208d213185, - 0x000000f92d10d6 - }, - { - 0x67effca48ec0c3b, 0xccb94c3044e44d39, 0xf341a7fb3bd0ed46, - 0x00000047881d52 - } - }, - { - { - 0x3f822305423c1b5, 0xaab8fd419749774d, 0xf9f1fceff851b958, - 0x000000c5864150 - }, - { - 0x47649eb929ffb0a0, 0xac9b4480c841cd55, 0x976534dee8349042, - 0x000000fdcea2bc - }, - { - 0x2d96baff31b37e4e, 0xba1aaad4c0761dd0, 0x6db8e23a189c69d4, - 0x0000004bef2ab1 - } - }, - { - { - 0xf8b2925c7d235fbd, 0x7494aef77e5eb8a4, 0xbb46ad30884dcb52, - 0x000000bfa64652 - }, - { - 0xc142c6b14a1fde83, 0x4cad5e7c12b815ef, 0xba9eab858aa87ac5, - 0x00000028769974 - }, - { - 0x12c028c5f86e3431, 0x70d738bbdf9150d0, 0x371fffe2da20def9, - 0x000000788993ef - } - }, - { - { - 0x4065bc8c430af8fe, 0x58a1fb7b3654a466, 0xc7dc62668acc1d6e, - 0x000000a02ec31d - }, - { - 0xd0ecba6bbdbfb76e, 0x4483a0c9abc4804e, 0x5382509597812b48, - 0x000000f668a40f - }, - { - 0x4f97f75423e936e, 0x4f4fa724ed538abf, 0xe438bbd7e1b23453, - 0x0000006e77b680 - } - }, - { - { - 0x2ffefd5c47e46c13, 0x2190154e41a7f370, 0x5371d51f0a4e5f5f, - 0x0000006d26c265 - }, - { - 0xf74ffc4c6e7fc86b, 0x690bd4c1d3900bc8, 0x200df87f29be7dc5, - 0x0000002e677810 - }, - { - 0xfe7a93c53332bbe6, 0x880a519828eeea03, 0x72b6576fe3b115ac, - 0x00000081ebd4fc - } - }, - { - { - 0x9664992abbed3af4, 0x3c51e47116b7f373, 0x69d038a11e16fc49, - 0x00000091c21e30 - }, - { - 0x4a1306e0544d7472, 0x66d6ce39e4640da5, 0x701ccd40325e6eb8, - 0x00000020271d81 - }, - { - 0x9af7dc3199dd648c, 0x7f33289e099905bb, 0x1ac1b6de15b9894a, - 0x0000005fdb23ff - } - }, - { - { - 0x8b7ad5b6a2e44022, 0xa5f07b1090835be9, 0x81c36f062bbac9c7, - 0x0000006517039a - }, - { - 0x3a9d9b70ec04f691, 0xb5351eeae766f062, 0x25fa84c964bb600c, - 0x000000a15f63da - }, - { - 0x705d8a15cea5aa6, 0x7b8f8012fc86a194, 0xe945356e8b3d7556, - 0x000000eced72e3 - } - }, - { - { - 0x28ea634c8e71c958, 0x908a5bee8d6058e4, 0xf54bc3c0a4969f35, - 0x0000008932f369 - }, - { - 0x5d6ae1e680210d1a, 0xf43a275e211874bd, 0xa1d0d3a8d1b4c74e, - 0x000000cd19e2be - }, - { - 0xfb2d346963be765d, 0x975890baccb3592e, 0xe242146f70b8282c, - 0x000000b6910db1 - } - }, - { - { - 0x75b3af42a23a5d51, 0xf57bce15234746cb, 0x981c5c61b8dcf573, - 0x000000233b7db2 - }, - { - 0xa12c091aa148b4cf, 0xe6edbfef8753be2e, 0x8372f6c98d7e53a2, - 0x00000089e7ca8a - }, - { - 0x9c5d07677281726c, 0xb8d682f84cd94628, 0xb34779a2255435cd, - 0x000000d6f19817 - } - }, - { - { - 0x84be750219ac9215, 0xd4bc54705c70dd22, 0xa3da6495b5126363, - 0x00000053a7b2d7 - }, - { - 0x799f9b9957268dd4, 0xdea7e4512f65eca9, 0x1f4e1725ccd16abd, - 0x000000215750ab - }, - { - 0xad2b88aeab893691, 0xb2495a60772207fe, 0x2c9fbc771de47163, - 0x000000bec7f4b7 - } - }, - { - { - 0x6dc459902fd9490a, 0xf31be4f3069f63fa, 0xfd67ddd8ff6692ae, - 0x00000031e8ba41 - }, - { - 0x4214d35cc35fd726, 0x52fd55a8b8e4da91, 0xad17834579e6ffea, - 0x0000001064a9f8 - }, - { - 0x9a4de3eb44d8b7a2, 0xa8afc2460035eddb, 0x48790eb5ccf5327f, - 0x0000003c3ae5f9 - } - }, - { - { - 0x5d7dedd40b0e427, 0xdc67acce93bdf18b, 0xacbd7ade41bddedf, - 0x000000f8ad5b46 - }, - { - 0xb4e011268e79ccef, 0x11989da36e5f2d9e, 0xb5b9365b52d52337, - 0x000000de25cbe0 - }, - { - 0xdcdfde894c5e5790, 0xfb765a2d3a4ea271, 0x3f570ed8b6037ad, - 0x000000ded648aa - } - }, - { - { - 0x6caba93abf353b2b, 0xdfaeb5a9786de4a4, 0xeb20a69701750a3a, - 0x0000009a87de82 - }, - { - 0xcf9015517dd8db83, 0x2df7fef42a0d126c, 0xa25aee09f95d3791, - 0x000000699885c5 - }, - { - 0x545c5e993285b227, 0x7c65bb5d558d2d6a, 0x53e418f5bca118c4, - 0x00000048fdfe5c - } - }, - { - { - 0x8d2f30a56c53f464, 0xc2bd421d279a0aae, 0xd758bb6a4dedb65e, - 0x000000e19698c2 - }, - { - 0x6cbca50771e05f62, 0x7dbdcfdf5199d740, 0x457c31f6ba47085, - 0x000000cc6f4c22 - }, - { - 0x47eb0943e5799b5e, 0xdf8eb0857aba3b89, 0x75a1175b5081e1d7, - 0x000000a6074efb - } - } - }, - { - { - { - 0x87e401752182c276, 0xad1b6fb7fc5820dc, 0x23b920a2e8e4b414, - 0x000000ff7e5289 - }, - { - 0x7995ce15b8d7c42f, 0xead8f10ea8c7093f, 0x6b4fddffdc316d9d, - 0x000000c207149d - }, - { - 0xca92a8dd8fbceb9c, 0xb5b11d0ec4e17f34, 0x689dad86804628e3, - 0x000000d76dee92 - } - }, - { - { - 0x1b9c586f6f25cd40, 0xae49327e1ea41ba7, 0x31cc73f582399a9b, - 0x0000009d8b11e2 - }, - { - 0x98cd4450bfac5a87, 0x88f4a050ea068b7e, 0xd2596a588f04b668, - 0x0000007f094730 - }, - { - 0xfcab53e8b01fca, 0x1ede485552d70727, 0xa2e84b6534e9c49f, - 0x0000001f9fdbcf - } - }, - { - { - 0x99183c08af6cfd87, 0x7b284a4727c2f791, 0x510beea8e7a45f40, - 0x000000db577c43 - }, - { - 0x2056f4539991991d, 0x4fd4a95aa8ba24c2, 0x8ec6e660e9e8032f, - 0x000000811c409a - }, - { - 0x4816e8c2b5623840, 0x75dc512f1ac5b2b6, 0xc951423ce47d9794, - 0x000000b48704ef - } - }, - { - { - 0xff605831634373f4, 0xf0a3ecc92cf3be74, 0xfa3992afb5c0c767, - 0x0000008404058e - }, - { - 0x978ee41198900f19, 0x833aea8fafad0944, 0x84aa63bbe4f0860c, - 0x00000005b287a7 - }, - { - 0x1842c182b9227576, 0xb803eaf0aef907b1, 0x2d3e1d396fb2c3e2, - 0x00000041160d7f - } - }, - { - { - 0xb6086f94e2196ff, 0xb06ba3c7c6fb2d9b, 0xc2faca53b0f9a3ad, - 0x0000001cecf733 - }, - { - 0xf7d20820d80ad361, 0x57123f9292126868, 0x9449e5d525081c24, - 0x000000cd158f44 - }, - { - 0xf6a303c6cf4b5e52, 0xd5b04a2c23ea694b, 0x93e4a12deefe6b0c, - 0x000000b01a6109 - } - }, - { - { - 0xeac408a9ee235654, 0xfe8b37be3ebbb62, 0x6b0fdb764f6094d8, - 0x000000865e1382 - }, - { - 0x6aa9d2b021c28fbf, 0x84ab2a29ae04b0c5, 0xcbd9963e94da0b0b, - 0x0000002b6f2431 - }, - { - 0x5c99551340a44d2d, 0xb30c5fbf39258cb8, 0x1a401d801661b84e, - 0x0000005d28c157 - } - }, - { - { - 0xf7db6f2a1d97e190, 0x2312f582c57abb6b, 0x395d960fb9deff02, - 0x0000003dd643aa - }, - { - 0x49484455072804b3, 0x7e392ffb28d59349, 0x8a0f3ef19180379b, - 0x000000cddda122 - }, - { - 0x2b9572f4bbd06fc6, 0x903f1aa487b45a1, 0x62fb0754acb994e3, - 0x0000007971e9ce - } - }, - { - { - 0xfe3ed93d50148f20, 0x23ce972fc7ccdd1b, 0x41cdccd168ca7ef7, - 0x0000004ab3e3a8 - }, - { - 0xd7fc47bd3f642025, 0x21f9f014786139cd, 0xa24060f142363ced, - 0x000000c999d436 - }, - { - 0x306ce01d3e70f27f, 0xe4c2a84cd7bc7aa7, 0xc5d31cc005ba283b, - 0x0000001f6d1f01 - } - }, - { - { - 0xcf9816d94af2426a, 0xc17f0e98cbdf9dc5, 0x25fe4e6f7fa226bc, - 0x000000d250aa08 - }, - { - 0x2d1c1167fb2d933c, 0x79693be18385248a, 0xa4dfe485675f0c75, - 0x00000041591fbd - }, - { - 0xbdbee110174b406b, 0xc1c6713bf12d6690, 0x77018ade670552aa, - 0x000000ada8e04f - } - }, - { - { - 0xc3fe240c0a315a6d, 0x730cc83df12d819e, 0x6dc479fcf5d0fa8b, - 0x000000a6c4c1a3 - }, - { - 0x8c1d2bd1ed996518, 0x41344082f5dfeb0d, 0x483bead0ad800958, - 0x000000e71ca618 - }, - { - 0x5e19f3a531710e3c, 0x8ac0e42c250fa7cb, 0x854800f335d2320d, - 0x0000004ea63742 - } - }, - { - { - 0xcd2b03027aa33f0, 0x76603bc9debfac4e, 0xc3d1dca10098042, - 0x000000c344e314 - }, - { - 0x309ad10b61602a71, 0x88bf88e674aa8a73, 0xd50e7383b4f73eec, - 0x00000038ed83a9 - }, - { - 0x10e295d4d98c823c, 0x37229e71f4964275, 0x188dc753ead98134, - 0x0000000ddfcbc9 - } - }, - { - { - 0x25579ecca322dc02, 0x98a57a827c102168, 0xbb15e948f08ff1df, - 0x0000005a74cb89 - }, - { - 0x42be4ec4087cab4d, 0xd33e484e504f09f9, 0xcc38db15fb56c208, - 0x00000046f0fcd4 - }, - { - 0x5b2b845e6630c8ba, 0xb2658bf923042cf2, 0xe6f1aa9f33f2a9cf, - 0x000000f6735136 - } - }, - { - { - 0x6d4586f310b720d3, 0x565b7445f044b533, 0x274ad3cdd67662a6, - 0x000000f97fe8ff - }, - { - 0x82dc85058528e486, 0xc7e968341b9963bf, 0x21676cf3ea6030d7, - 0x000000f23e4a06 - }, - { - 0xe02cdd6192490d2b, 0xff9c27f2daceefc, 0xa4302b1c662e96c6, - 0x000000cbb0e39a - } - }, - { - { - 0x2e93c0334b6e886f, 0x722b16f11c252549, 0x547dde8e80c990c, - 0x000000e0217a8b - }, - { - 0xa2642da80082fbe5, 0xb355eeae4f2d097, 0xa93380f7dcd6ed6e, - 0x00000042f6ffcc - }, - { - 0x93ef59b3253dc35a, 0xca387c4871b34147, 0x77f3100badd85d77, - 0x000000a843a8a2 - } - }, - { - { - 0xfc7a355575510d0, 0x51fdcf6e6ec18454, 0xbc9140f06c2c3676, - 0x00000028b1ab9d - }, - { - 0xaeaa53ab52754e9f, 0x2eab7712be8c8604, 0x76370ac39e530efe, - 0x000000a7b8905d - }, - { - 0x6df4990eeaa47608, 0x1e1c98ab26e53eb4, 0x5ffc8e3a13c289f2, - 0x000000983058a1 - } - } - }, - { - { - { - 0x80b425fdec519091, 0x8075ca2883854814, 0x44085ce7b39264a5, - 0x0000009e8960ad - }, - { - 0x82ae881a64548852, 0x949102bdc4671089, 0x31bbaf635ff63d6a, - 0x000000c1435c2c - }, - { - 0x14620c0939fff4e5, 0x30a29bbc52050bf4, 0x8af2fb3e989af0a6, - 0x00000067821900 - } - }, - { - { - 0xad00d76e23228f3, 0xb3e6aff4a635c3b4, 0xe134c618961e55b1, - 0x000000dc9173f4 - }, - { - 0xf37600f891e2e39a, 0x3832b699ee41e146, 0x7b9f3ef118c10e68, - 0x00000042fa03e0 - }, - { - 0x5235ad78212c05f5, 0x9954a44b4508a843, 0xc07c486988e75bf9, - 0x0000008cefa7cf - } - }, - { - { - 0xe10089f16e18d43, 0x43ad6e22902b96ec, 0x497efbccfe3a5239, - 0x000000a37f8755 - }, - { - 0xaf82950dff67a8a0, 0x5d3f738df82ad4, 0x292219993ff3dadd, - 0x000000c0873ebd - }, - { - 0x1043de64ee5bacc6, 0x9883443875bb0a01, 0x1b860c90fe0b77c2, - 0x00000041f09dd5 - } - }, - { - { - 0xdbc108bc66370591, 0x5296e543c0da8354, 0x49f6097bae266155, - 0x0000002338000a - }, - { - 0x94b4173fc0c2d207, 0x312ab0ca6de2a558, 0xddf15ecd49b10a3e, - 0x00000082a15491 - }, - { - 0x6b227c6aa36336b1, 0x35c6ede92d284a57, 0xc1a0eef6573d8309, - 0x000000ccbdfd5f - } - }, - { - { - 0x3e1af8d8b3b01ea1, 0xe15a9f79505acedc, 0x755ff8bb94afe1c1, - 0x0000006eddf8c8 - }, - { - 0xc11b943c9e9d07aa, 0x26fa4a64c2e1e4fd, 0x91e8c724bd71cd33, - 0x000000265f81ed - }, - { - 0xd0088bc64b007c3c, 0xb6197d13dd211035, 0x97755af8614af8e0, - 0x000000f52a7521 - } - }, - { - { - 0xf89757ec4d6ec72a, 0xbc8f393195f251f, 0x8f0d08fd5b742898, - 0x0000002d44b83b - }, - { - 0xf63592e38502c164, 0x2620194d25f6bed9, 0x188e06323801f166, - 0x000000174bf9cd - }, - { - 0x35902142c4eec3d, 0xb068120deb36b7d4, 0x4278399750732359, - 0x00000000501d2f - } - }, - { - { - 0xa9868fcee30a6f92, 0x20aa0fa389066738, 0x98d12f2e94007ba, - 0x000000c6d663d6 - }, - { - 0x6644394f34987a08, 0x66851373cfab3e2e, 0xd4404dbe990d5594, - 0x000000b1d114e3 - }, - { - 0x92212ede5d67ce09, 0xdbad1be35ceaa78e, 0x85984ec20b722423, - 0x0000003c302e05 - } - }, - { - { - 0xe4aeba6047db2db9, 0x4c0f57b23a6c39f9, 0x99a2ac0476231af, - 0x000000614a3d3d - }, - { - 0xd9708d9ec7db4b20, 0x54eaa3fb5bce9eca, 0x2688c8c402453a11, - 0x000000285c254d - }, - { - 0xc4f6a41e5ae9baea, 0x6e735e5b6345858b, 0xf8e43e3d3f58acde, - 0x00000063b166ba - } - }, - { - { - 0x53753bf3c148712, 0x445e5b8d217f2cd0, 0xa0788ea4b7014756, - 0x0000005c486969 - }, - { - 0x99a0b5014d97c34c, 0x3aba20dd47193146, 0xc213d4a1591271e9, - 0x00000075a58fed - }, - { - 0x3e1ac0607e40ad6, 0xcd08912c5c2cd1cb, 0x9e58f33af3552485, - 0x00000058467f22 - } - }, - { - { - 0x5cff853a3ccbb446, 0xad6d506a43814dd3, 0x9b27d2bfb2a27ed0, - 0x000000204b0e9d - }, - { - 0xd100996ebb76e175, 0x5028756308c811d9, 0xe66eb0bbbb297308, - 0x000000392378e3 - }, - { - 0x5c13a93fe7e59a7c, 0xc9294da6ca13e024, 0x44fdc6f26c30fdb4, - 0x000000ab9fe8dd - } - }, - { - { - 0xa8a802476432aebe, 0xda794da20fafd6d9, 0x1702710da205f58c, - 0x000000be2f8317 - }, - { - 0xb7de62618c5566ed, 0x8374cde1695c20a7, 0xd282e63ea6029d46, - 0x000000f59eead2 - }, - { - 0x93d0e784288e6f9a, 0xa3f82e1ffdee48be, 0x3ec78e4be98420d8, - 0x000000a704531f - } - }, - { - { - 0x57da92d8e1d911b0, 0x6abde44c37418923, 0x560644639995a34c, - 0x00000091dc63cf - }, - { - 0xf3bb86bb2fdb3c01, 0xa3884dbc3caac55e, 0x392726777bc69ff8, - 0x0000007ffefdf4 - }, - { - 0x359c2d4f68b8e143, 0xb36a0a32811b84b9, 0x946728666452d8c8, - 0x0000008739617b - } - }, - { - { - 0x1abc57ee5fb617e2, 0x74b37af6e4b2b9c9, 0xa679b09492787d34, - 0x000000211a492e - }, - { - 0xa980e0cbb34f7018, 0x84e9b480e0c17cc0, 0x613b7c7295953d51, - 0x000000fc73256e - }, - { - 0x371126112e0fa3c1, 0x72b063e9dbfb4cee, 0x6a30ef85007ebb72, - 0x0000002d5584f9 - } - }, - { - { - 0x5a2810bd697154d5, 0xad20ad6394bb5c1d, 0x21386a3853536970, - 0x00000080f65382 - }, - { - 0x4136862a2cd7cfb0, 0x7195c77a9fd0cca3, 0x2c5013de0ec796b9, - 0x0000002ba60ce4 - }, - { - 0x4886b3ba14402204, 0x3fecb87175123858, 0xa10e14fbdb38c774, - 0x000000ae7e0328 - } - }, - { - { - 0x5d2ca6483ce873aa, 0x7328c38b1a912c49, 0xee21134b7505b9e8, - 0x0000006aa7c5c0 - }, - { - 0xb85b2de8fbd322d9, 0x99ea839e8e03a295, 0xeeb3a59252e10006, - 0x000000ec9d4f2b - }, - { - 0x3b7c216271fc4b47, 0xdcaab216d19a9484, 0x37984c7baed37cf1, - 0x000000ce573166 - } - } - }, - { - { - { - 0x7d3f54fa5c208c88, 0xdf36a87c2d3a413c, 0x23fd664b25b15d4f, - 0x00000074cae4c2 - }, - { - 0x3505a57c24c13317, 0x696ea0f73a1db67e, 0x668d1853eda5896d, - 0x0000007f96bffd - }, - { - 0x546c138853ec8ffd, 0xe49a262bbf11624d, 0xd0bdb8279f528ce8, - 0x00000056ca21d7 - } - }, - { - { - 0x19c8d66934599736, 0x745539e3161ab1b0, 0xdf34504b0bf5422f, - 0x000000e2487f85 - }, - { - 0x409553e57cc20ae7, 0xe7d0d2bd405fe630, 0x6827ba60118dea4e, - 0x0000001d09d6c8 - }, - { - 0x6f1eb10686cdd3fd, 0x82c88d1f42831aba, 0xb43968fba6e727dd, - 0x000000ece0996d - } - }, - { - { - 0xddbea4a65a7a23bf, 0x9cb9407fbc308ae8, 0xbd6ab0efc08d136b, - 0x00000022c5b4f6 - }, - { - 0xefc3b3a05cd922f4, 0x65af1a7810c08373, 0xa517845badbd7a73, - 0x0000002dbe94d9 - }, - { - 0x5659f036108c153f, 0x27da059fb384be73, 0x18b68674ff1c41e1, - 0x000000fbb8c51b - } - }, - { - { - 0x83f7852e11a94019, 0xab0444ce50d52f45, 0xe089dbf7fb4ac968, - 0x000000b3db0f7a - }, - { - 0x521bb873a87194cb, 0x703f18b3dd859c27, 0xced2d33ef364c38b, - 0x00000020a080c4 - }, - { - 0x39cc585ad9759e24, 0xa389f8bcd5411f0b, 0xf8c12657e10cdfc9, - 0x0000007bef550d - } - }, - { - { - 0xd88988f9c57aa2f8, 0x488c4ba317448ac4, 0xce40d805d28c7fda, - 0x00000051384a24 - }, - { - 0x6105c8b273414276, 0xe5a7de38b5f77ca, 0x96d1366f686f1cf3, - 0x000000b0a669ad - }, - { - 0x7b65fb7578d612b6, 0x24b2f00a644b8cf0, 0x5c26eecc6a776943, - 0x000000acf7a66a - } - }, - { - { - 0x2fff1ee460664299, 0xff46f13881c09d95, 0x8deb22861493818e, - 0x000000f9552860 - }, - { - 0xf6164e362fb07d80, 0xa04b51178442474c, 0x7b920ded04f091e0, - 0x0000002950433c - }, - { - 0x7314495998905e7a, 0x39f49c0ff485e44f, 0xb8fb64631d2add6a, - 0x0000003b625e8b - } - }, - { - { - 0x6a7c4ffa45642ea9, 0x46e378c8d7bd1e4f, 0x44db32ac5e9c179b, - 0x000000655064ba - }, - { - 0x6b542df85052caa6, 0xf3b199a1319e408d, 0xdd9456689d3ad6d7, - 0x000000e412e702 - }, - { - 0xc5bab4f2b6e29985, 0x95a066a12469706d, 0x8ecd701394eac759, - 0x000000e7222ca8 - } - }, - { - { - 0xd1a788f82a909235, 0x2f0a636c845498bf, 0x9545f8f5c38dfd9e, - 0x000000b10cb021 - }, - { - 0x7140fb721430c408, 0x653942c19c36b264, 0x5e32409dda1935ec, - 0x000000618095bc - }, - { - 0x71295cec9c39bf2, 0xcaa25f1f29b24d91, 0xc66f6952e3bde528, - 0x0000009ab8b425 - } - }, - { - { - 0xc7307dcb05b1c0c0, 0x420de47a84fbe6c5, 0x2397b81a0435b0bf, - 0x0000006f2c6741 - }, - { - 0x447fc5de08afdd77, 0x80111e7ff17e4abe, 0xed8af81cc0828b98, - 0x000000733e9157 - }, - { - 0x1ee9204d95e147fc, 0x30f91db28b676e7c, 0x8389f7728d87498b, - 0x00000080bb046e - } - }, - { - { - 0x5939e6aaa5e1cf0f, 0xa70eed9ec83059b5, 0xaf80f3b8b9615e9d, - 0x000000b85c3ea1 - }, - { - 0xc80e4f9040632bfd, 0x87e6822def53cf14, 0x54420b0312ab67d9, - 0x0000008f8e96cb - }, - { - 0x9e89ceee485cde4f, 0x857b81bc55b3db6c, 0x1684e043d2955bb5, - 0x00000098084ca2 - } - }, - { - { - 0x383a2d4e46040e73, 0xf8be484ea0ace7a3, 0x3441da92cef46604, - 0x000000d97be5ac - }, - { - 0xd9437662ad292ef2, 0xb3621d13d153f933, 0x2dbce409d423b63e, - 0x0000004b9d5d39 - }, - { - 0x31a1039c68b6facb, 0xc016606e6f020085, 0x5d97860827a08c21, - 0x000000d067187d - } - }, - { - { - 0x61cac16d98591126, 0x507853036a4225b1, 0xcbacafb470e5a994, - 0x000000473cd88d - }, - { - 0x8ed428495d8bf839, 0x4595bfc76cb9c070, 0x9821fe1ffa7634b4, - 0x0000008b624d0d - }, - { - 0xfa4db8afa11bdb1c, 0xcc8373b875ac10cf, 0x9b1a2f385d36d7ac, - 0x000000caf395c8 - } - }, - { - { - 0x34eead74ba357cf8, 0x6d72ea1357216262, 0xd629072168e20d39, - 0x000000376e6477 - }, - { - 0x3f79f67a2f0c99fe, 0xca3b61912ea5b4b6, 0x503bf7eea6272ebc, - 0x00000057a12d6f - }, - { - 0xa09f69f84925f0eb, 0xcc6853c6bf000909, 0xff3f4c678638711e, - 0x00000087fd7c27 - } - }, - { - { - 0xbd07ee5e68fca246, 0xfe441325ae95e8b3, 0x2cbea32073cd7ff, - 0x000000ba6d0148 - }, - { - 0xc4953df2334bb273, 0x61557f58773f07e4, 0xf13c689b314214ad, - 0x0000001a1ef26c - }, - { - 0x68a16f3b4e844298, 0xc29c170cf57a48bd, 0x1ec891e80c25a770, - 0x000000b2d7c5d7 - } - }, - { - { - 0xad27b2ae2bdb863f, 0x685abd6cd7b448cb, 0x6268c604fa2e7ed3, - 0x0000002db93890 - }, - { - 0xbbe862e8f7a358ad, 0x232329215d167b21, 0x41ca71adb7d852ac, - 0x0000009576b443 - }, - { - 0xebb73d1d9b71524f, 0x9abe4a061689eb03, 0xf2fbf87b705cc03d, - 0x0000004be3c55b - } - } - }, - { - { - { - 0x987a5568bd6b5e77, 0x82df559e8da4aff6, 0x5d853e6947fc0b7e, - 0x0000001d6adc3a - }, - { - 0xb0da5da4f5ef7454, 0xb0e49f23294bba51, 0x14831dc88d58157e, - 0x000000f05f8357 - }, - { - 0xc500111e21392a9f, 0x700a9d48fbcc412f, 0x30486057681fa44f, - 0x000000d63792a0 - } - }, - { - { - 0x5821846e0c0f5ea8, 0x488dddb0e70e09a8, 0xd34290cfb5754b5f, - 0x000000eef1fab0 - }, - { - 0x7b1e6c9cb01b93b7, 0x4007a083033c9319, 0x1e728691cad1999b, - 0x0000007092f2f7 - }, - { - 0x464d34c05a58addd, 0xea708ab2c1bdc156, 0x7c30b96df742f7b, - 0x000000f0a8c437 - } - }, - { - { - 0x2b0042aa0c62f225, 0x3567c0acb6539310, 0xa4e420307f222e41, - 0x000000f78126aa - }, - { - 0x28f078ae8e68f1c6, 0x47b0cae78501aacd, 0xd9551134e4ca8a99, - 0x000000eb2756ff - }, - { - 0xec097af913657944, 0xab780cbe5df95ff, 0xcd89cc6186894f84, - 0x0000006c7d1996 - } - }, - { - { - 0x13e0d0a2349f874b, 0x178768fe8f76faa5, 0x8ce231349c637ab5, - 0x000000fdd611ee - }, - { - 0x7fb6ed04308237e, 0xe500dc3067b95558, 0xacd042e557abc912, - 0x00000075de0207 - }, - { - 0xc2789e2c41450314, 0x2dfb0c64f8db5762, 0x6f3411f9655a95cb, - 0x00000069fb6694 - } - }, - { - { - 0x40d1f43e3d5852ee, 0xd8e751acea442d0, 0x48c8848604c8edd6, - 0x000000fa2d82ff - }, - { - 0x54b60039a5c9008a, 0x4d4453f13ea05152, 0xfcb8559fd17e84b6, - 0x0000004b596bc5 - }, - { - 0x42b55dea3ca22b71, 0xbaee8b1f1e6366d9, 0x52134d1bbf529bb1, - 0x000000d994de2c - } - }, - { - { - 0x879bed0082b85de8, 0xca2db7f23d492d85, 0x17e258dc7a6fd60c, - 0x0000009bebb38f - }, - { - 0xd06014c33aca1ac0, 0x5569f81352c50b92, 0xd32e9f40c651765, - 0x0000000ad69f94 - }, - { - 0x155a2b028c33b8c6, 0xba2ddd443dc6f2ac, 0xa8029fb54138fc65, - 0x0000007a6dd645 - } - }, - { - { - 0x8e09f5251d40523d, 0x6f33b6e2bf1e8555, 0x16f41e37b135f027, - 0x00000069c67fac - }, - { - 0x54032ab904260156, 0x647cccadd4d26c6b, 0x2f585dfe13f4b5a8, - 0x000000e2f338b1 - }, - { - 0x304b8968892adfbf, 0x209a772f7fab6263, 0x6a08f9939f35704e, - 0x0000001c9c2cf4 - } - }, - { - { - 0x484d7aa14b03ec8c, 0x2659b5cdcaeb21c1, 0x8b1e30d0a23373dd, - 0x0000003001a461 - }, - { - 0x82ca4074253896c0, 0xc97aabf809209197, 0x947d605100151b30, - 0x000000180ff2f9 - }, - { - 0x84a95e3e718db491, 0x24434b6e05ee1871, 0x12e21cd580e7f7db, - 0x00000094275533 - } - }, - { - { - 0x2a11ff3de92cf6ec, 0xa4440469f8e03587, 0xbd9f3a733de0e447, - 0x000000bf550b17 - }, - { - 0x7137557d6687ac5c, 0x7c083a25ba98b97b, 0x1edd555c42cf2dd2, - 0x0000009146a83b - }, - { - 0xc2e1ad4d7b322d57, 0x8866265eb7049312, 0x5c1f8c3549e0c6b5, - 0x000000146649b4 - } - }, - { - { - 0x2d9139a20df103ff, 0x989646495d204643, 0x45315533ce2aa4ab, - 0x000000a933129b - }, - { - 0xe33e549e47a11164, 0xf8825f05b05fd3aa, 0xc98ba33fd8d338a7, - 0x000000ece2e4dc - }, - { - 0xc1e4cb394a26da6d, 0x738291f810d6c738, 0xa945698afa2bd5ed, - 0x000000373c91c7 - } - }, - { - { - 0xc516278dd7617b24, 0x1559d4d5ea537f13, 0x449e1ec87c2764e, - 0x000000a9516426 - }, - { - 0xda739b38cc12ee4d, 0x472a9292207bc277, 0xe00e423877b7cffd, - 0x000000edd33fbd - }, - { - 0xfa7c961ddf6960ae, 0x25df5ab990d5042f, 0xd6fd7d09a6a6f400, - 0x0000001acdeddf - } - }, - { - { - 0xc8f49868e96ccdff, 0x6672ceec70faec1c, 0x7238a530fe3e8e03, - 0x000000a3af3c9a - }, - { - 0xd7561761043ba418, 0xbfd224db64dcca75, 0xe112b05c729dacde, - 0x0000002837874a - }, - { - 0x57236c52fdc46296, 0x4aa7ce655d431c9e, 0xdf1bb519952e17c2, - 0x000000275a7284 - } - }, - { - { - 0x196135245f6553ec, 0x5d135b9c9bb0a530, 0xe847560d7d6e1635, - 0x0000008cac083f - }, - { - 0xe8e1f4f89d1bbf18, 0xc0d8bf759f32305d, 0x8c3c71dfa894f260, - 0x0000009963ec38 - }, - { - 0x48bcd4b00704b95b, 0xedaa3a0ec3a0a370, 0xa5660d5753587348, - 0x0000007a796e89 - } - }, - { - { - 0x9a73d669f0ae0b02, 0x7881f77ecdeabca6, 0x8030b5b6f48df257, - 0x000000f8eb97bf - }, - { - 0x88b2c1692ce8addb, 0x980819c85d3253c6, 0x6ff836e690f5f098, - 0x000000a98cf728 - }, - { - 0xe6ca769142c2d184, 0x999cb3fbf90bb496, 0x2767d10a2d5a2424, - 0x000000cb26e00c - } - }, - { - { - 0x6669296df3710290, 0xa4bf777edb501a1b, 0xfa3379edfc462747, - 0x00000016fb4d24 - }, - { - 0x9daec73311c836d1, 0xa6453ac03b69466d, 0xa7dc0678f04cf8b0, - 0x000000eabb040a - }, - { - 0x62ec631f49543c0e, 0x239b529833741b0c, 0xde1bd348316688c1, - 0x000000bdea81bc - } - } - }, - { - { - { - 0x157b14778c4e216c, 0x384564c6a70489f3, 0xd943f3ef13eb30b1, - 0x000000c4642b92 - }, - { - 0x495b02bbb50a48ff, 0x772876de51c3a5bd, 0x239069e1a5470f1f, - 0x0000009d354150 - }, - { - 0x51b0dc7f09734fc9, 0x97520119af803963, 0x5a8cb76b41eb5d81, - 0x000000cd27c752 - } - }, - { - { - 0xbaaa03bba66c11eb, 0xf8994af4dd7807a6, 0x6a22127ea9729df, - 0x0000005d28656c - }, - { - 0x237487d8b0f33e13, 0x4398b8062f431e1c, 0xc6f43af2dc2bf876, - 0x000000e8e17049 - }, - { - 0x9967c7483c66b3e7, 0xe47dbb42911bda1d, 0x11c3a40680fa5e94, - 0x000000867b8b6c - } - }, - { - { - 0xe79f0f9a00df5241, 0x1bde25a13c654f56, 0x84a2e06f869e161c, - 0x000000d446e368 - }, - { - 0xaf9f64f193760448, 0xbdfa00aef12eba75, 0x504877ba98cd7e3f, - 0x00000008d720ac - }, - { - 0x2307c421fe322cf1, 0xd9f6c78ff56190fc, 0x1793e1c94595fa21, - 0x000000a5b0cbc6 - } - }, - { - { - 0xaaf907d66275a4a2, 0x79a9e15f0bb46e86, 0x3961ee57a1de6c3d, - 0x000000ea801086 - }, - { - 0x168c0a803f9b688, 0x88b7d6834176da83, 0x6dab98bc0487446a, - 0x000000f4babc6d - }, - { - 0xae2f513e1b68d917, 0x1107916540202337, 0x7528859cb8258d6f, - 0x000000aafa0570 - } - }, - { - { - 0x2761da55426d78cb, 0xa95284ef9f632a2b, 0xe498dc9447081382, - 0x0000005f3024f8 - }, - { - 0xf5545bf9b3c721a4, 0x7c2e26f7935472cd, 0x2191cac31e4ed677, - 0x00000083320f7f - }, - { - 0x106c57d24b6bf386, 0xce1aed493f51676a, 0x67e0700bab0278fd, - 0x00000086d8d62d - } - }, - { - { - 0xb2e33acec987e86f, 0x9442358f9f4f309e, 0xc80ee0e1ff9a5aa5, - 0x00000000334c3f - }, - { - 0xfbaf8562af35c637, 0x1b212fc0542b8fe6, 0x56142fb71025dda5, - 0x00000000a0ec69 - }, - { - 0x283861f6a253e70b, 0x23c533f775bf4b28, 0x5da64294205b689f, - 0x00000093d7ccaa - } - }, - { - { - 0xa3e91e9c7257039f, 0x4336d3f9c0ddfe77, 0xd12a8e387c3bbb2f, - 0x00000098509056 - }, - { - 0x3e019e7e2b8726e7, 0x13afb784269cc61a, 0x63306d29e25d2e17, - 0x000000e633bae7 - }, - { - 0x9cdb6bdc1f2347b8, 0x2ca7e69342897fe5, 0x9583ac9d360a8508, - 0x00000078299607 - } - }, - { - { - 0xf47c0613a89172cc, 0x20876de060ab3b1e, 0x613ba90e0260341, - 0x00000006c754b0 - }, - { - 0xcc300f8f621ad065, 0xb0c4650e91ef7988, 0x277e95c3cdf3d2ac, - 0x0000006406ec10 - }, - { - 0x7065560da909096d, 0xac0edc65edc9a5c0, 0xaccccd57d89983f4, - 0x00000064ad8311 - } - }, - { - { - 0x46abeebff44d75be, 0x7649a4805e275703, 0xcde6053bbe47865a, - 0x0000001aa0647e - }, - { - 0x326b8d53000a7bae, 0xe6a3d8b59909cca4, 0x234a8ad9661082c2, - 0x000000768cbd00 - }, - { - 0x66252d53cccc2084, 0x34f4aba395b17abb, 0x8afffe27f9361001, - 0x000000f7f2316a - } - }, - { - { - 0x85254ed8ffc7c258, 0x3e141ba8f854d9d3, 0x4bfc3d983f10d853, - 0x00000028676c44 - }, - { - 0x4af532ce2bc98ce3, 0xf4e3ca9b7092aa60, 0xe5a7caf2ef336cad, - 0x0000008f9e0580 - }, - { - 0xe829f371eb0e4da6, 0xbdad89fe6c9f5e01, 0xda59d41a478dda4b, - 0x0000008475e517 - } - }, - { - { - 0x3f77a38f24d2ac79, 0xe8d0ef060ff0c7f2, 0x3196c957dc649467, - 0x0000002ad489f1 - }, - { - 0xc7231b9f44558f72, 0xb692d81f02629bb8, 0x8f613d1f101e64aa, - 0x000000367bfd12 - }, - { - 0xe724a5a0ed8c2f0b, 0xb29443e40078b701, 0xe90efa51f0b11d78, - 0x000000ea6bff88 - } - }, - { - { - 0xdd3d16afae0a4744, 0xf3455c3dd628f6eb, 0x66c6ee1f6b1fd60d, - 0x000000252f5809 - }, - { - 0xfd546d593fc6ac3c, 0xb8df91668b23ec94, 0x1389950f5f94c17a, - 0x0000005eb748a8 - }, - { - 0xe148a484daa05629, 0xbbc665861c91f7ca, 0xd03fa5e3a7e27d33, - 0x000000a97f1a5d - } - }, - { - { - 0x99bfeb8143c2c608, 0x5df07c0b13e93ea1, 0x974b9c2a05032bce, - 0x0000000f0eb8ba - }, - { - 0x479f8f4c4adb4797, 0x20f9be8dc3ea93e9, 0x7bc8794d7e5c4069, - 0x0000008ef3827c - }, - { - 0xb7af381d4a2a0b96, 0xb12804a44c65d3d1, 0x84f1e3f7a679f9be, - 0x0000004a1a4b97 - } - }, - { - { - 0x1337d49280c05f41, 0x22c4b634d8612035, 0xbb5c00849f81687d, - 0x000000d81379dc - }, - { - 0xe30a43fcaa3d449f, 0x3f560e23fd8b3ca6, 0x483a0da0928a956d, - 0x000000b088552e - }, - { - 0x70967a48b1647783, 0xe16a6428a747dfec, 0x827c03b8e0832fd1, - 0x000000d13ba720 - } - }, - { - { - 0xb72f1a3328a2ef2c, 0x365ca0f706b4fbd7, 0x3d88fb0f6bc5da36, - 0x000000267fb5f3 - }, - { - 0x74aa9178c8a7cab9, 0xa867c2b06663168, 0x7002b13a06faf98c, - 0x0000007d973519 - }, - { - 0x5228206c0580499b, 0xef5ee45bd5b8b571, 0x79c5ce22f4b6b141, - 0x0000007f4ac920 - } - } - }, - { - { - { - 0x4edbd0d52ec8e40d, 0xe594492f1ac761da, 0xbaa52029e6511ea4, - 0x000000a4b126c6 - }, - { - 0x96d967021ad7c15b, 0x10773e7960df87d0, 0x50577e3b3bcf5ad3, - 0x000000c4dc3d35 - }, - { - 0x66f6147e37b57110, 0x5ff9a75ee40ffc46, 0x6f8d95193e9755d8, - 0x000000600cf496 - } - }, - { - { - 0x3dc52daab136c619, 0x495b87c583c40092, 0xf980f24be725a08f, - 0x000000d13012cc - }, - { - 0x7fe2d9ea644baaba, 0x71f385c9e4af24da, 0xfe4257356bd63d32, - 0x0000005625baa8 - }, - { - 0x4d8cdf498739c817, 0x86778a59e9e225de, 0xad92805b61ee0a29, - 0x0000005fbd945f - } - }, - { - { - 0x42fa40e331df6880, 0x8961339aedaf3cc9, 0x162c7f662496aaeb, - 0x000000b32af4d4 - }, - { - 0xf351047b80589f71, 0xec909f64de7af3ba, 0x2a464d4c8f1a3e28, - 0x00000026aa1db5 - }, - { - 0xd04ca29febcb9b5d, 0x7ef016d0e2592575, 0x9a90294f35cef36, - 0x000000fb530f84 - } - }, - { - { - 0x6764faaba457fe98, 0xf60d9fca2a623b1f, 0xd8e2b4a7f79189e1, - 0x0000006fb0e48f - }, - { - 0xf5e340149728f9e4, 0x2ffba9e0f37da9e0, 0x7bb75da5600ae434, - 0x000000e206d8ec - }, - { - 0xa3f38b452fd42714, 0x7d466b4da1048860, 0xaf9fd670515880b2, - 0x0000009f0fe8f7 - } - }, - { - { - 0xeb19654f8080714b, 0x319027a4a7a208ac, 0x134fa8df8331864c, - 0x0000002c12b31a - }, - { - 0x653d1c87264cfccc, 0x2104bb08a9c2b80f, 0x18cb10f0a1272b99, - 0x000000a8a8b958 - }, - { - 0xe58148e16206d1ca, 0x746b883e29a6fd9d, 0x4f1269e4502b97c7, - 0x0000009cccfd6a - } - }, - { - { - 0xeec56e7ea03a57f3, 0xd25b143a2a21408e, 0x8d3f88c6534abdb5, - 0x0000000a3c8fb8 - }, - { - 0x80365093ef40c093, 0x3b217a80791e5a14, 0x184ecc41563ae5cc, - 0x00000064554c87 - }, - { - 0xcafc2d7f6f435d01, 0xc9b51929a96d416a, 0xd73d682be79ca2d8, - 0x000000ee60b22e - } - }, - { - { - 0x6275bea701bb192e, 0x3f03e74aee7dbed5, 0x609c3d777b6730a0, - 0x0000004899f647 - }, - { - 0x5fe4885e996bb185, 0x7a30f0874f0b23ed, 0xbf91ffc24d6262a6, - 0x00000068824a4a - }, - { - 0xb33c52f911de3f5d, 0x534e4e7e0cb388cf, 0xd6012d22200dfd3f, - 0x0000000eee3af3 - } - }, - { - { - 0xac49fd6ea948d74d, 0x5278697410703c7b, 0xf70250b72936e38d, - 0x00000083cd83cf - }, - { - 0x408e5352b360e1ab, 0x924e3a14bfc5800e, 0xda76644980e3e309, - 0x000000ab76522b - }, - { - 0x2525110af0ccb6dd, 0xd9aca8e8dc267d4c, 0xe034313cee02dd9d, - 0x000000c722680d - } - }, - { - { - 0x376e8b96f7fdb5d5, 0xa5c66680448252be, 0x86e9d7006be95e05, - 0x0000001667228b - }, - { - 0x9cc859de78c53d89, 0x253fbcab7c0b0571, 0x69d9508bf0a41e81, - 0x000000b0be5b98 - }, - { - 0xe90a61420f643e96, 0xbfe4188cc605d827, 0x4c237e1086cd1a7, - 0x00000096c5a43f - } - }, - { - { - 0x924506c86a4ff5c0, 0xafd323c30661b3e5, 0xd79fe049b937405b, - 0x00000013416d6b - }, - { - 0xdfcc4c3a22602140, 0x2ee80a5decfc6de2, 0x98f332b517e03711, - 0x000000d15deb41 - }, - { - 0xf7003ebbf2373283, 0x722643ece04891d0, 0xb6b183c0b882d88e, - 0x0000000d664ef0 - } - }, - { - { - 0xb9ceab214ae172a4, 0xb615ce85d3df8d72, 0xf277b355f7b17ace, - 0x00000059ded96c - }, - { - 0x917a41960f910379, 0x5e90b65c80b38cec, 0xa7602480273da6a, - 0x000000ceed6b51 - }, - { - 0xc594b1cbe2f8157b, 0xf684e032ea92d500, 0x4bad4bbadc8bec32, - 0x000000ab36c395 - } - }, - { - { - 0xab0c4cd96eb58b92, 0x8b81a7491bfc88d2, 0x22bc5e127f7b389c, - 0x000000338b2349 - }, - { - 0xffb79508a8656af9, 0x61cd1b483adf1510, 0x94541033a5815614, - 0x000000624240cd - }, - { - 0xa1df1e93195e924f, 0xde36f3141347e701, 0xe0770d616847626d, - 0x0000009b837f13 - } - }, - { - { - 0xf4d23bf9dea18497, 0xd268f22203714e04, 0x6c975da6fee66e34, - 0x000000c0dce248 - }, - { - 0x1fae8cb984151ae8, 0x5e8eed32d5076667, 0x5c5fa777dbaf861, - 0x00000076babf62 - }, - { - 0x991d90179baf723b, 0x8c52ff1b691bef43, 0x616edef65958be6c, - 0x000000621d0536 - } - }, - { - { - 0x58e91783d716a81c, 0x504b1776ecf5fc4a, 0xc2dd5bdf96e083c5, - 0x0000006c24a0b5 - }, - { - 0x18253ed8c3c44661, 0xdc18d96d975a8dbe, 0xd22b31caadcc0841, - 0x00000062d73142 - }, - { - 0xdcf64a44b58aa429, 0x539a8c171dbc3b79, 0x3d740fa16f8ad4e2, - 0x000000335ba0e8 - } - }, - { - { - 0x6966e3704da527c2, 0x827a93ff2d24258a, 0x9a6df5c8e8beec1a, - 0x0000009a8814fc - }, - { - 0x368f75509c519a1e, 0x27654ad9ec79a86a, 0x81ed52aad310b99c, - 0x000000ababcbfb - }, - { - 0x694d3d723e00d554, 0xd27a7aa4f485bbff, 0xf0dcfe4f85ded779, - 0x000000655222c9 - } - } - }, - { - { - { - 0x4ba8c0fc9aa410ec, 0xf08015933aad09d6, 0x26d6d516163f8610, - 0x000000e96baea0 - }, - { - 0x3690cb471963d542, 0x1ca625431ad820e2, 0xaf808dde76fd4a17, - 0x000000705c5d1f - }, - { - 0x7b1b935a3b6ade2, 0x331615b3d28d4e6f, 0x1418498ea2e277cc, - 0x000000a606f672 - } - }, - { - { - 0xfbf0d55109e73239, 0xc29b1ca64595f67e, 0xb8d086125d7cc3b5, - 0x0000004a5206e4 - }, - { - 0x27a29774254cc973, 0xcc194c49ee80ea63, 0x8e345df82be83afb, - 0x0000001f073034 - }, - { - 0xef6aec7d249c073b, 0x7f4f09e3683e7acc, 0xdcdcee5048dd6a0c, - 0x000000ecab8b48 - } - }, - { - { - 0xdec2c1e8566128ec, 0x4a8a092dde3ebe8, 0x48b6e2a46401c8e8, - 0x000000356f9292 - }, - { - 0x860143014c54c8f3, 0xd67a066a359c27a6, 0xa3f4f362a7f1f69b, - 0x0000002a3ef1e2 - }, - { - 0x772e50c295499ed6, 0xb6f9ee9170ee7c52, 0xbf7f5ea607e834ea, - 0x000000f0b67665 - } - }, - { - { - 0x11e01e07a4b258ae, 0xf0edba17ea7849ed, 0xe456beaa7465e842, - 0x000000e8a989d6 - }, - { - 0xf8d5df9a99dca8d2, 0x684f8d5ff5d882d5, 0x6631e7bd2594a457, - 0x0000008a6fd5a6 - }, - { - 0x5ef49117d91e51ca, 0x33bbfb405b33f84, 0x694bb7fa1a25124, - 0x000000c5db6c26 - } - }, - { - { - 0x1de8ed83b03029ea, 0xcf2903cb08eb647d, 0xe2bd255525f4cd44, - 0x0000003a165614 - }, - { - 0x9324b8ac61e84954, 0x43b56a3991c85696, 0x6ad8a48029d294e1, - 0x0000009eba6b8b - }, - { - 0x6b6c20834073974c, 0x3beb8e05e75c5072, 0x8ec09414ec41a4c6, - 0x0000008d9ec2ae - } - }, - { - { - 0x6866a50ed95c4bb5, 0x3a5edd4769a6f65b, 0x3360713c1c74d868, - 0x000000d0699de6 - }, - { - 0x21d9463a16c51bff, 0x1670eabf26cb4bba, 0x534d0b9217e4a5ee, - 0x0000001137e374 - }, - { - 0x21bfd2de92a8ab29, 0x7b49ebaf606b33ea, 0xc990b68e8f74fab, - 0x000000f78d25c8 - } - }, - { - { - 0xcc0faef39cc5f622, 0xc5bd851d14ce0652, 0xe53af724d858c3e9, - 0x000000d51a74a2 - }, - { - 0xa78995a20d859520, 0x492e17b88e51ba6d, 0xe5a95e6e25c198c4, - 0x000000f729dae5 - }, - { - 0x934fc340d377c7d4, 0x237b5fca7c08781d, 0x978803010cd1c7a, - 0x0000008ee5615c - } - }, - { - { - 0x9c859bde59fdde51, 0xf20b93404c93436e, 0x318db287b0bf3dc8, - 0x00000005d423df - }, - { - 0x5eaca8352affe08d, 0xc680ab7ad5558837, 0x33308da27931939b, - 0x0000007bcfe1ad - }, - { - 0x93b1d992abb98b23, 0x2e74541872725540, 0x626a65be9bdeefad, - 0x000000f224ec0f - } - }, - { - { - 0xd52e86ada5ffb3a5, 0x98ba3591c75179c8, 0xeb556fc65222449b, - 0x0000007ab39e9c - }, - { - 0xd72d74743d3427e3, 0x60fdd3a0d9b36d1, 0x2b964a7846718ddc, - 0x000000de1575c2 - }, - { - 0x66177d612b246352, 0x67d524107815ad84, 0xb8e4173f8e8d1865, - 0x000000e3053237 - } - }, - { - { - 0x642b2761c7f4127a, 0xf04ed97e35f2423, 0xd872feb6b90de840, - 0x000000f17ed6f5 - }, - { - 0xb526f9ab96fbfdd4, 0xe07f5d184d7ae75b, 0x27e75922c8da9db2, - 0x000000a4927750 - }, - { - 0xc7e04b525f84f1d, 0x260874578b931af5, 0x81b5806c213cd9e4, - 0x0000007f2f12de - } - }, - { - { - 0xed8121bd6a9777ce, 0xf63c74c9d91d439e, 0x1905b957d0738d64, - 0x000000faed7280 - }, - { - 0xcb9562ecafd2eab0, 0x2d96575f14d09609, 0x6c1ec7b74c94703d, - 0x000000f3993a2e - }, - { - 0x6aba466c0e0559dc, 0x6f4d4317c530c3fd, 0x90218c03baec9dc6, - 0x00000061826074 - } - }, - { - { - 0xeb5312cc1a7be350, 0x8b907c4e2ac0de0, 0x3905268ba46b5714, - 0x00000086b80964 - }, - { - 0xb2f4ee3effba4ea5, 0x258a72f7d629028, 0x62c0fa451a25c1df, - 0x00000066508cd4 - }, - { - 0xb01ed09dd68cf7c0, 0x73c3bc8f785f761e, 0x747f6b6696c97351, - 0x0000003b67c1e5 - } - }, - { - { - 0xeb5eabe3817ba1da, 0x824f40020b4a09d6, 0x226a0a842446d029, - 0x0000003ad53d7c - }, - { - 0xf3dc52bc6bbf6a62, 0x8d7b6f6be17bb524, 0xb9533fb91fca637b, - 0x000000f19435dc - }, - { - 0x7a1853c0dac158b1, 0x9c79589abef21386, 0xb58888fb1fdb5271, - 0x00000091e24065 - } - }, - { - { - 0xf5bef5733294df4b, 0x9241366236f6555c, 0xf8cb51fca6cd246f, - 0x00000098322dcd - }, - { - 0xbdb74eb990cac585, 0xa2ccd5021906af87, 0xcc394fa901af56f5, - 0x0000008772b9d1 - }, - { - 0xfa00a3dcf2a09a59, 0x88f56b44d35ceb86, 0x9f93300e58c2e5b1, - 0x00000074527b1e - } - }, - { - { - 0xe7e5b4e8e7f3e767, 0x16ccd8220dd746a8, 0xe7335fd5aa847ae5, - 0x0000005ffc49dd - }, - { - 0xb7f8b8828bcad45, 0x27edb632f7a51568, 0x82d4f25a7249bca3, - 0x00000048e81894 - }, - { - 0xc3276a3de8ebaa17, 0xe7e3ab88d6937726, 0xeefac1dbc1ffffea, - 0x0000005486ed96 - } - } - }, - { - { - { - 0xdd6d9e68d7d4cd93, 0x1da6de3714e16c97, 0x24a246e4769ea441, - 0x000000c48cd242 - }, - { - 0x9b6aeab3736127d2, 0xf7f861b4e6cab9d4, 0x4914cf4a26f5df0d, - 0x000000bd318e07 - }, - { - 0x4ffc793b59b17fd2, 0x309b54e384537cfc, 0x196831aee78e9a88, - 0x000000f4a0222b - } - }, - { - { - 0x6b3d36eb2687c32b, 0x330e4502da2a85d4, 0xb5f643e764892995, - 0x000000defb876f - }, - { - 0x1d13932255692549, 0x15791befcfa9eabc, 0x1500d8e28cd99ea7, - 0x000000b8f0b7ea - }, - { - 0x5d6d1ab8cbc3da3d, 0xdd3a412b38166ca2, 0x934a6dfe6c13add7, - 0x0000004cda73a0 - } - }, - { - { - 0x9f2bde0f689691ce, 0xa1d6930ae0ce3e35, 0xd0e6c2bea27fccc9, - 0x000000d7ecc305 - }, - { - 0xcae9b921df34d13b, 0x9ff1dbc4874480d5, 0xefb2e6b5fa305f3d, - 0x0000009965ff18 - }, - { - 0x72064db8cbbf7243, 0xe2e1fa1def665758, 0xca8f351ccb167e66, - 0x00000099ff2a2c - } - }, - { - { - 0xdb9550461ef6366a, 0xdf51bdc5c7492cd8, 0xb41e0202af98b853, - 0x0000001374dbfd - }, - { - 0x966e9ef03d64cc0f, 0xec378ad5e3eeedcd, 0x236a89771325e36c, - 0x0000000dbbfb13 - }, - { - 0x3ed599ba85731358, 0x9e955ed7714227e3, 0xeeddcdc6d529d43, - 0x000000a95c66a7 - } - }, - { - { - 0x94622b9513b8c614, 0x5843c2c30ea2f210, 0xd6a92a13ff030c78, - 0x00000091d461ac - }, - { - 0x588ea0d762402b4f, 0x426403f7d68d2b64, 0xb54b1ba04813d6b5, - 0x000000e9556f73 - }, - { - 0x46d71ecfa1bbaa29, 0x20923d88ef0819be, 0x485f251d8bcd0339, - 0x0000007a192bd7 - } - }, - { - { - 0xb8681bbeca0a41d7, 0x985c0b2224d2fcc7, 0x6a0a8e165231e795, - 0x000000202f9c71 - }, - { - 0xdb1c15dce7d9d964, 0xf564952be4578a84, 0xf2083869203d6531, - 0x0000001fc8c334 - }, - { - 0x199352fe68a3cdfc, 0xc7ee5c7eb676d3cb, 0x8b1d32cc8b672914, - 0x0000002d422f47 - } - }, - { - { - 0x44b7634bfc4f4c57, 0x1491a2cd41e57ffa, 0x9e1746ea40f5293e, - 0x00000033c98bed - }, - { - 0x6a7e7de5b659422c, 0x93bbe0acbce4f0d, 0x5f8b1c2b7731872f, - 0x00000090bca0b3 - }, - { - 0x57d8b09bff808a8e, 0x5be47defd5c62af1, 0xd8a64a5f6bad23, - 0x00000074363b11 - } - }, - { - { - 0x616026cecf0747e1, 0x28a69213094a4053, 0x607ab0aef34a2c0c, - 0x0000009b5b1fb2 - }, - { - 0x21c3987348b33b5e, 0xfe5ea36325131866, 0x53219bdece0dfee5, - 0x0000004db77272 - }, - { - 0x5d85816b7cfb1104, 0xa567d57d2a2fd059, 0x2b03afd16dd6022b, - 0x0000006e097f16 - } - }, - { - { - 0x19d52e871eb2aa5d, 0x2b578cb383db2961, 0x18bde5ab9a7e271d, - 0x0000004aa15553 - }, - { - 0x81eac54cd0463bb5, 0x6c0c91e78cf23955, 0xef5a9ba3f19a9bfb, - 0x0000005082541f - }, - { - 0xa6d4fb522135670c, 0x9bda8c6c80c523e7, 0xc8d3ff688c1bc124, - 0x000000c6fdeba6 - } - }, - { - { - 0x7ecca57eff022174, 0x366f2bad1ecbb82a, 0xad5270bd35ea6a99, - 0x0000009e73540a - }, - { - 0xb2c2ff84777f7d25, 0x20ece675be9ef4d6, 0x9e394e23b39acb9c, - 0x000000a3b91241 - }, - { - 0x85f9429914c2da94, 0xa900185ce1458292, 0x906d9f1e838d0b23, - 0x00000082a955b3 - } - }, - { - { - 0x832b821c7f087f69, 0x660a14d039bc7e9b, 0x3953df5a259220e1, - 0x00000001394291 - }, - { - 0xcd837a9e47dc760a, 0x85e08ee827e9cefa, 0x234179093a7344d3, - 0x000000ba219d33 - }, - { - 0xa76af9db7b74b357, 0xf9ff214d21aba831, 0x89f9cf6d1464b0d3, - 0x00000032ff637f - } - }, - { - { - 0x46c6cacced364b61, 0x3c355823c0930d3b, 0x247709d4cb1c47b1, - 0x0000006d0bfec8 - }, - { - 0x42554315dd8348ac, 0x943123d3b4a56f62, 0x65756d4be53119bc, - 0x0000000ad984e3 - }, - { - 0x62122c9393de24ed, 0xde5c65f4b3070c13, 0xd8c317a9962ace28, - 0x000000391b66a5 - } - }, - { - { - 0xbb049b768ec12a40, 0x2faac15ef1bb36de, 0x61af6475f723ff89, - 0x0000001ea82022 - }, - { - 0x1b438e281efccc1a, 0x8e73387c0fc15de8, 0x9744b7a6daf3b9f9, - 0x0000008717d592 - }, - { - 0xae6fbf0bc7ddc58c, 0x658ed149d92c2fd7, 0x4dd645966f21fd13, - 0x0000007de0e6eb - } - }, - { - { - 0x33a1ca9c5a4e81a2, 0x4dc3483eec35cb63, 0x8a3a43ac007e94c7, - 0x000000b1ec174e - }, - { - 0xe5e3c2580163469d, 0x405dd96f2e24b47, 0x801f31e9a9cb5043, - 0x000000ff62e288 - }, - { - 0x8f78915afcfd573d, 0xca6500cc7bf29812, 0x41d9ed9ceda180f3, - 0x0000004a5d4068 - } - }, - { - { - 0xe2d13334d6258f8, 0x2d5d79175642afc, 0x3b144d8ddffa787d, - 0x000000721ad80d - }, - { - 0xeb83ff20d5b2f404, 0x52fa62a323b201e2, 0xa38fa19218c5df20, - 0x0000004126a09f - }, - { - 0xd1481a32aa08674c, 0xc84416079c050991, 0x3012e63c903ca33d, - 0x000000b440cd31 - } - } - }, - { - { - { - 0x73188b8b174701c1, 0x9509cf8fc67f99cb, 0xb2b94e4149ebaaa0, - 0x000000419711dc - }, - { - 0x6587659b4f4dd48, 0xb039e92efa8cc0ee, 0x1b7745d6650b730d, - 0x0000006bc682ff - }, - { - 0x19073b9ea8b80d1, 0xc84bd1ca60fa9f3b, 0x4549cc79da48f309, - 0x0000004222e6ec - } - }, - { - { - 0xaa8c472ecb50ed67, 0xfa876d028a4b5355, 0xcbe5952faf6bfa35, - 0x00000098845e93 - }, - { - 0xa747c12c59a48cfa, 0xc1b196c7550c3807, 0xe793bf82f9876a8e, - 0x000000d6e7e184 - }, - { - 0xe8a89b749d3fbb79, 0xbd4e9237c922d07c, 0x209e95355bd010a4, - 0x00000022436a89 - } - }, - { - { - 0xc14c2b1009e7782b, 0x88bd7d497969fbcd, 0x1d5dd6052d39aa2c, - 0x000000ff8ba2e9 - }, - { - 0xee78724d54f92762, 0x8d780cd8361f9b67, 0xf92934f093cd2e01, - 0x0000004ed24ac7 - }, - { - 0x479b11efd9c075eb, 0x93f31fbeb752f768, 0x7c6ffb6f4d204cb4, - 0x0000005a3aa05a - } - }, - { - { - 0x68373d8dd70c1093, 0x8def56659b12d41b, 0x2bcb74cf1a8c58cc, - 0x000000844963bf - }, - { - 0x7e9073bead9b6ba7, 0x8237ea60e9848060, 0x64b980d9f11bf3de, - 0x00000062042d11 - }, - { - 0xbc1c4cf3bafacf32, 0xb3ecbf6349d52007, 0xcb439b97356b5bf9, - 0x000000e1011c44 - } - }, - { - { - 0xb83cbe2b1987e156, 0x3ee53747659760d3, 0x2b8460f52d1fc861, - 0x00000065002c79 - }, - { - 0x29709c9b4e0de441, 0xd8bcd3115688c764, 0x498182437472c6ae, - 0x000000c59a5591 - }, - { - 0xe6b3daef0c1a974, 0x48a253ec5a9c578b, 0x9b499d4f85797d46, - 0x0000008686e8d2 - } - }, - { - { - 0xf1e4997e0debb782, 0xf828afb4645c9eba, 0xb54b4fb40f969028, - 0x00000042e6ef4b - }, - { - 0x909c82b53aedb961, 0x211d5f164bfcdc6a, 0x7ca1186ad7b6a11b, - 0x000000813bc943 - }, - { - 0xd89c577b42c50a11, 0xf6cff99ce6ca83f9, 0x51c093026300f30f, - 0x000000276fd3ac - } - }, - { - { - 0xfedd317acd9a6c1c, 0x241169fb2799a240, 0x30078cc5e81a869a, - 0x000000f38dbeb3 - }, - { - 0x8503543e56c06a78, 0x5c6e1addec79937, 0x667ba8fb57391757, - 0x00000068fd5a4d - }, - { - 0x6d69e0256fc6ade9, 0x1ff239a89cdcfb72, 0x788420057cde2ccb, - 0x0000007adbab39 - } - }, - { - { - 0x2962cdf8552948fc, 0xb5577c1cbc852370, 0xbb406fab075c27e6, - 0x000000972b142e - }, - { - 0x95b9d90a7f6cf015, 0x50ac4c1c368eb1d8, 0xe488405885480c2a, - 0x000000541f40bf - }, - { - 0x29ce21cfa5ae9f95, 0x575090bf295da616, 0xed2be1ecbd72fcdc, - 0x000000eea4d404 - } - }, - { - { - 0x5fc9ab4772045a70, 0xa5282154937ddd98, 0x1a4194a4446e4fce, - 0x000000306e2415 - }, - { - 0x3176ae68e69abb5e, 0x4551dd011ce046fb, 0x9df1e17bbfb4e477, - 0x00000069af64fe - }, - { - 0xc8f3d4069a5bcb73, 0x9c6293a59ff218f3, 0xd81cadc57ba495eb, - 0x0000007ca17d80 - } - }, - { - { - 0x305cba6a2bda5caa, 0xcffbe31e1aea14cd, 0x808b578dc9cae348, - 0x000000b9747e5b - }, - { - 0xa967f93b08a3055c, 0xfc1923218329e0ed, 0x120cb3ac4cfb6d05, - 0x000000b3fae0a3 - }, - { - 0x47404976a41ad5f2, 0xf1821428518294cd, 0x89472944add8af87, - 0x0000001bc453e5 - } - }, - { - { - 0x14c58a8c2c61715c, 0x85a5b8f7c4e97052, 0x5ab5ccb4ec5a24d1, - 0x000000ebdc71a1 - }, - { - 0xccf40af1099934bb, 0xce9f6c1aa987b05f, 0xdfa581f33b1be701, - 0x000000cac0f2e5 - }, - { - 0xf221e53f4bf8cef5, 0x3391952ee9584fc4, 0xed640d3f1d1c8ae6, - 0x0000006b874660 - } - }, - { - { - 0xe7a47e696431e838, 0xff2a378d9f218902, 0xbed45b1ff9475eff, - 0x000000bf2bd046 - }, - { - 0x3e91c2a94a09b9b2, 0x5d3bbf170d66012a, 0x4c93e17b9799ec56, - 0x000000800278a2 - }, - { - 0xf750384d469fe692, 0xce2eb1452a08d5d6, 0x728e4d7e7e4cbfaf, - 0x000000972245b8 - } - }, - { - { - 0x29f68bd5e505804d, 0xb232d9208520b704, 0x63ecfe20e4764e92, - 0x00000090cb089f - }, - { - 0xbdedcce271ed4f17, 0x8ba1a05a7f271adb, 0xdcda51d3922737fd, - 0x0000002f713f12 - }, - { - 0x9b0451636b5c9f33, 0xb88e9343d6fd5949, 0x36f3b6e6322335b9, - 0x000000741a467f - } - }, - { - { - 0x56079a96bfd4705, 0xb0c738630504879f, 0x54edaf9318f7f171, - 0x000000ecb3e886 - }, - { - 0x40d573c5730df1ee, 0x9c1b687e56bd1d3b, 0x2a173966b0726463, - 0x000000fe6cf406 - }, - { - 0x2ae682eba6463e30, 0xe7b8b2785278e917, 0x546c1a58dd26b9f0, - 0x00000054f9bc23 - } - }, - { - { - 0x4954503230662726, 0x704ca153def97b0, 0xdf164ae25b848cfc, - 0x0000000b3c4b7c - }, - { - 0x96e5a1de58db7a67, 0xc6abbd13cf6f32a2, 0xfffde09931d058d8, - 0x000000466f24a6 - }, - { - 0x53907cdfd72916b8, 0x740193c2b65f63c4, 0xcdf8a76eae36c3b8, - 0x000000f14b58ed - } - } - }, - { - { - { - 0xb834091d2b299955, 0xb62f78f1bb110092, 0x3911e6f527145384, - 0x000000373038c1 - }, - { - 0xa85a501c9d0190db, 0x6e0d9f67a6a612bc, 0x93069e260ef8a7cc, - 0x0000004b0eedb9 - }, - { - 0x39ef9d443cea65bf, 0x724d6a712a01aae7, 0xdc8fc8de91963463, - 0x000000f3ca5686 - } - }, - { - { - 0xc027fd9c5e01c546, 0x6082bf66326730d8, 0xae9e59a66acb8b53, - 0x00000083d42e23 - }, - { - 0xe6b1a0d1bacbaa5b, 0xc4986dfcb48e7597, 0xb7d41bfe20ed1bb0, - 0x0000001ec0d0eb - }, - { - 0x485a4dbc15236055, 0x70b572646e615c73, 0xca2c560445059e5a, - 0x000000c4de351b - } - }, - { - { - 0x2d5465d722c8628b, 0x2466fc3f092774b9, 0x81957c364f5157d9, - 0x00000016c29b16 - }, - { - 0x300153102a3e5c35, 0x43d2176ebc682a1e, 0xa15234b3d56fcc65, - 0x000000c0296dd8 - }, - { - 0xc29313d86242e9e9, 0xd0dab52ba20729a6, 0x70e9d75a7e189bd8, - 0x0000007842c46c - } - }, - { - { - 0xd2cbd7d23e98fe57, 0xd50ba43e1aa47ee2, 0xeb4c6b1135785d71, - 0x000000470685f8 - }, - { - 0xa07e5def3b2275ca, 0x3550ddcfa772a838, 0xfde880d667ebb3ec, - 0x00000044e6c555 - }, - { - 0x932b657e4421bfb0, 0x9b9aa0d53b7e17ee, 0xbcc1c1e4a0e2a694, - 0x000000995ebbaf - } - }, - { - { - 0x82105a96d1d22fd, 0x605c554d9e171bc1, 0x78efe248181ad1a8, - 0x00000062938655 - }, - { - 0x80850632b87f193d, 0xf200895c67eeab08, 0x13420a3fe54ebae0, - 0x0000000926e78b - }, - { - 0xb920b4152daa4be3, 0x1427db117d0e7bdb, 0xff6342c95d697f0a, - 0x00000019dcf1e6 - } - }, - { - { - 0x25ed3198a149ce44, 0x98065cb013e80b3a, 0x222aaa18946bc413, - 0x000000771ab8f4 - }, - { - 0x2b7d89a1c6560bc9, 0xde972a6cfa23d05, 0x99b64a20b7298db, - 0x000000fd2dc121 - }, - { - 0x59ce3b04b2f97edc, 0x1ba03f5fef8a5575, 0x633efd57bb10be5d, - 0x0000005eb063eb - } - }, - { - { - 0xa0dcba7c023ab44d, 0xb6321e09e672e30d, 0x98bf377761d4d9ae, - 0x0000003419d687 - }, - { - 0xffb1a4b31e03663e, 0x5df625508e128540, 0xcb98fb54499366a7, - 0x000000660647b0 - }, - { - 0x327cbb94e3e5bf9d, 0x2b5009a1eb9761f2, 0x46d78f121a0592ed, - 0x0000009d3f111c - } - }, - { - { - 0x5c5fda51490aa38a, 0xd19857e5faac7fd0, 0x86b260917a044a8, - 0x00000057c7312d - }, - { - 0x9e91e68dda98e06a, 0x242502a36c4d13e6, 0xfa0349f2c7ecd196, - 0x000000b68fa62c - }, - { - 0xfa45a9aa526c57dc, 0x94d976e369cddb7c, 0x80ea5ce9138893e1, - 0x0000006e969a1a - } - }, - { - { - 0x314631ea33c6af54, 0x2f5f2c911174dea3, 0xf23a95e80dfcb23, - 0x00000045262ae4 - }, - { - 0x4dc715acb8655c4c, 0x686cfeed01ff0c5c, 0x5c157bfe375eaa75, - 0x00000086507f8f - }, - { - 0xfa2f9e5a54577b15, 0x7ef6dbc259688259, 0xcfb1dda080c701bd, - 0x000000eaf62df7 - } - }, - { - { - 0x78c8e6c1f2812d, 0x5f1ef89987b45a40, 0xa1fb093c5a669bd, - 0x00000045c2cdcd - }, - { - 0x3b82e090cbfc61aa, 0xc7acd91251d19162, 0x1712ceae5a45313, - 0x000000ca72c5a5 - }, - { - 0xc303308ce19bf7d6, 0xfd5866bfa65f85f2, 0xf69e77031bc12551, - 0x000000b2afbc4f - } - }, - { - { - 0x1f8382d7edba6759, 0xdb4e4b76eb83446a, 0x8983b907baf7cd36, - 0x0000007964f547 - }, - { - 0xca9ac54fc33e5ef7, 0xf30381c8df295425, 0x5752fcea88690e2c, - 0x0000001bf8501e - }, - { - 0x557d38f0cfb229ae, 0xadc2e14afda79033, 0xb668d0128336263b, - 0x00000058d70182 - } - }, - { - { - 0x1483ec0437bba5fc, 0xa6df47c364a47a39, 0xb9f8b75894b97c3, - 0x000000fdd4fc5e - }, - { - 0x6eeaa07f532d21d2, 0xfdacb4dbdc7f07a1, 0x580aa6f30514f877, - 0x0000003748229e - }, - { - 0xa2c8d4491e7d28fb, 0xbbe7184b1146fe7b, 0xf65b3e6b350da505, - 0x000000254d1d62 - } - }, - { - { - 0xd428370b06d00f81, 0xb0ff88b715d846e4, 0x4bfd584cbd1e5e93, - 0x0000003786bb16 - }, - { - 0x57f41c6002a49aee, 0x6992d762ea1f62c8, 0xa38e92cb8c8327a1, - 0x000000149d9bd7 - }, - { - 0xd78547569f33ecab, 0x827c0270f4d770b7, 0x9eecf275868fddba, - 0x0000001ad41582 - } - }, - { - { - 0x819270ea37a1e2f2, 0xca4e91df725c7e21, 0xeaf875aa1c202840, - 0x000000dc98f02a - }, - { - 0xe6b90d6c1c2470b1, 0x71c06ccf7d34a1d3, 0x2436f6949994c5d, - 0x000000e8645285 - }, - { - 0x67cac66cddfb00ab, 0x3c6898ad0965036c, 0x74e8bb20a125e3ed, - 0x0000003722fbfa - } - }, - { - { - 0xdc48298f7d1b1b7f, 0xfd2493269190701d, 0xf22a030294bda441, - 0x00000093717755 - }, - { - 0xa0e8aba044d2ea9a, 0xf86173c523831fad, 0x4db383ca1d02ea04, - 0x000000ddbaa371 - }, - { - 0x6482105023f61655, 0x4e59fd310dd450b1, 0xe8d6313fbfe175e, - 0x000000ff02180e - } - } - }, - { - { - { - 0x5c19c0eff2176eb8, 0x647658ea21d9115a, 0x37df1251501089b0, - 0x000000ef1cb4aa - }, - { - 0x88b7c9c06cbb1c64, 0x4289357fbd510c6c, 0xc7c81f7aab80c800, - 0x000000df8ec4cc - }, - { - 0x64ab0740affd4c1f, 0x10b2090798703c85, 0x12c91af8fad4a4ce, - 0x000000e9958c86 - } - }, - { - { - 0x30440c0010d05688, 0xb3cdc8485df3b508, 0x8dc03cae436d4861, - 0x00000072d99afe - }, - { - 0x9605fc52391a96ec, 0xedd01035ef34ed79, 0x728340ae6006aea1, - 0x00000054147c2e - }, - { - 0xc1c0d96f7c175a96, 0xadd860a1abf899fd, 0xaf23ff49b8f5855e, - 0x0000001cdf10f5 - } - }, - { - { - 0x6726a4d170bf3cf9, 0x6d09eb28bc9dd629, 0x45c2d95ffc851054, - 0x000000ecced3b5 - }, - { - 0xbfc09c1610e7f980, 0x37f1166b054f05d3, 0x5b473e511f014371, - 0x0000008162e4d1 - }, - { - 0xa5e2f2edee3e7363, 0x1d220f554f9ef0c6, 0xeeede02cbca2f174, - 0x0000003b5a2b5c - } - }, - { - { - 0x47787e4197886bc2, 0xa2bf892a0c170f36, 0xc90565015927706a, - 0x000000e95c71d4 - }, - { - 0x5eec7d47395f4548, 0x23e4414a78180a87, 0x165ee6ba1dc0bcc7, - 0x0000009fe1f2db - }, - { - 0x6604cbab6795c059, 0xb97e44e2f64667b2, 0xe9e0ef9c35d4e4ad, - 0x00000092079ca7 - } - }, - { - { - 0x8271264f06d2cc47, 0x5ca8a721c0a5b0a4, 0xfca59a79f224f4d4, - 0x0000000c9a1480 - }, - { - 0xab0158325a08d785, 0x76698ec292fccbf1, 0xf659adee4ae2a625, - 0x00000039618e0a - }, - { - 0x5ac3157f24d7c0c, 0x99c755cb1b225490, 0x783e46519fed0b35, - 0x000000b64ef631 - } - }, - { - { - 0x648f1e3fe9aa6da9, 0xede66de0c6b11168, 0x231a76ed4a1fb75f, - 0x0000004b538d7a - }, - { - 0x1a9407e8e3839a7f, 0xcc65bc80ca923d23, 0xcf7db509fb57a6f1, - 0x000000a08c1e0d - }, - { - 0xafa2532275013265, 0x3070bf032187735b, 0x48138c707489601, - 0x00000062add336 - } - }, - { - { - 0x2f040d386a78bbb, 0x60f56de431e6998b, 0x6871ec6cec4395fc, - 0x00000072d8e09b - }, - { - 0x32c18591f051f750, 0x8a99c00f2a50213d, 0x2cf2814edc086f33, - 0x00000070dbc9ae - }, - { - 0x119f0a11dcaf1a47, 0x90db36a2ab453fa7, 0x400abc5ed4b83697, - 0x00000017cb08ad - } - }, - { - { - 0x7beee65436758b91, 0xffd9e1678ebfbdf4, 0xf20dc58f2efd0623, - 0x000000bda5ebce - }, - { - 0xd85599ecdd59bdd4, 0x739a6eec0d055e21, 0xba4880e726c5cc0f, - 0x00000018f04428 - }, - { - 0x6a25a5decbe42ac3, 0x26dfd673a9989c2d, 0x209367ccaae0813a, - 0x00000037e31961 - } - }, - { - { - 0x12b709a28391f080, 0x15cb17bc3ccc1a8f, 0xcedc6ce2d33e76d8, - 0x000000f86b47cb - }, - { - 0xd4836c0c37fd032, 0xc1f40bcbd4cee9d5, 0x88f93b00c3478670, - 0x000000cc52c0c1 - }, - { - 0xd0d8134c7a42d987, 0x704b7d2af14ebad7, 0x9b1d67a214739992, - 0x0000001bb54967 - } - }, - { - { - 0xf88ffc0b3ea68806, 0x61637e42f4a4751c, 0xbe6017d2721626d0, - 0x00000057acbe4e - }, - { - 0x4557560abfe64ed6, 0x7e227baabe1ae11, 0xd8a2cdc4220ce079, - 0x000000bf487441 - }, - { - 0xa277179271458a4, 0xf58239f9865a4eef, 0x322468d5026282c2, - 0x000000c2afec0a - } - }, - { - { - 0x3f0b2d53fea2a909, 0x2371c15fe7b80636, 0xd7798912b938ffda, - 0x0000009523ada1 - }, - { - 0x6f4cc03ef2a151b8, 0xc1d671ec703e29e8, 0x6b00fb31b57f4eeb, - 0x0000005f40cf59 - }, - { - 0xa7f6ea44a8ca27f3, 0xe8cdcb7ca100f81d, 0x8b20e6e9d71ef468, - 0x000000692285ca - } - }, - { - { - 0x1035c795cb63486e, 0xadd8a2af16593586, 0x925011d2ee75952e, - 0x000000a72e1dfa - }, - { - 0xa4a6f3db18b46511, 0x1c97b34c1186c140, 0x8243dd4ce6edfcf3, - 0x0000008649d2a5 - }, - { - 0x9b2b5cd36dc80917, 0x557b604c4876f905, 0x7edd0adf77a2009c, - 0x0000008f9d8fe7 - } - }, - { - { - 0x18b6b365d28ec077, 0x56d8a693e662ba84, 0x18ae3f3e3868ee76, - 0x000000de57f896 - }, - { - 0x5d7ae13bbb35d995, 0x7615bf396d1aab54, 0xb10335b3f4f1d67d, - 0x0000002aaa4015 - }, - { - 0x2a154f3ce0af291d, 0x4ce5d396906367cf, 0xf334d05af7fad513, - 0x000000fdc80352 - } - }, - { - { - 0xc6897a38efb040, 0xe4b6ab2ae54bb8a3, 0x72257689d827e69e, - 0x000000416eec38 - }, - { - 0x96392e26d63b0886, 0x73394c21527f610b, 0x58108aea614bd82, - 0x0000004ea152e3 - }, - { - 0x5889f5b0c0b40f04, 0xb2ceef04a6c42bcc, 0x585995375c5610b, - 0x0000003c9f3742 - } - }, - { - { - 0xc3668c3d8b221478, 0xe69dd0ec5155dcfc, 0x895302f0e39ff4f7, - 0x000000a6502c9e - }, - { - 0xd02b5ea514a5f7a0, 0xaa290da8c712154a, 0xbdf625d722590a04, - 0x0000009587b865 - }, - { - 0x9a77f5cfb2627902, 0xd90461de31955c27, 0xe96b3a7cc48ff600, - 0x000000e21c6cc8 - } - } - }, - { - { - { - 0x754b5ac3d51f1d79, 0x385c2397256875aa, 0x8370c9939b0b9d40, - 0x000000fa13c7a5 - }, - { - 0x9a3a5e5c8fa98c22, 0x449e6e4852c03817, 0xcea69aa0646d7f16, - 0x000000715a28a8 - }, - { - 0x8085b37f20e622b4, 0xa264c24092b66008, 0x3ea26d7a5e6d161, - 0x00000018b07d2d - } - }, - { - { - 0xca4754306f4f8a8, 0x7ab4c4691acd20a, 0x104e5e22dda5a854, - 0x00000063ee54cb - }, - { - 0x4b31955a6ac00ef, 0x3674e7234d9f54d1, 0x1f112e785069b16e, - 0x000000217ef86d - }, - { - 0xc50a8fd8a435fd9c, 0x23688f9031513f6c, 0x55a993078c0d1851, - 0x000000d9519bcc - } - }, - { - { - 0xd7891fc3fc8cfb31, 0xd92cbef370599f69, 0x910e2905f4be9ffa, - 0x000000bf91d3f4 - }, - { - 0x5187e76911f065f3, 0x2867851ef687140f, 0xa350da00e9bb007c, - 0x000000540e4d84 - }, - { - 0xf31f601e33ead9f0, 0xcd27db5e2e9d842b, 0xd44719f5f1e34337, - 0x000000c253c3cc - } - }, - { - { - 0xf1296ee618f651fa, 0x8db8e9d953ce51c5, 0x1a0a11572a6c2b98, - 0x00000039e8ef99 - }, - { - 0xef39aaf7a1c72d26, 0xf98acd0ee43d47e, 0xa97757e9a3e21031, - 0x00000084ffd3e9 - }, - { - 0x739a35a4e9d0290, 0xdc9d6ab92244e48f, 0xf37fcc07fb4abc69, - 0x000000fa416def - } - }, - { - { - 0xe56c6376c6711356, 0x762581a23ec380ce, 0x4c24dfd5d6fbeb87, - 0x0000006abaa20b - }, - { - 0x2828fa94167bd1a0, 0x1ee276545ff8c5, 0x4c8b8cf7e7d77f73, - 0x0000009134912f - }, - { - 0xc220887be5c85e70, 0xb37442da2a02a66d, 0x4612adb2cb6a0883, - 0x000000f39ddc4b - } - }, - { - { - 0x3793fd4ab017d114, 0x656efdb631017fc4, 0x67f1e263430d5a58, - 0x000000ca0a9570 - }, - { - 0x6b12939b73676d43, 0x9543434446647873, 0x9609d3a40a9a3d93, - 0x0000007b5e181d - }, - { - 0x17230a10fe97b4c6, 0x303e1d87b0ddf149, 0xf85faeb46260fa8b, - 0x00000012b93da8 - } - }, - { - { - 0x9033c3a6bbe37b72, 0x8b8693410c8aacc5, 0xddbcad9e58b9dacb, - 0x000000b52c6e5f - }, - { - 0x558f41cfa9a584f9, 0xbbf69b58afed34e6, 0x49eb09646f5a9e7b, - 0x00000077a15362 - }, - { - 0xda43e1f8b8a2db60, 0xb4f175ba3de3d08e, 0xa06999af719d13d2, - 0x000000da0c4766 - } - }, - { - { - 0x826b7d91583d20e, 0x67033e58dae08939, 0xed9dd634d92f67f2, - 0x000000e445b37d - }, - { - 0xcef056472d953420, 0x415c8569ac33c572, 0x1d5b647c8c3651a5, - 0x000000e7264702 - }, - { - 0xd909e5f34416052, 0x9d71ea46829c4ecc, 0x44aab607ddd52735, - 0x0000005ad844e7 - } - }, - { - { - 0xdea204736c2cda72, 0xad1fdc50e8d7fc15, 0x364027f9ded0e69c, - 0x000000895ad3c0 - }, - { - 0xa74b772d9b5e36af, 0x4ac9580fbfa962d, 0x99872d3e3bf3d3ec, - 0x0000009acf3ab4 - }, - { - 0x139cfd3f012b8154, 0xe8c78522f9c97951, 0xbedd538d0443362d, - 0x000000c0e73975 - } - }, - { - { - 0x16f5e7321c145e62, 0x9c4db00a9d7ac2ea, 0x693fdc3cb53bff0f, - 0x000000db038c14 - }, - { - 0x47b12b951989ea11, 0x1ae9baeff59f8c52, 0x50e3d786777a92c3, - 0x000000994b156a - }, - { - 0xcefdafdec702aa76, 0x72d4846e82fc1829, 0xfcdf701937e4ea9b, - 0x00000085227447 - } - }, - { - { - 0x268b830d50813ebc, 0xac909d085ad1e981, 0xcd013f77e2a2aab6, - 0x000000634cc7d8 - }, - { - 0xce93f40f16851f4d, 0xff87e63104350df9, 0xb1f77e14607c2e6, - 0x00000084d0de69 - }, - { - 0xf136fdffa7056d19, 0xf85630da3157c8e0, 0xf12f6005c0076d65, - 0x000000e96d505f - } - }, - { - { - 0x64948fcf3f976f43, 0xe8cc7a19751c8978, 0xd1263f28eb58f915, - 0x00000003f17d07 - }, - { - 0xcff56bff31825fb, 0xb26bc1fe6a446649, 0x6b3402e747136d19, - 0x0000007ea4ce5c - }, - { - 0xe095f7ed9a21d4ed, 0xd3a680fc92b8a6e1, 0x7753e7e548ea3b35, - 0x0000006ec97491 - } - }, - { - { - 0xa87b633569b47775, 0x8859db50f8964337, 0x233c00c36cf8e916, - 0x00000003987ef0 - }, - { - 0xeb5a858ccd46dece, 0x982241d4725765a1, 0x4d9f543a22aacb58, - 0x00000084cfb2c2 - }, - { - 0xb2c913e7a964b064, 0x494bce3a1d32eba3, 0x79b446e0d4a3b32c, - 0x000000def67ed8 - } - }, - { - { - 0xf003d90ba9e36656, 0xc4af0d297a1ac845, 0x828da298bbc56ba8, - 0x000000b757e2b6 - }, - { - 0x303a83a8a15608e1, 0x59bcddff8cc53373, 0xe8a75d0083f3617a, - 0x000000ab997791 - }, - { - 0x6bc4e0bd284678ef, 0xc360cbeb83710a1c, 0x45fdbbba04fde672, - 0x00000045df5cc0 - } - }, - { - { - 0x81c0260b389feb7f, 0x28bb99627d540118, 0x8f2a5439b8819277, - 0x000000b727ac49 - }, - { - 0xf97eb7eab48f4993, 0x9c75c8d0e6d5821e, 0x31d757e9b950a80f, - 0x0000006caaa47e - }, - { - 0xe95a3eb6cdcf30a5, 0xeef437bce3583ae7, 0xc254014979a68e8b, - 0x0000005e4e649e - } - } - }, - { - { - { - 0xb31692caf3d9dc4, 0xf75c7ad62d09a40b, 0xb003182de714197c, - 0x000000a26ca444 - }, - { - 0x53d133c2091e86f4, 0x8b6fc78f6814361a, 0xc6ac556c4bd557cd, - 0x00000058c21fe8 - }, - { - 0xe11535c7b8033fea, 0x756c351dc04813cf, 0xe39c3a22c1ee5b3a, - 0x000000e2b4f52a - } - }, - { - { - 0x879d5be1f4d52d4e, 0x5bfabfe88b62d286, 0xb8cb1ea4256bfd1d, - 0x000000a4f23fe0 - }, - { - 0xfad83edd0221df9a, 0xe8c548c25e7d91fb, 0xf45b588771501142, - 0x000000d1892aa8 - }, - { - 0x82f7dab1e72aee68, 0x58d6c4127344e5bd, 0x55be5b2a6d9b9d92, - 0x000000fef9c211 - } - }, - { - { - 0xe056d9f253db3af9, 0xdf031cc661cfe045, 0xc76e93cd6d8aeade, - 0x000000eee9c2b9 - }, - { - 0xb48562eb1f351683, 0x8853639ac9e6e547, 0x75ffdc4bd0e82e70, - 0x00000082c40f96 - }, - { - 0x72dd50c08104af7c, 0x85cece76e28de522, 0x2df05ac4ebd42b70, - 0x00000027a08176 - } - }, - { - { - 0x5a5c7236a48d520, 0x15d626020fafddd1, 0x78364d9b8039d705, - 0x000000151bcb72 - }, - { - 0x269f598d45921d86, 0x60c60916ba373c93, 0xf1ccf325b23dd1c4, - 0x0000002b0d1aad - }, - { - 0x862ae3fb8d7d2dee, 0xf39348994ef4d2f4, 0x9ce880980bc066f, - 0x000000c4936d61 - } - }, - { - { - 0x94dbe3299e9e0992, 0xace2526084f40184, 0x27502ab65f03325, - 0x000000a4b53c71 - }, - { - 0x950b8f32e1106b07, 0x2fbab5fa7c8ea3c1, 0x917fd9ad23b0b48a, - 0x00000027a333dd - }, - { - 0xf1949965992561be, 0x2de0d620eb56b0da, 0x15d37f15aad552e1, - 0x0000007429f70c - } - }, - { - { - 0x350210a5b1124fe, 0xfabcd7834cd6cb7f, 0x42d75712fd50fca7, - 0x000000eff45cdf - }, - { - 0xbb334054b481ec30, 0xf81e7f04fddbe45c, 0x1fe0c4301da71d3a, - 0x000000de4fc51b - }, - { - 0x2e1d81dc191569aa, 0x7bff039751d17f8, 0x9a2f7301cd279c8, - 0x00000094e2324c - } - }, - { - { - 0xb792f47af4da2f2d, 0x8c87a27229179928, 0xa4319d47481d91f3, - 0x000000f4ca99f1 - }, - { - 0x92546d33499233a8, 0x371b7f0bfc1a476a, 0xd42d5bb7dc446d97, - 0x000000509a240c - }, - { - 0x87ff2383a31ef6a0, 0x3018bdfd35d08287, 0x7e823c392d93b062, - 0x000000ac3b9b54 - } - }, - { - { - 0x70fdbcce3de79e3c, 0xe9c6e8c74a8806d4, 0xf7e00be944cfb146, - 0x0000008fcb2af8 - }, - { - 0x45baf1b8cbe38dc3, 0x997e8c49eecb6035, 0xaedf3f990f5d4e64, - 0x000000530f0acd - }, - { - 0x36b863bc43b4b7c, 0x37dfe85020f32ec3, 0xc27e18087e0e1d97, - 0x0000009dc976fb - } - }, - { - { - 0x8618880b96898e9, 0x691f3666de09249e, 0xadbc857c45cc0b7a, - 0x0000004c2fa693 - }, - { - 0x18dcaf180ffbf833, 0xb89f1cecdb4bcc90, 0x34f5de22b9889f77, - 0x0000008d97750f - }, - { - 0x1aba05d5f5d83d7a, 0x9395683a08f1577, 0xb2c9ff1c136b671f, - 0x0000006f0fdf1a - } - }, - { - { - 0x7c06ab3a8550b33, 0x3956011172d3bbf7, 0x5c6ba64f256a1ba1, - 0x000000cd5f4803 - }, - { - 0x8dc0e208782ecc8, 0x2050f3fb765da917, 0x91ad77afecb64d2f, - 0x00000075486808 - }, - { - 0x5bae38e4c57ecc2e, 0x582995850ee59a97, 0x101d18d2709e8388, - 0x00000001f84f6d - } - }, - { - { - 0xb25ba3961fa98ccc, 0x692fb3a6c1c85439, 0xefd06c7a2086ac2e, - 0x000000aba9b118 - }, - { - 0x79a209f4ca7f0fd5, 0xe9f640362939afb3, 0x322b68e3421cabbf, - 0x0000009a2ce0aa - }, - { - 0x67866c2c1961dc71, 0x845ca33f40818758, 0x64f1f41f4b08bb91, - 0x000000e895f6ac - } - }, - { - { - 0xe6dba216e242babc, 0xa75e279715672eb9, 0x9113917f748aa442, - 0x0000002f449830 - }, - { - 0x72affbe6c945cbd, 0x906a93c5f05feda, 0x54c1aadf826ce07b, - 0x0000009e2485e2 - }, - { - 0x4148abf28a62853f, 0x5cd33ef1abcafa54, 0xf56f598d4e206bad, - 0x0000008180c68c - } - }, - { - { - 0x267b39643000b981, 0xad1229ffb2136fde, 0xfa9d2de462f426b0, - 0x0000006a667869 - }, - { - 0x45face8a6e203e01, 0x94aff667b262269d, 0x21de6c6a5ded5111, - 0x000000007305e4 - }, - { - 0x518a774152e57ea6, 0x1b37280c4cd11d1e, 0x9b5e3fd124f5c035, - 0x000000674462da - } - }, - { - { - 0xdf7db2f7f8990655, 0xec109205442f654, 0x321bae7579ed8dd0, - 0x00000018ab19e0 - }, - { - 0x4dac4e45aa7495c5, 0x1775266aaa52daa6, 0xf1d483dc9f9a359c, - 0x000000049444f0 - }, - { - 0xb5af84647ee7ee8c, 0xa063bfdd8fbdf3ff, 0x8d9904704b6b95f0, - 0x000000de54cc0b - } - }, - { - { - 0xdbcee305482ec43b, 0x6b50b3836cf45089, 0xd428fb692260f84a, - 0x000000109a88c6 - }, - { - 0xd99dc9350fdf0aaa, 0x4583201d9ba55dad, 0xe3344af68deb5ffe, - 0x0000000f18d707 - }, - { - 0x1d71945f54d45a25, 0x43c48e4d1576ee28, 0x642612592f5f01d1, - 0x000000f2c8a10b - } - } - }, - { - { - { - 0xccbf6da501439343, 0x48fc3ea185549083, 0x9944e1d84c972765, - 0x00000049abdadd - }, - { - 0xdff350f97a77f75e, 0xeb16c3f0ebe1db8f, 0x5ede38e1eb944b2f, - 0x000000267baf57 - }, - { - 0xc4111f6fad98f8b, 0x6c69dc78f9bccbe0, 0x987a88f46776c5c2, - 0x00000016f15e2f - } - }, - { - { - 0xf58bf7bc8ea14102, 0x6bb94808374bd951, 0x26e1d1da45345daa, - 0x0000005c5835cb - }, - { - 0xa246a2dff35cb2cd, 0x41aa10ca59d99b72, 0x21a68ff2e0d5d4d, - 0x000000582d2f75 - }, - { - 0xfc348b1906890363, 0x97cd9f09a056bff7, 0x7415e07a144cd00e, - 0x000000c2361671 - } - }, - { - { - 0xcab095f735cc6d46, 0x7e1c3404a268b0ac, 0xe1babd027eab51f8, - 0x0000003268ce08 - }, - { - 0x4d7f3adf5cadbb1a, 0xf4d21d9f967a11b3, 0xf7021cb8d4c13e55, - 0x000000c0286303 - }, - { - 0xe691e621b90c646a, 0xe6e6645ae8c5556a, 0xc3c91a864a6409d9, - 0x000000927d6b04 - } - }, - { - { - 0xf38b303065c33e80, 0xc1d9bf9884659f6, 0xc2f4058cff2e9290, - 0x0000005f15b516 - }, - { - 0xd13fedc0c0043a70, 0x59c0f99593da8fa2, 0x9fd4ee1f05703d9c, - 0x00000052e45045 - }, - { - 0x4a76fefc5fad1e56, 0x42aceab5070b3d1f, 0x64075a82748b0ac7, - 0x000000254de8be - } - }, - { - { - 0xd1af77c46e9729a7, 0x6883f48e18dc6a96, 0x8194a82d699b8fea, - 0x0000006cff699b - }, - { - 0x5c657229b280cea4, 0x5519a00de63438a2, 0xdec05db583f672c3, - 0x0000003a595ef4 - }, - { - 0xa02193544b49ffe9, 0xa37e93a0fcc05d13, 0xe82ebe2d5f52f307, - 0x0000003cbefb60 - } - }, - { - { - 0x37a39c08ffd29719, 0x68d5b40be0fb13b0, 0xc789852a830cfec1, - 0x000000c05e0000 - }, - { - 0x72bf019db7af284f, 0x36d19a4acc5f7470, 0x4cb5e5f5f010886c, - 0x00000053b82264 - }, - { - 0x50f0737c1ead587d, 0x82a737c366ae7208, 0xdb2ba56cc311b6d1, - 0x000000e6309fa4 - } - }, - { - { - 0xc970b96ee11477df, 0x12eac6efdfc07f2e, 0x591ff32b0f25f4f, - 0x00000096eac9b7 - }, - { - 0xf6648ad74aec258c, 0xd4d7aa275eaa81e4, 0x96fd6a2fe94c8487, - 0x000000fe64955e - }, - { - 0xa589755b6aff04ff, 0x3c53739b1e1ca99f, 0x31769e3191006f0, - 0x0000006951f079 - } - }, - { - { - 0x17fd736534ed3ec, 0x25745f926760788b, 0x735332777682934, - 0x0000007083fecd - }, - { - 0x174fb36c00737b68, 0xbe930a94bd1310e3, 0x1ff53779101904c2, - 0x0000008d05ade2 - }, - { - 0x29a6dda5a6f1051a, 0x35022564bd275d18, 0xc94fa7e34091c5f3, - 0x000000dee37187 - } - }, - { - { - 0xcfffd39c2cd879f4, 0x41a6f24fc2b50ada, 0x9028470bdc110854, - 0x0000007f11c7d6 - }, - { - 0x3080a229143e222a, 0xe6efbedacdd260ce, 0x9b753cada00ceff4, - 0x000000e4cbf479 - }, - { - 0x3ef3e12b69131060, 0xc54a9cfe885e847c, 0xab9a6570d73f8bff, - 0x000000ff1ae268 - } - }, - { - { - 0xc42949201f890f87, 0x8d129c9e9ed92561, 0x814000455e4c2649, - 0x000000a87fbd34 - }, - { - 0xf16beb3e3055610e, 0x3b4dea616b2aee8c, 0xec0e78b86c75b9fa, - 0x00000020f1a5f8 - }, - { - 0xfe733cab347701c, 0xcecc0c9fc69870db, 0xb564921da58c209d, - 0x000000306151f1 - } - }, - { - { - 0x2ba55df79ba18fe7, 0xa36569b161805ddd, 0x70d17a5386071a73, - 0x000000f1bf7575 - }, - { - 0xe52c191107f0e39d, 0xdb9124afff1ae2da, 0x99ff08c9b0d43a12, - 0x000000643eca29 - }, - { - 0x1c49ae7ac94e4ec3, 0x6465ff05ac3b3d4c, 0x3f3789878b416697, - 0x000000264a5067 - } - }, - { - { - 0xc5206148213c406b, 0x3e1767b24ab8cfc9, 0x1582313a56159ae5, - 0x000000121e39ef - }, - { - 0x217b6f5a7f4af73a, 0xad84a4486fb596ec, 0x98aa59ab93f0b878, - 0x0000002c37385f - }, - { - 0x6b6182301023e60b, 0xec27419fb740fb28, 0x4d727a26985f08f7, - 0x000000c06493a5 - } - }, - { - { - 0xd14d74b73398e214, 0xe0fbc718c688114a, 0xfba49ac442c37c78, - 0x000000f378292d - }, - { - 0x44de84fde19c7ad2, 0x4f359963e3bc5394, 0xdd0e74987dccae2, - 0x000000e07a997c - }, - { - 0xad56e656604e4bc0, 0x321739d4506d23c4, 0xcfbca4cbab91d2bf, - 0x0000001e117aff - } - }, - { - { - 0xa3cb61b077774aaf, 0xf550b3a6c8fa52bd, 0x31c6166048c32d1, - 0x0000002c43f974 - }, - { - 0xa257e475690859ec, 0x668e24c91db565b9, 0x38def52049e4c3dc, - 0x000000caf9f134 - }, - { - 0x75b6c5c480b7e3c8, 0x4e7164da801a1083, 0xdf946eff10f2c6be, - 0x000000a6973b04 - } - }, - { - { - 0xb790e92d8de286aa, 0x788eecd05e54f9b9, 0xa51ff3f51df008f8, - 0x0000001a62676c - }, - { - 0xe6f89880cd9065bc, 0xfaa1aa7912dbc63c, 0x4c388b686867eb67, - 0x00000021986f40 - }, - { - 0xc3af1727e11ad8df, 0x2d6df75cc5a99e00, 0xfba903c1b0f09edc, - 0x000000ed6b8c13 - } - } - }, - { - { - { - 0xc8610b4b33882804, 0xc2418976ec456906, 0x24fdfd4ced136685, - 0x000000d6f6db17 - }, - { - 0xfbe86bb30b366461, 0x575a168c39b5eb6e, 0xfc6e67b8ebd4abb9, - 0x000000ab4854a0 - }, - { - 0xecb298f9402829c6, 0x6565c39ac5f0d0d1, 0x315d20186b2d1c82, - 0x000000da1a83a9 - } - }, - { - { - 0x51f8e6b7324de25c, 0xb0a00333963e3057, 0xf02ec55a7b8d1a9d, - 0x0000007e7d9e7c - }, - { - 0x23641541685e7b46, 0x968c5f10d3ce4170, 0x1453811f13089651, - 0x000000dc3e834d - }, - { - 0xe8dc30863f2df580, 0xcdd65a8e1580af4f, 0x39c307f580a613e8, - 0x0000008380f6a7 - } - }, - { - { - 0x51cafa47ee81ec4e, 0x9973fac053fff9bc, 0xe032eb105d856dd8, - 0x00000034b30d47 - }, - { - 0xc40e87a634e1d736, 0x32cad352282504e4, 0xd38900d16a0999c2, - 0x0000006350a7ca - }, - { - 0x970479d2017fb651, 0xbfebb3381df983ce, 0x1e41ccd997ccb5b1, - 0x0000003054409c - } - }, - { - { - 0x8c561763350c012a, 0x412253a1a4468612, 0xd2840cc53a7b099f, - 0x000000997b0815 - }, - { - 0x54286b1c6d238136, 0x38c106d012db95c9, 0x6440dc3a3a8ee820, - 0x000000cddd1139 - }, - { - 0xf6a3f27a5a54da26, 0xac2be82a2653bbd5, 0xe5e385e90c06af52, - 0x0000007460df70 - } - }, - { - { - 0xcf2a3f904e14d214, 0x44212860e3c1055d, 0xe139ab7c9df9e587, - 0x000000b5868aae - }, - { - 0x233b245a81249afc, 0x249a3d43d6050dee, 0x5e7f8e96a86397a1, - 0x0000006001632c - }, - { - 0x34092c220078fa8d, 0x13105e8571761de9, 0x75d3d62f530885fc, - 0x00000062a7d52e - } - }, - { - { - 0x39f19529f4f5d5bd, 0xbfff3ca6e2cf068d, 0xec301b432ddad778, - 0x000000708874af - }, - { - 0xcbf75cb81c97952b, 0x703377a575ddc321, 0xb0874e7e0e2dc7e9, - 0x00000017368e5f - }, - { - 0x4cf571be8651db11, 0xef5cba44b5aa047d, 0x8dc925b797772a89, - 0x0000002b414f9d - } - }, - { - { - 0xf0fcafea8af36ca, 0xa1caaf3c78f06a2c, 0x939f875815379f42, - 0x0000000054d93d - }, - { - 0xe044c701095025d5, 0x8fe8e1c3a6c2e70f, 0xcb2ed2b2c968d1bf, - 0x0000002d8d21a7 - }, - { - 0x2dc5ca875fecf9a6, 0xf843e18ab78b1f78, 0x98bbe23426266208, - 0x0000000baf3b28 - } - }, - { - { - 0xcf7eb31b81a6cd98, 0x1a7d193467141025, 0xd28f48dc71204910, - 0x000000ff609b0a - }, - { - 0x67cff401ddba1162, 0x8afa6ebfedc6e765, 0x20e1d8524ab8b730, - 0x000000372d0440 - }, - { - 0x5401149ddaf552dd, 0x1f5f69b877725516, 0x7f7ba7e3e9b3b0fe, - 0x0000005fd345f1 - } - }, - { - { - 0x2199bae18755be8a, 0x9e49dcb7c5a04d57, 0x6aecac4a7c940850, - 0x000000172de000 - }, - { - 0x1fac982f4b211d9f, 0x34ce0162b4638cf7, 0x5988ef7a5b7dc25e, - 0x0000001eae7a3a - }, - { - 0x60b4a47080e1dd9a, 0x2d13a139742cf191, 0x90a1ba8cc06b582d, - 0x000000420ec35d - } - }, - { - { - 0x4502a0bb8b7cb957, 0xbda406f9ce506f3c, 0x990b11028202efe4, - 0x0000004b77cbb8 - }, - { - 0x452338276f50812, 0x58777795e68b3055, 0x352e5d0bc8c8b25b, - 0x000000015e6edb - }, - { - 0xd9d04ea9d40d6bf, 0x8ee7cd9b1b3b63, 0xb376da705dfe5411, - 0x0000000fcf686c - } - }, - { - { - 0x906deea5ab41a807, 0x9264a21b0097ff66, 0xa2230db0ec8190d4, - 0x000000e31cccea - }, - { - 0x19d007b9f30425ef, 0x73eb6713cd66d4e5, 0xb75912d33e1b92bb, - 0x0000007c436707 - }, - { - 0xb7f02a4c13095c2f, 0x90b6b03f70b973d0, 0xdaf96aa36a2c4763, - 0x0000003105e4dd - } - }, - { - { - 0xa864bac26ddc3834, 0xfa173f122ed04eb3, 0x1e40836309a45f2b, - 0x00000057eaf5a4 - }, - { - 0x1c9659999779bae5, 0xd94f213316bb0008, 0x87cee36da1afbe49, - 0x0000009d536831 - }, - { - 0xbbfab6cab7d67ddf, 0x3268ec4881aa5641, 0x969bd556efe9ab24, - 0x00000032a374ae - } - }, - { - { - 0x864a02541ec187c6, 0xe65c9c281b1a4d0b, 0x51414e80ab0aa247, - 0x000000faa365a9 - }, - { - 0xfa113766ce2b24ef, 0xd24c237ac416672e, 0x582966c98f34226f, - 0x00000049cf80bd - }, - { - 0x2ccfcc7e3dbb814d, 0xd79bd8082b0949c6, 0x8e316f032d9bb982, - 0x0000007577843d - } - }, - { - { - 0xa6a15874b32d4957, 0xb17488f5d19f599f, 0x1dc4ccb091141f70, - 0x00000041c0666e - }, - { - 0x450f7def2ef068cf, 0xbea56d15f14702c7, 0x567c2d011b561b0b, - 0x00000060c6888a - }, - { - 0x2af7a5880f8fb517, 0xcf30d2f0d9739906, 0xfe6945d81a50321, - 0x00000077b29505 - } - }, - { - { - 0xd4dad00127927592, 0x6c6d8d9d1ccda279, 0x3b4a214c0acb506b, - 0x000000930e8fd4 - }, - { - 0xee600ede9df29ad8, 0xb77f5f97b049e8ca, 0xf5c3b2e18f5d38be, - 0x0000004c6b1234 - }, - { - 0xe71897e0ea4bc3ec, 0xe6a439ea1eaf5402, 0x3b05bad79079571c, - 0x000000a2068b92 - } - } - }, - { - { - { - 0x7cb37d25895beede, 0x2b35025b80900c1c, 0x6d8b05a1f37dcdbe, - 0x0000006f07de13 - }, - { - 0xe1298b1dede526e4, 0xc80007da35b64a88, 0xc4dbe6fbbfd0a917, - 0x000000a62a506a - }, - { - 0x267df6609d57be0, 0x91b1504b4c305b46, 0x61187e0f4de8975a, - 0x000000b5ab5dbf - } - }, - { - { - 0xbdf32f15c4d8e453, 0x40acc8353bbac917, 0xbe8a620f1774afea, - 0x000000a2836e44 - }, - { - 0x60efae92df981547, 0xd7f25e2e9c537545, 0x29e5391b44b55b18, - 0x000000c792b787 - }, - { - 0x9a4921abaa8ff43b, 0x61b3a1fc14fcb9b3, 0xb51c694a72aeb7ae, - 0x000000e232645e - } - }, - { - { - 0xdd36bdf75138e094, 0xc683e5126559a2f4, 0x2778a59d49775289, - 0x000000df43411d - }, - { - 0x7107af061b7017e7, 0x298d4a49448ddf31, 0x30847207c7b7226d, - 0x000000c0e51c63 - }, - { - 0x570948da1b16b7b0, 0xc631c809a5a26961, 0x36aeeaa68655d56b, - 0x0000000e742ff4 - } - }, - { - { - 0xf39ef31a430b530e, 0x4362a1f8e883b310, 0x91f20227790a9004, - 0x000000b58c52f8 - }, - { - 0xe6660defa702e999, 0xf4c1259e90c4603a, 0xc63326650ad2c1d6, - 0x0000002d031daa - }, - { - 0x92bb652a878847e4, 0xf283fd61bba31f95, 0x4b025da607adf8bf, - 0x0000007269638f - } - }, - { - { - 0x466a6de478dd55c6, 0xee3d6626ab158058, 0x81111fe737000e7e, - 0x0000001af2313f - }, - { - 0xb3332bbc515b2bd6, 0x3e63066a3698f145, 0xd4ee54a8356ceadd, - 0x0000007533428a - }, - { - 0x52282d7dd71f1c30, 0xdbdb420d1b49beb3, 0xd402b070261d251a, - 0x000000c707dd08 - } - }, - { - { - 0x23fd94fe7a722d12, 0xeb44f33c38bccd99, 0x7b6048d833364c12, - 0x000000902a3909 - }, - { - 0xa4a775ce966ddf69, 0x78fed74d2688e936, 0xcc42c98744c82253, - 0x0000005f9ba60f - }, - { - 0xe629e57c686946c7, 0x78b2fa08df49981c, 0xa3776795616537e8, - 0x0000002603826d - } - }, - { - { - 0x27da5272795a2fcb, 0x3d6a4127d9c45590, 0xcbd0884fcd5ca755, - 0x000000f1e9896e - }, - { - 0x5346c8d8db849a9d, 0xcec4aea9b0f93cd0, 0x7c5de8ccd6f5fb9b, - 0x0000004086630f - }, - { - 0x5c5b40a77bfe0c98, 0xe678560c1fa8bce3, 0xf02689dae8ba3527, - 0x000000f6bd3b4d - } - }, - { - { - 0x76c7f60957f2159a, 0xceada55a8808c754, 0x5a4379aa040293d7, - 0x000000b4ec188b - }, - { - 0x918776cb0e04f29f, 0xabc95bf1b077bfb3, 0x73d285429815b18c, - 0x0000008c16859d - }, - { - 0x958b6945e282c5de, 0xbbfe87f1a29cc2db, 0xae78fc0ca1910120, - 0x00000001bd276b - } - }, - { - { - 0x6a6bb8f6dc58cd35, 0xafb871c33ca4b8c0, 0x3dd9d3cc6bc72bd2, - 0x00000018a4a6e2 - }, - { - 0x3c161f86e0e9ce58, 0x1ec47a2598c99bb3, 0x2826026f5ae86e88, - 0x0000004986da2c - }, - { - 0x1f550ef50da6ee02, 0x77eb4bdcbf5819ee, 0xa5d914a4f4f46d8, - 0x000000e79f9071 - } - }, - { - { - 0xa45c39ac4a3dc1ed, 0xaff9060da1b53baa, 0x56a2a371dae9ac74, - 0x000000f7a92d87 - }, - { - 0xa3dd2a88a14d22bf, 0x72dae6d82af2f378, 0x77f8d58361471d89, - 0x000000d7e94ea4 - }, - { - 0xaa564e4b093eec86, 0xd89dc47d23daf1d3, 0x94a9253bb4f0141d, - 0x0000007c1a535a - } - }, - { - { - 0xe8d6b11a64566a6d, 0xeee0ba143cc7f67a, 0xcaa9f94cce6aa79f, - 0x000000d3d632cd - }, - { - 0x1369d3725a75e79a, 0x9dc17337af8fb321, 0x37ac3f60dc3b9fa2, - 0x0000001ebe391d - }, - { - 0x8f05e3f0f8311fc9, 0x179561096b26fba, 0xe5feb3fbdf11f86d, - 0x000000a773abc2 - } - }, - { - { - 0xc1cde85ed82b5293, 0x2d3ab1645feb119d, 0x26de04f992ae372, - 0x00000064fe977c - }, - { - 0xf5465ac5c2d64e79, 0x805f673e8e035af1, 0x1572b22cbf1c9dcd, - 0x000000bb7c1f39 - }, - { - 0xe43221d6a715176e, 0xcca397b273361ad2, 0x69312b57cf62b4dd, - 0x0000009f182982 - } - }, - { - { - 0x7bc464c9c9da3f97, 0x6a2b36e03db07f45, 0xb1a9066f0dc0a786, - 0x0000008e5992f3 - }, - { - 0xb6b3d3a4619e81e, 0xfef7d11fc17e9621, 0x4ec6755be23f49dc, - 0x0000009b3d621a - }, - { - 0x5f17fe002ab22716, 0x4e349c7e393a90f9, 0x395c3f2b875f1ac9, - 0x00000016ba1155 - } - }, - { - { - 0xbe45254272be70c0, 0x28eb58eb6601fe69, 0x87427abc727b5415, - 0x0000006faacf26 - }, - { - 0x9bc5ca972a60b995, 0x5a207c86f9f41186, 0x28b8dcd26f5423c9, - 0x000000ffeaf2df - }, - { - 0xa981b2fefd1883d0, 0xf4e9b6600c5a19c9, 0xe72b2bac70860000, - 0x000000a23ae440 - } - }, - { - { - 0x416327c46471bed4, 0xc86619629188178b, 0xe06291452f67f288, - 0x0000004f97da07 - }, - { - 0x40010c5453116f48, 0x8e69e48f39acd3ac, 0x2987a25ab51a9886, - 0x00000021511e0f - }, - { - 0x3677c0e640541805, 0x7545599e9faba80b, 0xfc4e27fdc58b19e2, - 0x00000056ef04a3 - } - } - }, - { - { - { - 0xd94dbd27f367b014, 0x44572d4950332e09, 0x272039f308e9311c, - 0x00000043a330d0 - }, - { - 0xcf7992b13500104f, 0x3cef43dbfb17be49, 0x58ba668d544fbc60, - 0x00000012e599df - }, - { - 0x6589daf4ebf098e6, 0x1291662b9648e7fd, 0x89e372d6df36657, - 0x00000082588a96 - } - }, - { - { - 0x9ed6ba44be21095c, 0xea5135130f98f8e2, 0x3b05b3755a463ec3, - 0x0000002686809a - }, - { - 0x5975614e45337cfb, 0xd627b3843e01269a, 0x6492b21e39ae62bf, - 0x000000bff0535f - }, - { - 0xdc733c7e7c6717ae, 0x24f42c568202a12c, 0x671be66b931469ed, - 0x00000097eaee8c - } - }, - { - { - 0xad3f031b5c8a20f3, 0x4b20db1b694f57ff, 0xe83f1709d96b399d, - 0x000000079172c5 - }, - { - 0x4cecd886c46cbed1, 0x2cea9883234adf46, 0xbbfd74c72b883110, - 0x0000003e623457 - }, - { - 0xe26b20dcc2fae083, 0xc9c9f275cd4fb93a, 0x3fd66b10904431bc, - 0x0000007e72a053 - } - }, - { - { - 0x11c862277a18e849, 0xfc7abedc5746e014, 0x31c553264f7861bf, - 0x000000fac64555 - }, - { - 0x359a35f1f93eda2e, 0x73c8c96d8f12d5ce, 0xe06866c4665caab4, - 0x000000daf9f5c2 - }, - { - 0xebb3fa35e0a57ef0, 0x34956000d909cb74, 0x817916e54ed94aa7, - 0x0000003e047c7f - } - }, - { - { - 0x60769a7c217fef21, 0x7617bea071a8e79f, 0xe0439cf6487cbcf1, - 0x000000908e54f1 - }, - { - 0xc5b1b8833e93e8bb, 0x4e3b3ebb4bf3bae2, 0x16e741cc800aac07, - 0x0000009239a2b5 - }, - { - 0xd40bc5ac3788c07f, 0x36ebb236a887e6e8, 0xec34143f4bd91f4b, - 0x000000255220d1 - } - }, - { - { - 0x4dd7b939e363079d, 0x266c00e2e7ce07a0, 0x96160b6e06ff4917, - 0x000000b324ee26 - }, - { - 0xad426acef3e53a39, 0x2e471facf114e1a6, 0x56be3bf1a5aaa00, - 0x0000000549c96f - }, - { - 0xb7233c5f92b086e2, 0xee9a747d2b3c9e00, 0xba20e9f9fa045fd9, - 0x00000072982fa4 - } - }, - { - { - 0x7fa371d6602a9921, 0x58f10e103fb5dfee, 0xf1d5dd20369518da, - 0x000000f9804a09 - }, - { - 0x1cd29ffb9b33b13f, 0xb5b58896457dd3f3, 0xf1ac5dc101f5048e, - 0x000000091368ef - }, - { - 0xaa22040c4f0f62f4, 0x3ee9a7f85c102367, 0x15e203503ea954c6, - 0x0000003d80a9b3 - } - }, - { - { - 0xfc380fb1ad85973b, 0xaf5b49c75bd06547, 0x97a04370caa4afcc, - 0x0000005232ee8c - }, - { - 0xfb1a3379fd2415d2, 0x80cfa93a0a63e920, 0x28bf7454d54b5ebb, - 0x000000ca02a1f2 - }, - { - 0x92aa639a52e4623f, 0x126022a3d83fd940, 0xe10078ab8a6f01ad, - 0x0000005f6cebe8 - } - }, - { - { - 0x202ba6a00074d875, 0x81a51d13731b3268, 0x7c88873a910ac0df, - 0x0000009cbe0dd9 - }, - { - 0x5b46c8070b9c1c93, 0x8bc4f66d79cf7f8e, 0x7cf1484e1563b90d, - 0x000000b61b0c7f - }, - { - 0xf69fca7a4d68f9a1, 0x334bf4b359425354, 0x200562d9d101124d, - 0x000000fc329df9 - } - }, - { - { - 0x5a69dad7126c2be4, 0x59de30539fe851cb, 0x5eb12890ad90c447, - 0x00000052fbb50c - }, - { - 0xbed25b3dd33afcb8, 0xae95c02113cad92b, 0xee01ff1c8342ade5, - 0x000000fa82789f - }, - { - 0xa7624eb2557f0919, 0x6da2ac877da98cc, 0x9cc57bf8705fc436, - 0x0000004f4e360f - } - }, - { - { - 0x3e3769a03ff286c6, 0x9a0739d3656df819, 0xb0dce643e5b118a7, - 0x000000f06e3902 - }, - { - 0x107edf3470898724, 0xd480ff89d2572864, 0xc0302bcd62996942, - 0x000000ad8a5468 - }, - { - 0x4dd3e9531df07a1, 0xb9c5047f0efb2b68, 0xaf4a0d9c75d4cbbb, - 0x00000001f83bc0 - } - }, - { - { - 0x6213d72528ea661f, 0x85d64eecfee79499, 0x4ee7d419b165ef59, - 0x00000035c22073 - }, - { - 0xc594143a059d76e, 0x4acbdf88a2211f60, 0x3dc2a00b4024403e, - 0x000000cdd2cdf3 - }, - { - 0x1fb2ff5ff5ec2d29, 0x4eed317595630b6d, 0x6976d3a0aaa28460, - 0x000000b6de5c2d - } - }, - { - { - 0xd6ade2e9ae8bfa91, 0x811affef3f263c29, 0x2748dc7acf9e7c15, - 0x000000d08d1438 - }, - { - 0x7e4c97ec73eaecd7, 0x7af836e8b8450dc2, 0x4946b166ff5a3570, - 0x0000002315c93e - }, - { - 0x2b3b62fb7931c972, 0x857b1a3dcf10ade6, 0x76e79c490dd71fe0, - 0x0000007395865a - } - }, - { - { - 0x27e7e192b8ecb7df, 0x95d159d5e72e9e5b, 0xa9611be41d326838, - 0x0000007bee40e8 - }, - { - 0xf8cac5872e12fdc4, 0xafd8192adf76a2b7, 0xdb5393392c6ca62d, - 0x00000066b2bf87 - }, - { - 0x4a41b9ac4d25abaf, 0x5c1b5ddae50c5b55, 0x1ab7e4a393144e91, - 0x000000b90af3c4 - } - }, - { - { - 0x20c5b131ff0b9fc7, 0xcf6e4023eebe02b5, 0xd5a7e8f47a053d68, - 0x000000e1cf8b98 - }, - { - 0xe15fe7053b32cb5d, 0xb0ce3a173858c3aa, 0x933659806acf1ab2, - 0x000000f488b24e - }, - { - 0x44bd3cbac4b967ce, 0x599dc9093ac89858, 0xe82df3210c483429, - 0x000000cba5e4c0 - } - } - }, - { - { - { - 0xfea7b66ec38e75d6, 0x72baa4067d1e1d68, 0x5e4b3ec48c2c5e55, - 0x00000057176e43 - }, - { - 0x27025a4c6082a3f7, 0x3a273c8f2c78f0d, 0x50e8160d817ecd47, - 0x000000026308af - }, - { - 0xd0ca438f34e5c47a, 0xcf1e710b7d0cbb0c, 0xbfee70dc8bdc73cf, - 0x00000085d504bc - } - }, - { - { - 0xd9caf5655eb86ca, 0xd038300abdea9a9d, 0x2782891189a61ceb, - 0x0000002dcfee12 - }, - { - 0xc0c47a939bfcb9fd, 0x927b79b22b72effe, 0x958807d410206c50, - 0x000000f518f46e - }, - { - 0xaf9d2af1012980f1, 0x6e4dfc2f95d61a38, 0x595d708fab3ef6f9, - 0x0000003b2aaab3 - } - }, - { - { - 0x3bdf5bdaa281eb38, 0x7d0e7b4e1dd7b13c, 0x1ceece663b378a2f, - 0x000000184b1749 - }, - { - 0x5a143630377106d9, 0xc3958a6b2edc7c84, 0x82f394c4293f2887, - 0x000000bd2aa5d8 - }, - { - 0xc7303ac635d88254, 0x8190979ac9606549, 0xad3597cfbb308dbe, - 0x0000007b276075 - } - }, - { - { - 0x24846ee7936bc76b, 0x62918b1f89ac597b, 0x69c0fe404fef1b9b, - 0x000000e424f8a0 - }, - { - 0x46aad42d9241702c, 0xc9898d5100d63e0a, 0xf912973d742b33d, - 0x000000b681af83 - }, - { - 0xe97405148df6bea5, 0x634bb8a4bd06702c, 0x9b940553f88422b2, - 0x000000cc5564d2 - } - }, - { - { - 0xcb7bb9f44b59e920, 0xe008c3f9ce36be1c, 0x87382a59e60382d4, - 0x000000933c7886 - }, - { - 0xf4a7afb4fc90bab4, 0x5913b289315d0c52, 0xeb8ea97666cde858, - 0x000000baf74b41 - }, - { - 0xb4bae389c95bf662, 0x6f4f4c0975358ec0, 0xea94acdefce9ba1f, - 0x0000006346ca25 - } - }, - { - { - 0x151b78fd6c525c86, 0x660dc6fd4deaf82f, 0xa8d5efd8dc7e9a01, - 0x000000cef8d19b - }, - { - 0x959d0fd8e691c238, 0x3a326c8c29406d61, 0x6fb95d9280bcf01c, - 0x0000003b07d51a - }, - { - 0x8c408f735d374e1c, 0x332148e778b8bf64, 0xa5873565001fb236, - 0x0000005e744a28 - } - }, - { - { - 0x70a1819cd82a6cc, 0x8404fbcb8ff250b2, 0xce48b1b7c2a056b3, - 0x0000007c50fc49 - }, - { - 0x6dc3612e6600d454, 0x24b6730036f9d279, 0xcac9828439e656c2, - 0x000000a39976b7 - }, - { - 0xab901a914d86a2ea, 0xe200a0c90cb0b9a7, 0x2b65e072f84457d5, - 0x0000000966ccca - } - }, - { - { - 0x891dc9b66f67fb28, 0xdf5e62942d9f634c, 0xee4c3ff2b8cb285c, - 0x0000003aec8426 - }, - { - 0x53640c2a7b851501, 0x40522e84d65b248c, 0xcbda577570260ccd, - 0x0000000c0dea7d - }, - { - 0x84699c783de669b5, 0x3c991dcca01d704f, 0xaac79c1a23a522d2, - 0x00000044353fd8 - } - }, - { - { - 0xd255366e6e5d81, 0xbcb8af6e97e5ec2, 0x54cbf4ce0eef4c02, - 0x00000074cd0cff - }, - { - 0xc77e15e425154d22, 0xd2692c2c27cdf83a, 0x471a9ecad71220f, - 0x000000e650f5ad - }, - { - 0xdd2ec5482d3fadab, 0x59ee48de7f116253, 0x2463bd02085ce57b, - 0x000000cfe57b10 - } - }, - { - { - 0x699f3c9ad65acb0c, 0x941a2810b41e802a, 0xb114d84e064e472d, - 0x000000b5a0fb3d - }, - { - 0x63adf63dfc0eb6ea, 0x5f5caca8adc51ea8, 0x7bf74681fc41b52c, - 0x000000cc230f47 - }, - { - 0xf0661375c28920, 0xb78ca8fe6cad67a, 0xf9d9f7a6f11df107, - 0x000000f29d7596 - } - }, - { - { - 0x53545db205d6e016, 0x19ab31ad3db6d72d, 0xf1e12cb3131b86cf, - 0x000000ff6938be - }, - { - 0x6e963e7e0b704d80, 0xc6235acbf774224c, 0x2e1eae1c6ff19026, - 0x00000005adb272 - }, - { - 0xe44e05d3651806cf, 0x835bd201214a18cc, 0xcc7711ed2358bf5a, - 0x00000077ed8e8e - } - }, - { - { - 0x9baf6cec2ebc5b19, 0x2b343084e30ab57e, 0xe0adb226de48f789, - 0x000000a0ba9a95 - }, - { - 0x96e4887b6efc1c40, 0xd0e9caf6a0f9c568, 0x560799638b2ec227, - 0x000000e858b1c0 - }, - { - 0x982677fb0393a660, 0xda50b48bd9000fd6, 0x3f38c1866f6ae563, - 0x000000e45c1c1a - } - }, - { - { - 0x9df82374672b8635, 0x6c6e9a8b0d6cacc3, 0xa80554ce415ad409, - 0x0000002ecbf04a - }, - { - 0xba1091ab674d0b5a, 0x769a99d6429dd24a, 0x278dd8539e870449, - 0x000000aeff9c1b - }, - { - 0xcd959f28dde0c444, 0x8024d3d4559a08a6, 0xf06893e210ca687c, - 0x00000030915ff6 - } - }, - { - { - 0xc8339166efafa1b4, 0x11f73e8f730037d, 0xa9fd3b9728334f8c, - 0x000000c27a21a5 - }, - { - 0x66e5906350d917b1, 0xb5a414fce1eaeb0c, 0x51d2b20e04d687e7, - 0x000000cba62bdf - }, - { - 0x55a189d0ce3994ec, 0x9e3c9c7f6d6700b, 0xbb78b3a00440e845, - 0x0000003bd9b61e - } - }, - { - { - 0x449232151eee204b, 0x50c5a768fa99151f, 0x4ec5617ede09d2f, - 0x000000cfa4bace - }, - { - 0xf44f4184ba6a391c, 0x36a580836d605a6f, 0x13a24a18017a7397, - 0x000000296cb5bd - }, - { - 0x9d8b0dcf4472d14e, 0xa6be0d91865f781e, 0xd9e8900b31617130, - 0x000000219a0949 - } - } - }, - { - { - { - 0xc09c28a8f97d9279, 0xb1bfa94f1697578f, 0xb2a8ec712ae89fc, - 0x000000cbf7e712 - }, - { - 0x729b3335c39481b3, 0x21e50dabff05f791, 0x7983247847224ffc, - 0x00000095937348 - }, - { - 0x8ab6aad7323421c8, 0x505f6a6353d02c47, 0xf8888c911a687e78, - 0x000000a3870c6c - } - }, - { - { - 0x7ba018dd02a4d55c, 0x8ea6f8c4c6574cc, 0x4e451adea55438f6, - 0x0000009e0cfd84 - }, - { - 0xef55ac4968763410, 0x63603b2918989f7d, 0x26daf990116e95b4, - 0x00000044d67206 - }, - { - 0x395c55938cee4196, 0xfb7731e96a99ae90, 0x93b69e0450af8860, - 0x00000084e6f684 - } - }, - { - { - 0xcf5cd340c5f976c1, 0xd8aa3d6e4efc70b4, 0xc9f7b08a6709538d, - 0x000000701d3b4b - }, - { - 0x211e404c0adbbe15, 0x3693daf4d5586202, 0x3b7d0fe80a485b88, - 0x00000017464182 - }, - { - 0x500f0bcca8545559, 0x93c3d443566972cb, 0x5b4de2a4db1158fa, - 0x000000706703d4 - } - }, - { - { - 0x7b652a374aeb4a2, 0x81d6e1171ab9999c, 0x89a054b82778982f, - 0x000000d5a79315 - }, - { - 0xdcecbd041438aacb, 0xc3aa01d352f9a74a, 0x83ac1bca24ce651c, - 0x0000000747463c - }, - { - 0xb4513ad65de5ec39, 0xaef2cc0c895abb5b, 0x219fad3ae4d58d1c, - 0x0000004a688224 - } - }, - { - { - 0x61f896ee427d3252, 0x515e6af006cb9927, 0x83c1c89ec5c76459, - 0x0000005eee3af5 - }, - { - 0x2993461e23879541, 0xe577e17af7070393, 0x8445990b8e2280c5, - 0x00000047fe1033 - }, - { - 0xc996bd6c0ad4dc8b, 0x4936168ef80c2ab7, 0xf6e8fed976630cfb, - 0x0000006474c1fe - } - }, - { - { - 0x44cd98e78f5e3934, 0x9f1171618fab342b, 0x40d63b80a2b89dd2, - 0x00000042f4acd8 - }, - { - 0xad99009994d56df6, 0x577524e5d4d39ebf, 0xc83854bf53ffdf87, - 0x00000047f199c1 - }, - { - 0x78b936927bd76357, 0x56be567dfd9cd921, 0xff54faa22c3a2c78, - 0x0000001417a7ed - } - }, - { - { - 0x5123b01e7f1695ad, 0x9cb11d22dd2dd6dd, 0xae0ad9181b0d29f3, - 0x000000a8770506 - }, - { - 0x34e68ee9e9c9f795, 0x251892ca5eb0ea36, 0xafab976cf77b052f, - 0x000000827ba8a2 - }, - { - 0x744e5f89cc923f58, 0xf2385ca3fd3a6ce2, 0xb07d2a20f8554c62, - 0x0000000bd737c6 - } - }, - { - { - 0xc49e678921e9c8ab, 0x66fc56f96f8a3494, 0x1cffc7bb94ba4c95, - 0x000000d4c40585 - }, - { - 0x20ef60280d49fa4a, 0xd49147cb6c497b72, 0x15805d95a9b6df17, - 0x000000e2a80085 - }, - { - 0xd2447efc9833b610, 0xf10c70d95b8740eb, 0xcdb4b55ff437dd50, - 0x000000052b1fd4 - } - }, - { - { - 0xc3cd42a617f860ae, 0x2abacf269bc4e5db, 0x535245144594ee78, - 0x000000c2f76704 - }, - { - 0xe49a6bbbd35469da, 0x13f641739d304fad, 0xdbc64917857ae1ab, - 0x00000045e17e9a - }, - { - 0xcc67852f68c5f5e5, 0xf05c80673aefb47b, 0xd1020d428ed3ebed, - 0x000000706f1c4a - } - }, - { - { - 0xb216519a400135c, 0x8b104ab6808940c8, 0xdc427a87b91f468b, - 0x00000029aece64 - }, - { - 0x66328e38c6d8a79d, 0xbbb9911fe3f42d1e, 0x708140f49cbc4c32, - 0x00000043972b7f - }, - { - 0xc2d3521ce78ecc99, 0x582ab7e80529be28, 0xf0312fc7c64454c, - 0x000000b90c4a88 - } - }, - { - { - 0xb6a7afdd26db8f3f, 0xa2627d685a658c03, 0x56150cd70b1e5ff9, - 0x000000dac5aa70 - }, - { - 0x1800be2d993b4d2a, 0x71ac4570fa02ac68, 0x689b94565e0794bb, - 0x000000c7b33b0b - }, - { - 0xf7c3f3826f874d45, 0x3e67b8d62b3e4f79, 0xbe4a874092357414, - 0x0000004433f539 - } - }, - { - { - 0xb15784147b924b27, 0xcf320807c68fc5ba, 0xfcef78423de26261, - 0x000000bd8e9cf8 - }, - { - 0x8c6d898b79161671, 0x92a6898da42020d6, 0xa79e44c50e9d3fbd, - 0x000000f96bc986 - }, - { - 0x1459304df4ecbfe, 0x45a2aa81b6913cd9, 0xcabba7664545f72f, - 0x0000005bdf8215 - } - }, - { - { - 0xe9c8fd37f85caf53, 0x7ec605b6e9c1416e, 0x160cdfb5de20e425, - 0x00000083fdeb0d - }, - { - 0xa39943ae9e652592, 0x810bdbbb815b09ad, 0xbda10f35f8390d64, - 0x0000007937d542 - }, - { - 0x54b0444396266d4d, 0x423055bb5fa969a9, 0xe3242369001f0a96, - 0x000000bf76e17a - } - }, - { - { - 0x75b4f2931f79e239, 0xeccff21c52fecd1f, 0x9801b250d5633b33, - 0x000000e2a62c4d - }, - { - 0x225a8eae8fdf8b7a, 0xd35ec9b3bd36891b, 0xe79f12807189da55, - 0x000000fbb69614 - }, - { - 0x151b63cbf175cd64, 0x46eeba967c35a977, 0x6c945f2251fbfc56, - 0x000000de5f3775 - } - }, - { - { - 0x3bc97eafee504449, 0x70d009618be51add, 0x825f9747bdffefbb, - 0x00000004a9e007 - }, - { - 0x5280dca31790dfeb, 0x53edf3fa08c1072c, 0x2157c214d4e7726b, - 0x000000a0bd72e8 - }, - { - 0xb3dc7393bbeeb7be, 0xb2435a0207d02090, 0xd23ac7c7ee64c254, - 0x00000001eb9820 - } - } - }, - { - { - { - 0x99e9425c97066d48, 0xf401bde499025584, 0xdf7dbb4f25ac5251, - 0x000000f2d3f78f - }, - { - 0xc836ecb8b73678a0, 0xd6508bb44641c6c1, 0x5af918561fcce24e, - 0x000000a3658119 - }, - { - 0xfb872196f2d9a29, 0x34b2ac2d72e547d0, 0xd277d8991bf53230, - 0x0000005de8dead - } - }, - { - { - 0xa130d67e6613ef10, 0xb7b6c49fdd148e74, 0x1f023707ee1bbc96, - 0x000000d287c48f - }, - { - 0x6dc6e3faa4691fa1, 0xbf4e67636786314f, 0x91230de517834e1e, - 0x000000b35dc4cf - }, - { - 0x7ab4f39d5e8675c0, 0xedd90486d433413c, 0xae2aa0997985fbf9, - 0x0000005185be73 - } - }, - { - { - 0x4c096c5e41e2d45e, 0x61a8dcfda29056c0, 0xddff7099ec04e21b, - 0x000000f9116f45 - }, - { - 0x35a01085f88f2250, 0xbf03fe5374be6034, 0x68d8373a30f0920f, - 0x000000ad61bdbf - }, - { - 0xf8f235c156b4d9df, 0x931a1c07a33a0bf0, 0xc0d99775de4de916, - 0x000000e0aee282 - } - }, - { - { - 0xcf84512e7f3d7d69, 0xa5caaf7ad85e90c1, 0xe2e9870a4c02d33b, - 0x00000023c0317d - }, - { - 0xb110bddb85bc5791, 0x1dd31ccf8671a28d, 0xbc60f3c78bd37915, - 0x000000fcedc066 - }, - { - 0xc73437d2538df0b9, 0xc9fd4646f4d05a79, 0x288db0e1bde61111, - 0x00000076c2a972 - } - }, - { - { - 0x2c045c4c9d052704, 0x8b6cdbdfb65093a8, 0x848bd8db585ffe87, - 0x000000b8588775 - }, - { - 0x15bf5b0cd92aac6d, 0x146ac185e2cf7781, 0x8d3566d862cd6a9d, - 0x00000050967945 - }, - { - 0x9824e4f6bf8d423d, 0x7fc5ead55a332151, 0x87c06937dc030372, - 0x000000bd1ea710 - } - }, - { - { - 0xce53dbcfb2f35b8, 0xfcc8d03e09258800, 0xa8c8d3e68cb73c, - 0x0000009db1bd72 - }, - { - 0x8e639eef10beefca, 0x2899a7fe376b78f7, 0x80cbb5553ebec56b, - 0x000000cab68dce - }, - { - 0x4b67a8d3859b848f, 0x3004771abd9629fa, 0x41a49e8f2c4e1563, - 0x000000c2358cfd - } - }, - { - { - 0x1b683b4439ffb772, 0x22ea67497901eabc, 0x8f88c5daf967ac88, - 0x0000007e030230 - }, - { - 0x4d7764ae59a230e4, 0x4aa54ed1f80a4cd7, 0x95fedeb8aa034c9, - 0x0000007fd83dec - }, - { - 0xb07194d4fffe3b4b, 0xa411ea3cd6f21899, 0x13994e712c55125d, - 0x000000878daa4e - } - }, - { - { - 0x2b84ba026aed0eed, 0x79faa1d6e7300f50, 0xadabdf6454123bf2, - 0x00000012a74250 - }, - { - 0x4328d9618dc8b9f2, 0x1ae83053b41105f5, 0xf6c50279ba04dc8e, - 0x00000073eae471 - }, - { - 0x366a339d24e1875b, 0x44fb02ebd7d3555a, 0x77af33035d4dafc8, - 0x0000004ffddcbd - } - }, - { - { - 0xd06b168926186652, 0x98e17c33400965b7, 0x95cc1da635f94d9f, - 0x000000e032395f - }, - { - 0x2c1e94c252106376, 0xa4365dc00c61a148, 0x838e9148b7d3e65b, - 0x00000089a0b9c3 - }, - { - 0x42bd1b09269e1576, 0xf39a20c1139d4bf0, 0x69293389b91dd9d9, - 0x000000a84ba5ac - } - }, - { - { - 0x3aa4cbddc7714383, 0x6219361b816da4, 0xb3d6ec1705f384cc, - 0x000000cdeec85d - }, - { - 0xf4998f53da3234b8, 0x6e777499abc2be74, 0x6b7acc2eb9fb7f8e, - 0x000000e0e91cc2 - }, - { - 0xb31446190aa6d9f7, 0x780ffa2f9f3f6bc9, 0x1bf9a2485567eb6e, - 0x00000049c3f047 - } - }, - { - { - 0x84cce4f5554d86bb, 0xc3e9d0d16695d836, 0xab9db2c601c8d3cb, - 0x0000005efba8d4 - }, - { - 0x33bb5d6b59876c43, 0x11a0c0ed4e5160f1, 0x38fe6d126e0a86c3, - 0x000000beb98320 - }, - { - 0x9a9d01738a2099b5, 0xf6bb2cc0dddd9d3d, 0x8324ad0704062da, - 0x000000ab84d7a5 - } - }, - { - { - 0xb9edc11a065cb977, 0x56b7da95bfcef527, 0xb3565baa89402460, - 0x00000001f8a8d7 - }, - { - 0xb99d1d17c5cbc7f2, 0x2821858dc9579c21, 0x129def211e99c4b7, - 0x00000014b0ca57 - }, - { - 0xd7cfba86bf18f834, 0xf38bf056908216ba, 0x730c50d86c4bc4ad, - 0x000000fe985124 - } - }, - { - { - 0xb231c7e1b6c53ff6, 0x4df9d5b12ec79fca, 0x8f4e1a3c46cd1c2e, - 0x0000003e205973 - }, - { - 0x645a050b218bac74, 0xf3abda70d5256e21, 0x1ea66dfa3292a985, - 0x0000006f0d6a1a - }, - { - 0xd30c81cd463b1ce2, 0x54b6c5aabfb684b, 0x5b35336c7fa00f1, - 0x000000a2e0e2b3 - } - }, - { - { - 0x5e2ce544f92414bb, 0xcbecef3546864dca, 0xc1d62c0e29ff1fe6, - 0x0000006f7449a3 - }, - { - 0x74595d0af6cd9178, 0x9aa4b30d2694c744, 0xc8cde40112c4e3ae, - 0x0000000af904a6 - }, - { - 0x62b7599d6071e555, 0x53cc2731dcdf21e1, 0x38b7a5c007db4e1f, - 0x0000004467710a - } - }, - { - { - 0x5701582026aca798, 0xac9b22e38e63d14b, 0xa4fb279a47bb51a9, - 0x0000007a3ba242 - }, - { - 0xd8a1487cd6c692c6, 0x275b9c4fa5dc887a, 0x4ab7ca2173d5257, - 0x0000004e53dcc9 - }, - { - 0xf3f358f6e19b7990, 0x8d93ab7fdc425fe, 0x23acbdb969dc0de5, - 0x000000ef116604 - } - } - }, - { - { - { - 0xc8ad9f14b14200cd, 0xaefbd1c31090440f, 0xb3337e05e263ccea, - 0x00000000ab7c87 - }, - { - 0x65aed03b4558a9fa, 0xc3e4d87e12915228, 0x5458b0b6af63a4a3, - 0x000000488345b0 - }, - { - 0xab19887d6239e9fc, 0x95edf528d29abe1c, 0xd25bf444f438b440, - 0x000000bdcf6a6d - } - }, - { - { - 0xf7a733a1b5ead130, 0x951530e293ae43ce, 0xfa26c6a357b190b8, - 0x0000003072dcd5 - }, - { - 0x89d6113ea537589, 0x8209c161b7e7e65e, 0xb60b0e104c6f13fc, - 0x0000003fc7a34e - }, - { - 0x6f402759f9e900e3, 0xaaf5b688f69d9ccb, 0x9fab90ce57c3e1a8, - 0x000000a532034a - } - }, - { - { - 0x8985ad9662a298f, 0xefe9cdd2840574dd, 0x5635785dafa98f5c, - 0x00000088da4949 - }, - { - 0x831291c8bd989fdd, 0xa12e7120afb4f8c3, 0x9cd64e2161dd650d, - 0x0000000d029480 - }, - { - 0x81db5f76dec34430, 0x4243c565ece812bc, 0x5c10fac53e961c1f, - 0x0000008634c8f3 - } - }, - { - { - 0xc153c7f9de8c247, 0x9403c08d79490318, 0x39556cd3181f903d, - 0x000000c1d3f312 - }, - { - 0x4a394d16c8192861, 0x3b6276e01f59ce10, 0xb24ce3e7e4a495ac, - 0x000000d12bf8ca - }, - { - 0x901854a2a6e5ec73, 0x712dba9be09bfe10, 0xaba414a34e8c5ea7, - 0x00000017170e5f - } - }, - { - { - 0x3a00e80887c51bbe, 0xab5e22528e7f0444, 0xb0cddb2449ca0147, - 0x0000006b8efa78 - }, - { - 0x4b9aa74872140f9, 0xadbc33a960779865, 0x5f934314f8b97e74, - 0x0000002c0fa74e - }, - { - 0x7dbf3a74063ed5fe, 0x760db63c0c5da703, 0x3ebb36790645b4f9, - 0x0000002e39d5be - } - }, - { - { - 0xfadb57c72e1d0a2d, 0xbe460659522d296, 0x9a553b034736667e, - 0x0000007ea308d8 - }, - { - 0x12e15369931ade3b, 0xe8175880e7d33375, 0x8ef218920604a028, - 0x000000cd7a6d04 - }, - { - 0x434872f45edd9b6d, 0x7ced4a359190196e, 0xf476cb632749d800, - 0x000000412f5638 - } - }, - { - { - 0xea98cff97d48af9e, 0x76342239de07156a, 0x2168bbf50ef61769, - 0x0000000485b3d6 - }, - { - 0x198d792ea2b7b1de, 0x30bfae06f12c202f, 0x7b8fa079c789502c, - 0x00000091b00bae - }, - { - 0xf23c8f0fe91bde96, 0x98ed4b449938c88a, 0x79fcaede64a984e5, - 0x0000006c7a01ec - } - }, - { - { - 0x52016106dfa4e6f8, 0x8605dc92666e140d, 0x170a983a389f8e93, - 0x0000009cfeab7e - }, - { - 0x7418bb74915c6d49, 0xc15a64c685f967a9, 0x2d04618b5341b2b1, - 0x000000ad6eef87 - }, - { - 0xa7563f08bcc366dd, 0xed7e390983dcbee6, 0xd6f28f238f2cb744, - 0x000000a59deff3 - } - }, - { - { - 0xfa987f0e089287bf, 0x6771d4321ec52aec, 0x5d54675090835505, - 0x00000079200ec6 - }, - { - 0xa5ad18eba62fa8d7, 0xe99ec73559d769ab, 0x72c8acbb576377b5, - 0x00000026c900c6 - }, - { - 0xcf6bb0ec39c08e18, 0xe02c65ff50524eda, 0xca4969c0542679ff, - 0x0000003ce11a82 - } - }, - { - { - 0xd0c990b5153d83f7, 0x85f39e045c282490, 0xdc663de1d806d77d, - 0x0000000e30584c - }, - { - 0xf31b4a8ea9c1cba7, 0xaa311df204f446f1, 0x9db09d1d397e272d, - 0x000000446ddf2c - }, - { - 0x29b57c122c484e98, 0x212d746dc84f9eba, 0xd4f9b2bfe1749e1c, - 0x000000ef4ffca5 - } - }, - { - { - 0x1810c007b5064fec, 0x956b681802fc322c, 0x86dbd0bede372966, - 0x000000d2392188 - }, - { - 0x25d3af300f55ffce, 0x394e5de20133d4, 0x911be9b2296028e6, - 0x000000bb03477f - }, - { - 0xca9b294840542213, 0x67b9d6ab2bf8987e, 0x7212416c116f1de1, - 0x000000aa94175b - } - }, - { - { - 0x86820d234554b7bc, 0xf1368e3666534046, 0x6fb150f899a1c4b9, - 0x000000210c60a3 - }, - { - 0x38d08c55ff44e9ac, 0x5110da75b9d21f08, 0xf442a24ff5143a12, - 0x000000ab5ec831 - }, - { - 0x43e9b127b38bffc9, 0xac1fc9ff863fad9b, 0x8492c5010c8dc055, - 0x000000265eda00 - } - }, - { - { - 0x66901b72f88a0d, 0x2b66239674fc6f3, 0xafa0246388b54e18, - 0x00000042e21588 - }, - { - 0x7a2037050b617f9b, 0x66fbef46408ea51e, 0xe29dfb66eee68cec, - 0x000000972d5a81 - }, - { - 0x2a7647d8fa7da85b, 0xbce2d105e04044ce, 0x1091a4785217c287, - 0x000000cc27eb22 - } - }, - { - { - 0xc87017f6a661d97b, 0x82c037fef0c7c221, 0x7d3402a3f891494f, - 0x000000e6d80324 - }, - { - 0xf1a99e527a3296ce, 0x2145db98ff2ed621, 0x8d19345bf42a12d1, - 0x00000015dedc88 - }, - { - 0x832ae5f75fad575, 0x9b0d68cc2c04246a, 0x68c4de4103df84de, - 0x00000047a20990 - } - }, - { - { - 0xb8d249a6cbb81665, 0xeb67028e3f75926b, 0xc32df53e1d3fb442, - 0x000000960fd0b6 - }, - { - 0x6271255495cd9c04, 0xf95da965f68af544, 0xc9e313fb9a379a0c, - 0x0000001f89cb22 - }, - { - 0x6185f721ba4d488b, 0x32d71b57d3b62152, 0x4ce73df5cad7fef1, - 0x000000478c7156 - } - } - }, - { - { - { - 0xd72386cc6116b8bf, 0xf21bb4248b84c24b, 0x30dcb6aa86084a56, - 0x0000008a60697f - }, - { - 0xc48d2bb2c8f13c84, 0x2ed701d2b6e73d6a, 0x6f4b9494d56729f5, - 0x000000d7ce340c - }, - { - 0xa6f4275aab9ba3b8, 0x3f9aba951993d5dd, 0x1fc596c070595c, - 0x0000006c7dfa52 - } - }, - { - { - 0x4e322b36e5047f77, 0xfa83bf25fbf24587, 0xf36efd523d12230f, - 0x0000006a8cf632 - }, - { - 0x942d2ed378cebc1a, 0x1d8cfe2e8c932bbe, 0x8fbf46e9d3aac71a, - 0x0000008d3139b4 - }, - { - 0x21a1380d2206bf95, 0x6f44ca26cea6dd2, 0x40c268b6ed04cbfd, - 0x000000b9eb7fbc - } - }, - { - { - 0x9080200512e16aad, 0xb7955ff3abbed202, 0x35b6c5737689c433, - 0x00000044c16d34 - }, - { - 0xa2ed364d9c06f8dc, 0x720687bd9a030652, 0x3252a1cb8ef7f0de, - 0x0000004f553f28 - }, - { - 0x13375e0c9d62ba5, 0x405014969189cf6d, 0x668d9120df32a89e, - 0x000000eb0ee27a - } - }, - { - { - 0xe6633adffde0aacf, 0x6267337574501173, 0xfe8ba49545e67f04, - 0x000000e3b18227 - }, - { - 0xf2deae1f842093d1, 0x5fc8e706a442e1f2, 0x96768b10287107ee, - 0x000000df1dfd9d - }, - { - 0xd03b6d6b0b2e5dd0, 0x1d45de163aeb53d7, 0x6e88bea2a5cabeb1, - 0x0000002613c67b - } - }, - { - { - 0xe998be227dcdf2ba, 0x4fd1f20d43bd7fea, 0x5de939c1f1ce7f48, - 0x000000cd090e98 - }, - { - 0xc65321e4ac25dc4d, 0x31fbce86d1bca202, 0x7045c386dd35b6b8, - 0x000000eabd5475 - }, - { - 0x73603f88d80d6791, 0xef4b2f049a9ad0d3, 0xa4a7f34eed3e050, - 0x000000a71db35e - } - }, - { - { - 0x605b5bf117af435, 0x3a02999dadbffbd3, 0x6e34e70f345100a9, - 0x000000f26eb760 - }, - { - 0x896824d2b64765bc, 0x9efe59b8383c85fc, 0x1075d477f2e2247c, - 0x000000a8077bd4 - }, - { - 0x99998f07d28fce04, 0x69a0b0776a91ab59, 0xbf502de75906668d, - 0x000000fe5f415f - } - }, - { - { - 0xce1cb0cb04e90a0f, 0xe859741f950eb524, 0x88304dc86d255247, - 0x0000003897fdd0 - }, - { - 0x8536dd9badca611d, 0xe588cbcaef3263d0, 0x655a98e5af22da91, - 0x00000019033634 - }, - { - 0xc136c7acc3e70b93, 0x4fd4d0e6d1be8945, 0x8e91e734e9ece0d5, - 0x00000094c3636e - } - }, - { - { - 0xaaf88543d549621b, 0xde69ac678d2cf84c, 0xe4465028c19cf05f, - 0x000000fdcffa8f - }, - { - 0x87b9be70cf74aaa9, 0xc31645ae187a70a0, 0x2f77e11714638986, - 0x00000082b1ce54 - }, - { - 0x72474953c3be4d87, 0xc336a3799753d7a, 0xad61f31d9bd5b49, - 0x00000002e4e865 - } - }, - { - { - 0x8a663b633286bb1f, 0x74126272f6ff45f6, 0x2554eddeb58e98be, - 0x000000ceb9ac62 - }, - { - 0xe0843c209dbb9e87, 0x898cd783e54aaa17, 0x73a961f69b8f2a, - 0x0000006c081ea1 - }, - { - 0xe18c419169c775cc, 0x5bfeef28958205fa, 0x5e49fff192e094ae, - 0x000000a3ac8f39 - } - }, - { - { - 0x90669f0300b279fb, 0xdf7dd31005d0d64a, 0x8c717a2abe531ae5, - 0x000000a8c73747 - }, - { - 0x73f3449fa1e84e64, 0x3a6f47fda5484a73, 0x4c84fb379583cbf3, - 0x00000090599681 - }, - { - 0x58902a79aca4a369, 0xda56a1ebb530d40a, 0xbb9253737690b794, - 0x000000156d00e0 - } - }, - { - { - 0x3f021f5ab416c451, 0x8263a203d6661115, 0x298fdf622f3a199b, - 0x0000009f235912 - }, - { - 0x55f1717c307163ad, 0x8268d79a2d6e01b5, 0x268fb04e144c0a53, - 0x0000004e5edf78 - }, - { - 0xd1736d59405a47ea, 0x37d40692691153a4, 0x34aaefa702c5f551, - 0x00000020f4bda1 - } - }, - { - { - 0x14f52dbfc1a60488, 0xbd67bb89ff90dffd, 0xdf18142dfe555abd, - 0x000000629b0f59 - }, - { - 0x2698cb1466bab0fe, 0xeffa35e70f2947fa, 0x6ba556a7fbda6fef, - 0x000000fecc5a14 - }, - { - 0x548a3b80c1ecb61e, 0x9c06763ee6a18d99, 0xd762dacad6605998, - 0x00000059930461 - } - }, - { - { - 0x8764fcb2e7eb93f4, 0xa99d15eaa484b452, 0x3b098f7646269834, - 0x00000032075ad6 - }, - { - 0xa33b0f39860aee57, 0xf4a86b7c5a6f50f8, 0xfca23e8cb59251c3, - 0x0000002c81ae1f - }, - { - 0x3123e5edf59091a6, 0x5e8e122069246525, 0x9ab047c7e10977a3, - 0x0000004b6f51d1 - } - }, - { - { - 0x12343fab2a2a7750, 0x60a33ee8373250bf, 0xa54891f2f84b25fc, - 0x00000039aeb7cb - }, - { - 0x5e3ed76ee4d6c58b, 0x272b6f95916d192c, 0x639fc3223ccdd2ab, - 0x0000000795c32a - }, - { - 0x4c39b767d50761f7, 0x999e8d630d245792, 0xceaf7b2eaa311f82, - 0x000000685b4ba8 - } - }, - { - { - 0x6c78189c3e0d8a62, 0xc625414c9f425f65, 0x2cef5809b97b6cb0, - 0x0000002142851e - }, - { - 0x8f449f5fe9f31dfa, 0x1b731e9c6ea5eb70, 0x2178d7fa11420a7b, - 0x000000d07c6e44 - }, - { - 0x1774ba06137913b, 0x563d2c9ca3c0e8bb, 0x20b3c9cbd4730008, - 0x0000007a2e2e9e - } - } - }, - { - { - { - 0x8a638af165bd806c, 0xe12db240f2c52a15, 0x71c74ca4da492dc6, - 0x000000b0e7330f - }, - { - 0xf33164b51ee8c8a5, 0x515396eb3b313057, 0xd8513952a958a69b, - 0x000000f901a575 - }, - { - 0xe19f131bc1dccdfd, 0xff5950b17fb1b30c, 0x993ae8a1ec497cad, - 0x00000048a25be2 - } - }, - { - { - 0xb935e9d51c068582, 0x428d12ed3624fe23, 0xfa78a3368999f0f, - 0x000000c2e861f9 - }, - { - 0x833e8c3d6b99c47d, 0x36d7333652fab392, 0x417459aa099721d0, - 0x00000004f97408 - }, - { - 0xb6714aac8ee8a180, 0xc10bf9f180f78ed, 0x21b90c0bf3fe5346, - 0x000000fc0aaaf1 - } - }, - { - { - 0x1c177d6e757486e1, 0xcff52cf7f385a4e, 0xf6a02fa72a9001e4, - 0x000000867856c7 - }, - { - 0xcb00f27698dda0d4, 0xde3d29250c711be2, 0x895428a4076110bc, - 0x00000049851268 - }, - { - 0xe1cfcf8ccfe6a1ab, 0xcc9ba1773212b20d, 0xd6c9fa73feb93a03, - 0x000000a95cbc5d - } - }, - { - { - 0x6bd421b241762359, 0xea0e412ab7c17cc2, 0xd4dddd214a3761a7, - 0x00000036022052 - }, - { - 0xd84e683112426af7, 0x3fbc1888a4f2e963, 0x571d52751c38f580, - 0x000000bfa4f7d8 - }, - { - 0x750d96e79c8ecc80, 0xac3c55a908026612, 0xe94144c787c7be49, - 0x0000006349a456 - } - }, - { - { - 0xd117f027595f6880, 0xa077bd6478a19017, 0x2020e97227cd193c, - 0x00000079fb6ce5 - }, - { - 0xf77b2811ecfe3249, 0x370bd0e14db08cba, 0x48248d42d901ba10, - 0x00000067f91088 - }, - { - 0x523b11408a5eff3c, 0xad47793a774e9ad9, 0x1c39003b965e875f, - 0x000000704f57e1 - } - }, - { - { - 0x2c7c30b921399eaf, 0x757857bcdd397592, 0x663dd843fb7e0c1a, - 0x000000434c337b - }, - { - 0xdb4c20c6500841f5, 0x78b5fa8b1dbdeed2, 0x6ff1da6234e9e4ab, - 0x000000f34189bb - }, - { - 0x88c6e454f19ca60, 0xf0fff8f297a5247c, 0x2f61e74559336840, - 0x00000064523742 - } - }, - { - { - 0x293273183b4a032, 0x3ca5b74f6b9d045f, 0x289b9b0f9ba04ac2, - 0x0000009e4fb6ff - }, - { - 0xb00f6130e1efe29f, 0x17169b328f2d43fe, 0xf0684daa5880198f, - 0x000000b8bc4618 - }, - { - 0xe8bbd5d0f5de73e, 0x1eb1bffb383131e5, 0x2e46100532b35d2d, - 0x0000006fde1bba - } - }, - { - { - 0xb288abf22484fddc, 0x52b0f3dba907d5aa, 0x909479491397544c, - 0x000000401237e6 - }, - { - 0x5046319a1bb02958, 0x7a5ddab4f24b8a04, 0x4392c6b82d8088a3, - 0x000000c8e1ab28 - }, - { - 0x5416074287ed4fc4, 0x56fb92dba500d41d, 0x778346a7ee9c7c70, - 0x0000008195f35a - } - }, - { - { - 0xbe6d89c41de65a32, 0xc415963665b75f12, 0x3eebd0e82bbcf718, - 0x0000004d5b5fdd - }, - { - 0xc8377667d01b27eb, 0xea3f65e63ae5599c, 0xf2516ab8009a964b, - 0x00000012adcbad - }, - { - 0xe3fee5dc0c86d8bb, 0x4074400130d3e015, 0xaef994fcc05be4e6, - 0x0000004fee3052 - } - }, - { - { - 0x35f2eb60b9e22675, 0x1acf869634888843, 0xb872880adfa99808, - 0x000000113e442d - }, - { - 0xc90f55d02e57caed, 0xb1d9b67d5a235988, 0x84b6e1460df922bc, - 0x00000044bde7c6 - }, - { - 0x7edf6aaeddb01462, 0xbd6ecc223170b32f, 0x390fc1efb894ecce, - 0x0000003bc2b32d - } - }, - { - { - 0x9ae4a05ea482165b, 0x93a0535540fea884, 0xd294f280053b01b9, - 0x0000001a5466da - }, - { - 0x3bd7b6b9dcd6dee1, 0xdf2f7e5bd2dedbfd, 0x43b6d283a3c23437, - 0x000000e857f086 - }, - { - 0x3bcf3bbcf57d2779, 0x824b0e140ef10158, 0xfce23e34e3113765, - 0x00000004ef9f88 - } - }, - { - { - 0x39dc3c00bdd1ce93, 0x7937879e5e8d3a77, 0x5e97faede40dd845, - 0x000000e071a037 - }, - { - 0x6cf4b8aa187600eb, 0x446d288843622934, 0x4089ee66c6e8e72f, - 0x0000000e6a0697 - }, - { - 0x5b9b139858e1521d, 0x3f016d235e0f58f0, 0x4aac3bd09e62fcb9, - 0x0000001050591a - } - }, - { - { - 0x9016f6ff092fc4d, 0x956e494c0c8cb24b, 0x663321a80cf01fdf, - 0x0000006c20b90d - }, - { - 0x66e290bd2f906575, 0x57960415f72827fe, 0xb2bcf7c6ac1fe0fd, - 0x000000bed3e027 - }, - { - 0xbced8033c63b5ddd, 0xb7d3321a653d9375, 0x341edbb93142bb72, - 0x000000053f215d - } - }, - { - { - 0x8e1928bded715de7, 0x7be15a4be701b6cb, 0x925e9a89448c5c1a, - 0x0000001e00746e - }, - { - 0xa208fa963e0f1ebd, 0xf8fb08ec0784b549, 0xeea8deb9c5dec0b4, - 0x000000eb02dd3a - }, - { - 0x3dd0ae933dd89789, 0x3e871b96d682fc5c, 0x2beba55d07357e7d, - 0x000000a843e7af - } - }, - { - { - 0x9ee20b53c2c298d6, 0x4eab7635af05b844, 0xa21e7f96ad5f0a, - 0x00000035357e9c - }, - { - 0x6796a16f8d9dfa7d, 0x5cdd78c7ce2de147, 0x398bf21c25c18bb1, - 0x000000c598cae7 - }, - { - 0x365ad0b097e868ea, 0x9e309046f3f58ced, 0x851759f7141340e3, - 0x000000e7368377 - } - } - }, - { - { - { - 0x59e5f64a7e6f705b, 0x369be8287d24bb9a, 0x8834ef7d2e3ace57, - 0x00000002ac7c98 - }, - { - 0x9c8218baa24696bd, 0xbd978cfd8c00e82d, 0x7682731f2b4b7020, - 0x000000b3d6ac98 - }, - { - 0x9eadfde6c18e5b60, 0xb6fd70d0c1c32caf, 0xf155de3e873b8684, - 0x000000e6669050 - } - }, - { - { - 0x548aab0fe1e8cc54, 0x418810434789faaf, 0x2924947f19a02159, - 0x00000013d3fa09 - }, - { - 0x9cacd45e8fb24ebc, 0x4344b72aa568d6e5, 0x30931a0b7cbfcc00, - 0x0000009a1405ad - }, - { - 0xb0246837e78e83f, 0x4660ac1d6a998209, 0xf29da499585d0bc3, - 0x000000e7f90735 - } - }, - { - { - 0x7502190e4516ee94, 0x315f0465cfee80ca, 0xb4e458f36e5b847, - 0x0000008423f700 - }, - { - 0xd613c160112b5f94, 0xa769bd1d16e6c2c5, 0xd0a758b4fb277cf8, - 0x0000007d338a6f - }, - { - 0x2b694e1ae790eb05, 0x4dae3a75ed085784, 0xbcaf7bbb4ab88955, - 0x0000006f81b2d9 - } - }, - { - { - 0x125df8e507e07e59, 0x69fbfd9fb82fc8ca, 0xdc69819d7392effd, - 0x000000e552ee62 - }, - { - 0x20c5669e7f83ee22, 0xdf420bd4632464ef, 0x38fee1be9291e15, - 0x000000e9fa6b9b - }, - { - 0x5d6b594eb597cd0, 0xe9debd23ba5a89ad, 0x4fdee07d73ec5f16, - 0x00000088111889 - } - }, - { - { - 0x6b412300a082bdd0, 0x36726ea460267c7d, 0x280f4383dd7ba906, - 0x000000892fe5c4 - }, - { - 0x186eeb3a1b9868b4, 0x6964fb36c998ce0f, 0x1407cc14de0ea1a1, - 0x00000048fb49f0 - }, - { - 0x2bece58c38d69dd, 0x2421d63be907fd78, 0x87cea6f7bd97de8, - 0x000000b607cd72 - } - }, - { - { - 0xe9f865eff1a2c7, 0xebba7f5667c0cf6, 0x1e0a074ecc0dee52, - 0x0000004e1b4992 - }, - { - 0xfc42e0846aeb0ad8, 0x4de11b159d93f595, 0x15f13bb83bf68fa1, - 0x0000003bdafdb1 - }, - { - 0xeaa127b7bf03b541, 0x31f2e35f578bd3fe, 0xf610a3954669c912, - 0x0000001e4f9cea - } - }, - { - { - 0xfd740fa225fcca56, 0x1da3462e5ca0985f, 0x488e9163963ab5f0, - 0x000000d1165649 - }, - { - 0xbef0bbb1da00e09, 0x3d2b7ba17970749f, 0x3cd61f6dcca39fc0, - 0x0000007ca8e84f - }, - { - 0x15cad3b5cb8174d0, 0x56328554c41c61f3, 0x46f95a389571593e, - 0x000000e2609538 - } - }, - { - { - 0xeaad1cdfdb9e32b, 0x8de118a37d991c23, 0xbaf25acf8df64a1a, - 0x00000066e37d0a - }, - { - 0x7a23e68fe68700c8, 0x50278f0455dea984, 0x2704e2c86e19ca25, - 0x0000007b48f965 - }, - { - 0xc723fe988cc582ab, 0x16127d227e92dc96, 0xbb5b6dc9750142a4, - 0x0000006875f35f - } - }, - { - { - 0xb1c9f539513b1768, 0x3c8c3149ba2204f3, 0x6ca548cb22dd54ac, - 0x000000262358b7 - }, - { - 0x3e7b94cbc3344497, 0x3c72215eaf0f6d48, 0x7bc3843e0d718fef, - 0x000000713eeeb7 - }, - { - 0x2e35fbb87ab91da4, 0xffd5231115d90a2d, 0x9b6dfafab9ab658b, - 0x000000773fe2b5 - } - }, - { - { - 0x61be0cd9b667f418, 0x4c293c075b73b9a4, 0x6c76cd6b2fa13ee8, - 0x00000027280b41 - }, - { - 0x80558ec9ac90504, 0x27a75c46f295967f, 0x14e5da028424d902, - 0x00000062907655 - }, - { - 0x8793ff57ca29cc27, 0xdfba6e7266250191, 0x809529848ea7e6fd, - 0x00000055312c2b - } - }, - { - { - 0x4349dc214dcc45ce, 0xbcbe8c075ec3cf9a, 0x1e44438080226e23, - 0x0000003eacb77f - }, - { - 0x983d58956b9be8c, 0xb9425ef1276df508, 0x29efd9d576b76737, - 0x00000030843d83 - }, - { - 0x6d4dd904e49a0bcc, 0xa148cdf20e31307c, 0xba353eded7de1fa9, - 0x000000e8572cce - } - }, - { - { - 0x9da889b15dc45dbe, 0x3820f1efd615aff4, 0x4156f9fb97e6545, - 0x000000d0e4fb37 - }, - { - 0x8b873124e06461c4, 0xca0c90aac03ef34b, 0x18b57d9cb90936e6, - 0x000000287d8810 - }, - { - 0xa3d4ce3f3ed19c4c, 0xbbd3a3cffe83d81d, 0x4dc8370883f3e360, - 0x00000009617805 - } - }, - { - { - 0x2c4cdb670dc7742e, 0x3954bef30c9528d, 0xfa6dfb52f517fd7b, - 0x000000246f3705 - }, - { - 0x334e9a051afe6e62, 0x95ae249c6d86e356, 0x14d17b26156f7829, - 0x0000009ae775b4 - }, - { - 0x2ede1fe4da52f611, 0xe3411d2472a09dd3, 0x22a2216650c31e8f, - 0x0000009b7cef01 - } - }, - { - { - 0xf79c5d1759b435bb, 0x4626108a2bb4c0a, 0x295ff1e4394f13c3, - 0x0000002ca65457 - }, - { - 0xd0a98902fbb8be10, 0xce03f60f3969f1d6, 0x4760d8564697bc41, - 0x0000003007fb70 - }, - { - 0x72dc784ea8010da9, 0x97bc14b75abb16cf, 0x7fbc3752e2902e23, - 0x0000007a972023 - } - }, - { - { - 0x99898197b51ba072, 0x7bc4992d0a5397e5, 0xe707aef45f30ddca, - 0x000000a385e5dc - }, - { - 0xffc96e866fe181a8, 0xfbd994bed9d1c892, 0x2d5500712d663f42, - 0x00000027f2dc16 - }, - { - 0x6113d4d8ccc1a2d7, 0xfb96e1f30b2090cf, 0x59e3868eab90a423, - 0x000000367d786b - } - } - }, - { - { - { - 0xf4ff13ac0849c3c1, 0x824c4f714821ac90, 0xed2b70551600d5d8, - 0x000000f26a1215 - }, - { - 0xe2d9067efe1f4591, 0x276747aaa863d129, 0xfe7a1e8a2fa7c835, - 0x000000698d77f1 - }, - { - 0x2e98a45836d0c729, 0x94bb13d13d1095f, 0x2f4ea87d32a4c551, - 0x0000006f58c47e - } - }, - { - { - 0x6878c00da9598aaf, 0xd329f6103c5a5573, 0xc23aa92647e2e108, - 0x0000005fb84911 - }, - { - 0x4461f4bc302e1e09, 0xeba89002f8e77fad, 0x96824b1457d1f48e, - 0x0000007f54b20a - }, - { - 0xfadeb127da186913, 0x5f5e8abe9746b9e9, 0x4101c0222aff205a, - 0x0000008643245e - } - }, - { - { - 0x4b01c5e17be8511a, 0x75534ffa471d4849, 0xec7084fb0584fa45, - 0x00000070ecb692 - }, - { - 0x4de0071b63a1b8a3, 0x963681c8b7b669b4, 0xb3b783a445507018, - 0x00000011431b33 - }, - { - 0xd070d884ac78ae18, 0x48d1210b793dbcfd, 0xf324faa75845e071, - 0x0000009094a181 - } - }, - { - { - 0x3b5fa511a6d2363d, 0xe060a3966c67a36f, 0x5df930423cf25da5, - 0x000000aa461675 - }, - { - 0xfe7216f3d96555ab, 0xef2c92003188b5e8, 0xb8b5dfc79f8e869a, - 0x0000008ffe5850 - }, - { - 0x8f92d94259b02b3c, 0x4ad688469f571d28, 0x84ba1511d52febc, - 0x000000ff7022ad - } - }, - { - { - 0x509feb032fe9efdd, 0x4d7c43426ff9d2f3, 0x144140c40d4e7667, - 0x0000002d9a8ee2 - }, - { - 0x423aa16d67515e01, 0x81ab47be189d824b, 0x18fc5117fe12ee9c, - 0x00000067399592 - }, - { - 0x80516fa6ad0f733e, 0x6124a905219b6f0d, 0x63950081615feac1, - 0x000000c4657c14 - } - }, - { - { - 0x448674b99737aeef, 0xbe7069d5dab5c443, 0x5f39381133fd10d5, - 0x0000005e7398a2 - }, - { - 0xd1200a128a921915, 0xfb18a878e0f52dde, 0x9dc737d3f54cb01c, - 0x000000b019fb2e - }, - { - 0x4c21aeb84c5437e1, 0x4f2abfe4962168fd, 0x3c43430b962f163, - 0x0000003a1e2d33 - } - }, - { - { - 0xbd7b92f1ca2b8e98, 0x9241a702dddde3cc, 0xa7c57fdcc1c0a8e0, - 0x0000002ee5c4a7 - }, - { - 0x972661ca21da77, 0xe45a984b992a295b, 0x2df8633c44c99420, - 0x000000b80d2917 - }, - { - 0xc3d230168e45d466, 0xab8df08b058e1457, 0x7a33deede6fb4f86, - 0x000000c7f60f35 - } - }, - { - { - 0xf640d431c8be377d, 0x417046b059332841, 0x49194d5880ad2d65, - 0x0000002b6d92be - }, - { - 0xed140c756e8a3a78, 0x83092b472ec0ec3f, 0x51a278521f71b026, - 0x000000f007103b - }, - { - 0x6311615bdf2bc8ca, 0xc7450ab0862f0a38, 0x7ec8fdc66acae832, - 0x000000a0048359 - } - }, - { - { - 0x7db551949892c277, 0xfad7983f734b472a, 0x7121a81e98ad7cf7, - 0x00000091105e71 - }, - { - 0x6c233c0509a91b78, 0xd1ab81302128a0d9, 0x8d40961a6f4be13b, - 0x000000feb4404b - }, - { - 0xa068f818135eb63f, 0xda1539ab0210daa3, 0x8e1097ab69ef5168, - 0x0000004251d624 - } - }, - { - { - 0x46e846846f66bc38, 0xd0f40a2e1377c1c, 0x8506a5fbc7c3eafd, - 0x000000889bfe5d - }, - { - 0xf36ee872005deebf, 0xd07533c281031ac6, 0xfd352fd643250d0, - 0x0000002ac31855 - }, - { - 0x37155cda638219cf, 0x3c0d335799be6938, 0xd2b8bec327f7ffc5, - 0x000000d486f64c - } - }, - { - { - 0x1c8449f27348fd, 0x32883c9f1c0dfac2, 0x71544606b9cc8f41, - 0x000000a396f5ef - }, - { - 0x6eec75c89c070781, 0x82bb6a29fd3a51fd, 0x4b430bbe5537db8f, - 0x000000151e15f9 - }, - { - 0x86f801cd450f47e2, 0x40c6cb55cd72b632, 0xbbf4200fa2df133b, - 0x000000ebdcf7f9 - } - }, - { - { - 0xe4443e33ef714b4c, 0x7946177e4c05cd47, 0x3a4f809f91973941, - 0x000000a26fd06b - }, - { - 0x7e1105279e841330, 0x5dc8b8cf30fa4188, 0x7a446613e27f0acc, - 0x00000056b4fd58 - }, - { - 0x52046eb58264dfe2, 0x4d0556772efee8a8, 0xa9dc1f0e91131448, - 0x000000677aaf62 - } - }, - { - { - 0xbd2641bebd5d2cbe, 0xf6436914f3585456, 0x23c3bf024a31f75a, - 0x00000023e4a6dd - }, - { - 0x320f88146836ebee, 0x29aa387a1ac1fca7, 0xa0f2de331be40909, - 0x0000003501d247 - }, - { - 0xc18d75b0b95e6818, 0x77f6f63bf6fb9d27, 0xd3230995631604a, - 0x000000d2719e62 - } - }, - { - { - 0xece1c91dbe63170e, 0xddb6485c6f524634, 0x4190a63f072c0b3, - 0x0000007f1fcd6a - }, - { - 0xcdcd65efdbf67795, 0xb9dcc7123e7f7038, 0xb0d9ff1ca98036d0, - 0x000000b1904fac - }, - { - 0xeb13528aae3da3eb, 0xb489eda85d6dba00, 0x2570ff5b336b485, - 0x0000001cc7c831 - } - }, - { - { - 0x2a96bada730ca2c3, 0xe3c83fe0a067f56e, 0xfdea74cdb478d8f7, - 0x000000635fa0d4 - }, - { - 0xd5b591adae1ba75d, 0x981c80c2f56837bf, 0xab98f2abdf862d03, - 0x0000008d4be4d2 - }, - { - 0xd7a7c2f7bee5f359, 0x4b229be80c31aa8e, 0x2092965566554918, - 0x000000286af782 - } - } - }, - { - { - { - 0x86054286c71a31fd, 0x8d9e5c672ac51dc4, 0x95b75f9eb025f906, - 0x0000004a37784d - }, - { - 0x6bf5d7b8ca3cd8b0, 0x53e73c076f225f81, 0x29c2297c85d820fa, - 0x0000002d25dee1 - }, - { - 0xb28b14e623d7036b, 0x846c566b6b49d803, 0xef89c929b4ec8dee, - 0x000000ca095590 - } - }, - { - { - 0x4367bf14a1385e80, 0x13f523134d6eec4d, 0x5fc8aeb6e48f333e, - 0x000000eee50d5f - }, - { - 0x454f3b6a67d7f93f, 0xea074b8ca2d284e1, 0xce290d2e2f1d8a05, - 0x00000059e02529 - }, - { - 0x29dac50b88206abf, 0x16a76a847c49eb95, 0x6b099159ebc9c1ca, - 0x000000aa1a803b - } - }, - { - { - 0xa3eedf75e1e972e, 0x2438ce8cb576350, 0x3488d07d5d6e1337, - 0x000000ddc33ff3 - }, - { - 0x4addfeaed7513536, 0x68a2b16015c7205b, 0xdf433630a0a57f24, - 0x0000004146e849 - }, - { - 0x21e0514d8d7bd341, 0xc56a98073907536a, 0xa2367a99f78d315a, - 0x000000913c51fd - } - }, - { - { - 0xe13ff0a91a3e482b, 0x72d8b583ad0f3e59, 0x773ae2717af6e1f8, - 0x0000007fcb34ca - }, - { - 0xbaa8520da1b14ea0, 0x63f564e74a17ef08, 0xdc211586b81c1d01, - 0x000000f8400145 - }, - { - 0xc15f2b6fedac1c2b, 0xa62a672107779e88, 0x5f9555abc2c39eb0, - 0x000000c82d2214 - } - }, - { - { - 0x1c1428452f29d651, 0xec1dd635d1b94fd5, 0xe40d491ff95a68fe, - 0x000000760488ff - }, - { - 0xff85a21d3ad3a837, 0x5be8910573ce0ace, 0xf17fe8d0a09971bc, - 0x000000319d4cc0 - }, - { - 0xc923ef1bd04f42b9, 0xe6aac753e576757f, 0xd78f116c41353e6e, - 0x0000003013d0ae - } - }, - { - { - 0xd98c26cf79e4a56f, 0x70c334f772612110, 0x8a0fd711b2ceaf5d, - 0x0000008ff2b53e - }, - { - 0x6e89bb25174ff915, 0x3dd2ae3f5e6c3274, 0x6e04bde82089978b, - 0x000000e045fab1 - }, - { - 0x9a8497398b25e250, 0xd83b61ced6cacfc6, 0x59779143df327e7c, - 0x000000c95a0709 - } - }, - { - { - 0xa54a5d78ca569ec5, 0x5adf0ff544eae894, 0xf6c5c63ef1c26aee, - 0x000000e21c29ed - }, - { - 0x7ecc54a08a786562, 0x73270320953cd46e, 0x879be4e9693964c7, - 0x000000a7b93cd1 - }, - { - 0x5a016c4f0afa2de8, 0xf3f614443a651612, 0x315d07647916b0c7, - 0x000000e0ffc299 - } - }, - { - { - 0xdcf4fef544aa3052, 0xf5b0ecadf3a3a969, 0xc867e1be5470dd76, - 0x000000df33bf92 - }, - { - 0xadfc0701b142d055, 0xc2ee75fe5b262e34, 0x703eec7405f57814, - 0x000000789d09ea - }, - { - 0x77596837c90d0a26, 0x2d9d5d39a690974f, 0x87204cf5d13e7f0b, - 0x000000b48b1e73 - } - }, - { - { - 0x643e89a9b6a5161b, 0xbbc0d28ed9d4dc22, 0x12e66af85ebb7283, - 0x000000d17792b7 - }, - { - 0xe1a8454f35c8d7a9, 0x46519e298d5f04e0, 0x5e0cc11ab447ad15, - 0x000000f21e6953 - }, - { - 0xa9e088e048895da6, 0xe42fa74bd663830a, 0x9dfebb3eae498a44, - 0x0000001b3e51ef - } - }, - { - { - 0x2f49c29c418c98ef, 0x477b937ba8c1b949, 0x764e23e144d72785, - 0x000000b8390208 - }, - { - 0xe3c7f48669d8d7de, 0x8ef1c6ff15c96d39, 0xb5bd0e5b72418415, - 0x000000828d9667 - }, - { - 0x1fa516f53ee8edc6, 0x57f19539bf35eb7f, 0x4842d0101c94406d, - 0x0000001d6fac1a - } - }, - { - { - 0x31f81b4dbfe48967, 0x1224debf385a87ef, 0x3f878c8a90ce793b, - 0x000000b6ad3bc6 - }, - { - 0x6be62c04502d95dd, 0x28a8d0554bdb6d0c, 0xd2e4f9ac79a5bda8, - 0x000000cc34369f - }, - { - 0x4b4483d0450fc10e, 0x3aa71f32a9d7b8c4, 0xcc5b451c990ccdd, - 0x000000613f3867 - } - }, - { - { - 0x823a0cb864921811, 0x45b9c100aa4c6e78, 0x19bb417801500f29, - 0x000000c1f1c7b8 - }, - { - 0x58b7752f184c84e7, 0xe2d9a1b24abdc637, 0x9db48feac83933ef, - 0x000000b1d49be9 - }, - { - 0x1383e5fd9bbfdb84, 0xbdd3cfffb21d24fb, 0xce16f783c6b863bd, - 0x000000c4a76acd - } - }, - { - { - 0x2972fb7584026b0, 0x7b788bf257b77950, 0xce6e6d863ec9d870, - 0x000000e470038a - }, - { - 0x25d19df827aadbaf, 0x7b69754816018323, 0xa3e2d8d3e3223b18, - 0x0000005a0ffcce - }, - { - 0x67c6c806fa3241ca, 0xdb307fcf54234d3a, 0x44ff8052666aa54c, - 0x00000085967aee - } - }, - { - { - 0xc6d5ff4cbdc35821, 0x1174e39982c7ac97, 0xd30b09b1ed1eef50, - 0x0000008d6c5648 - }, - { - 0xac825b629f23cff7, 0x9bca808d4e60be6a, 0xd43266db1feac601, - 0x000000121af70d - }, - { - 0x33f776063bd7b112, 0x282bf91430bf0c7f, 0x5aa585867507d789, - 0x000000638b6495 - } - }, - { - { - 0x30a787e03ec23598, 0xfce7dbe08b077234, 0x74e8a7426b89c527, - 0x000000aeca717d - }, - { - 0x10a7a8ffa235bc8f, 0x2d83c22388568a7c, 0x75bd36dd58b8170, - 0x00000097c84403 - }, - { - 0x701fc7c3e18203a9, 0xd2b792aba54b8d92, 0x8fb312ea8d70051f, - 0x0000008e7694ad - } - } - }, - { - { - { - 0x3f46572c2db4349e, 0x62407c99e5d194a, 0x6e297d80db13750a, - 0x000000144c213b - }, - { - 0xfd225526c74ceb51, 0xd439c579232f82af, 0xc96cbfb98c3aa17b, - 0x000000a7de6d59 - }, - { - 0x76260f12e3784ff1, 0x67969a736e09e59c, 0x96021576239323c1, - 0x0000001de22a1f - } - }, - { - { - 0xf71fb706d2223652, 0x681e9fa5e2cf3efa, 0x9936e007c6fcfbab, - 0x000000c6f48ed8 - }, - { - 0x11200ea44a564f16, 0x3902c9be967fdcf8, 0x14d538e25838500d, - 0x000000cb8a2826 - }, - { - 0xe00b036cc95160d6, 0x5204e934e163c1a0, 0x835051fa85acc245, - 0x0000008b3c0dfe - } - }, - { - { - 0xeedbd83e41e1c2fc, 0xb08fb530a833843b, 0x8c8ebba09a2e9696, - 0x0000008667abd7 - }, - { - 0xc065296fea0b8d17, 0x2c5ed2ac13473d66, 0x89d879eac918a443, - 0x0000000aa9359e - }, - { - 0x5e6aaf0b71f4fad2, 0x29552c6f1a32b830, 0xf1e81215d32e37e8, - 0x000000ac5640d5 - } - }, - { - { - 0x11f83491378b67aa, 0x70fc660ae9e303b4, 0x39b5308e2ba04ccc, - 0x000000b73543b1 - }, - { - 0x56e8741517983c1d, 0x811c68a736067cdc, 0x81a37c27df4f3cd7, - 0x0000009a29c2e8 - }, - { - 0xb0d3eee36e53c688, 0x8b5340df4ce66c97, 0xb7c57e44218460e9, - 0x000000628dd0d4 - } - }, - { - { - 0xd1c6cfe73e5e08eb, 0x461f95d8629a1ae, 0x52d9c01b79cf0919, - 0x000000b15bb476 - }, - { - 0x2939ff83dcf5049c, 0xdb116de896efef9f, 0x1495d834d42a3996, - 0x000000a3124d13 - }, - { - 0x60df02e3d72aaf96, 0x95fae7277a07ddce, 0x646859219a56036d, - 0x000000304de463 - } - }, - { - { - 0x5a10b6f818b6740f, 0x28e9a6a2eb7043e9, 0x11605e4de0993aa7, - 0x0000001b223551 - }, - { - 0x60b11b43832a7c91, 0xb8d8b63299dea64f, 0x1e1fc2ef6c8bf91b, - 0x0000008f8f8b81 - }, - { - 0x4296188b5e4c920f, 0xf6146c7325c25377, 0x6ba6fc9e20b96080, - 0x000000b4624457 - } - }, - { - { - 0xa45e5a0b5e890de9, 0xd1ab4918c6197537, 0x9a4d7bc9cf647ccf, - 0x0000003650144b - }, - { - 0x6cdec1a88ad6cba6, 0xc15108c49867e50d, 0xf5e7cc3f026c1e55, - 0x0000008e0afe3e - }, - { - 0xea0150dc06c768d7, 0xc6b73d4c377fb887, 0x6bcdea8bccff4a53, - 0x000000ceb6b3a8 - } - }, - { - { - 0x995d692e71ed46ca, 0xc6b9786c6c76859b, 0x42aa03750d920387, - 0x00000032759c09 - }, - { - 0x740c99015e7f9f2b, 0x46f9944170f597d1, 0x400c91b255e7044, - 0x0000007559ae5c - }, - { - 0xc180e5b158ba2a89, 0x5cd4ab4458bd8c71, 0xacbdeba66320ae85, - 0x000000c3b2388e - } - }, - { - { - 0xe8838aa622712682, 0x5cdbea4c0cfe8a0d, 0x39b6ca7f91c993f0, - 0x0000004a0cd838 - }, - { - 0xf1745674227b690c, 0xbbd48013c6cb9d7e, 0x980b38b5e8ea40b7, - 0x000000c6190dc7 - }, - { - 0x1458f0e76c257f58, 0xcfd7867fe8bbfa1f, 0x63fa66c5efeffc8, - 0x000000f156f94a - } - }, - { - { - 0x78f0a51a13a5afa5, 0x69478443b48cf9c2, 0x41ed5f24e601a7ec, - 0x000000f5103f39 - }, - { - 0x37214a55c003947f, 0xcabb8eed3d284c46, 0xfa3171504c21eb43, - 0x0000006ebd129b - }, - { - 0xd88bc8d70955fdad, 0xa25c26f2d0018012, 0xc8ca91cfca28a4c9, - 0x0000006bb15c28 - } - }, - { - { - 0x31a349d062cb0c08, 0xc71b63a2e1c9a5c8, 0x632467a17dc18aef, - 0x00000098e82f64 - }, - { - 0x2b90f8aad836f39a, 0x3e1ab2b594ac6d2a, 0x5d945bb47efd91cd, - 0x000000dc01c49a - }, - { - 0x4d26be7491ba55bf, 0x61062c304a2147b7, 0xef7796d4d8335271, - 0x00000082ab7898 - } - }, - { - { - 0xbd6350ddb8eca3fb, 0xf51509e9d1666283, 0xbf0f7c907e21fabf, - 0x0000005890d2a1 - }, - { - 0x1405110fe7e105f, 0xdac5acc2db87610e, 0xb751e2c99c4a27c7, - 0x00000030efbbe5 - }, - { - 0x590fe992a85e3d10, 0xb07be1bd9cb0919b, 0x5721a626e4b7a96d, - 0x000000273feae9 - } - }, - { - { - 0x81556f95115d70c6, 0xa7df3719eb39e3f4, 0xd6d1be7f103f7b74, - 0x000000f4bf1985 - }, - { - 0x3eeb5620775a45f7, 0x1e842f22145ba0f6, 0xcb809133babe506c, - 0x0000002af501f7 - }, - { - 0x4bc886f5139d33bf, 0x51039edc5cd48f37, 0x48b638eccce20e0c, - 0x0000007a34f450 - } - }, - { - { - 0xe008fe2c26eaecf0, 0x18e88e25d557bc1e, 0xd89a3614aebc6a90, - 0x00000082ad371f - }, - { - 0xc6d37c8474c2264e, 0x9659d195105d70a8, 0xef9ef75af7186e5c, - 0x000000dfb4d0be - }, - { - 0x3e23e2b9fb231fad, 0x24141c27a42777a6, 0x95abb665918d38da, - 0x00000097bffe57 - } - }, - { - { - 0xc65507805a9fc42f, 0xbdcaec0d8e640b47, 0xaaf60511e8cd0cf4, - 0x000000b62049f4 - }, - { - 0x817417b1fdf81fce, 0x51bf56c7432a1fb3, 0xa7acf1f67ec9b984, - 0x000000c577559e - }, - { - 0xf3e90c4088e510ec, 0x3b21eb1fdb1ae1c8, 0x93ce5b8f8e06651, - 0x0000000a68e7bb - } - } - }, - { - { - { - 0x79cfe0d79bbcd426, 0x23136d3c6f138966, 0xa32e34f3f1bcc68b, - 0x000000ae309094 - }, - { - 0x9cf09cc5c8fa2a61, 0x7595f87991284670, 0xbb99a3664320d04f, - 0x0000000f8242f7 - }, - { - 0x1af48f849f40ba0e, 0x56a796e47416d178, 0x8adf3c3b32f1c8bc, - 0x0000001a44e83c - } - }, - { - { - 0x4d85c5f1766c1f68, 0xb62979e6fd3ef2d7, 0x5351e0bd6a32cc4b, - 0x000000c6377314 - }, - { - 0x14bb21d9ed63160d, 0x17a498685618ab30, 0x84ab633c2b59a158, - 0x000000c750b124 - }, - { - 0x82682aa7908259ad, 0x211db562d51817b8, 0x1f7e90b1eded3732, - 0x000000abc5ba3e - } - }, - { - { - 0xdd79af2cc0cb9dc8, 0x8278b77af26e8776, 0xb8b418496d47a1b8, - 0x000000c902ccee - }, - { - 0xf05c4ce718f243dd, 0x4f1961ef417fc1bd, 0x76291aa6c71635f5, - 0x000000c4cb830a - }, - { - 0x5d85c4c82a661bee, 0xdaece888e13445f6, 0x682a79e55f5bea88, - 0x00000039422c13 - } - }, - { - { - 0xf18d5fbde1ebd83f, 0xf15a23f8e81b3457, 0x7cbee206ae81e844, - 0x0000004742d2f0 - }, - { - 0x4e0e87a64a360cbd, 0x44594be821ca0f79, 0xfc03cdfbdadfc463, - 0x00000044227fe2 - }, - { - 0x3ade6ae3ee5d4a0b, 0xfca00aeef53577e, 0xf343126f7778594f, - 0x000000ba90dfd9 - } - }, - { - { - 0x3cca6fefa98be04, 0x61a855506fea7f9d, 0x627ee9885ea508bf, - 0x0000007c9c7b24 - }, - { - 0x30846f837e55c814, 0x6a0c31d3de079ef0, 0x4d97162324b5a28f, - 0x00000087afd75e - }, - { - 0x80fabfc5b12cbb90, 0xca9fafc575109d85, 0xcdca60056cca9359, - 0x0000007847c3a8 - } - }, - { - { - 0x3afb8ab96e937090, 0xc3315f3f56e7520f, 0xf71c37ccaaa765e, - 0x00000031562ae8 - }, - { - 0xb160d18822d30bb5, 0x31c7bad11ab9261d, 0xa7b46a9f3da5b304, - 0x00000062ab8cdc - }, - { - 0xae2f49918f8d87ac, 0x1effdab65e3b2d5, 0x930a5a82f8c86a4, - 0x00000028e67c56 - } - }, - { - { - 0x56017ee5f16c5d97, 0x694efd31023aeb45, 0x55b66a22cdc9018d, - 0x0000004d1b3715 - }, - { - 0x49db339ba953e117, 0xac695d632b5e4fda, 0x9ee60cf6590ad8b0, - 0x0000009afc097c - }, - { - 0x6ad018da56c7b497, 0xe80844695fc0936d, 0x99c3b0e2c3ccdb4e, - 0x000000f98a1230 - } - }, - { - { - 0xfcd29353c0f393b3, 0x25b21519d06e70e1, 0x524568bfe8a1fbe8, - 0x0000008078778d - }, - { - 0xd88eb40fa9473a97, 0x5208c8bae718f1ed, 0xf8ab5472838a4683, - 0x00000079b368d9 - }, - { - 0xa65160250dc78e9d, 0x5660778d829dd021, 0x42a7caee21788229, - 0x000000fd5d9992 - } - }, - { - { - 0xa8ad460f8e8e6d34, 0xb45c64902930567d, 0x29c7e4811460dd91, - 0x0000009551451f - }, - { - 0xd6a592d8f655f294, 0x8cef64047098bc7b, 0x23ae6b1e247d8024, - 0x000000695bbc6e - }, - { - 0x5cb6a6fa5b10c315, 0xfd9d8285d6a128d3, 0x3ef3ca689de72147, - 0x000000095c461b - } - }, - { - { - 0x1e6948bcf6401639, 0x4a0797538a9d7d99, 0x5d3e6e3a18f46a03, - 0x0000001da5bc43 - }, - { - 0xee404f15184fbd8b, 0x8363ccfe20ff21b9, 0x89c560e41c3deca8, - 0x000000db00c090 - }, - { - 0x8a57145aa7853a99, 0xb5603fc31bb3b75c, 0xcd90ce3b95b3793f, - 0x000000326321b0 - } - }, - { - { - 0x2b2c42749c26feb6, 0x5bbc5fbe7c929ccb, 0x290742ecbbac2619, - 0x000000a6d8a74c - }, - { - 0xcca454f13fd3309e, 0x7fe21e634a3cbc6e, 0x4aa0a1e6daae41f4, - 0x00000078c6e175 - }, - { - 0x1fdeaaadb63d347b, 0x9acccbb87cad4676, 0xb13147274e8eac63, - 0x000000570fea7b - } - }, - { - { - 0x62831cb4c67ae17e, 0x35dbd69cab535e11, 0xa21aa0591c97c386, - 0x000000c3c035d4 - }, - { - 0xbb55814455c2256e, 0x5b19b2824e531be6, 0xae816290b76956d0, - 0x000000825f4e00 - }, - { - 0x11c14a3aede93cd8, 0xb201199f89f8998d, 0xfc50e81b286accd3, - 0x0000009cdc2b67 - } - }, - { - { - 0x3d35f86daa8569be, 0x1957fb9454519247, 0x90a872b0955df042, - 0x00000026aea1e1 - }, - { - 0xed3df04de2be6c47, 0xb51e9705d167f764, 0xe604246523941c59, - 0x000000e294acbd - }, - { - 0xbb6e7b4843e9aa80, 0xadcaf52703d8cb50, 0xcdff44ffa864dad9, - 0x00000078a5286d - } - }, - { - { - 0x63d987ebb5b0a6ba, 0x8034da6e497e4163, 0x8ed752411ddd044d, - 0x000000cac72a55 - }, - { - 0x8c28a9f9a660175f, 0xfce298ebb6aef890, 0x9ccca3a2c1d8ca65, - 0x000000d2607ad1 - }, - { - 0xc4dc49dfaeeadd77, 0xc5767979af9c7bd4, 0x68bd536ce4ae516f, - 0x000000a0da52f6 - } - }, - { - { - 0xe9a1cfa3a5cfd86a, 0x9c6a910fe0c89b92, 0xbb640a016cb84f26, - 0x0000006f0b42d9 - }, - { - 0x62033cc955820ca9, 0x6f8157d4e8533431, 0x8372c336a90134db, - 0x0000001f283284 - }, - { - 0xe760bf9dbc2ef97b, 0x9666144e07529f47, 0x5918966653011311, - 0x000000863cb629 - } - } - }, - { - { - { - 0x3fd4144e509f70ea, 0x5711c75f0d007a12, 0xcd81cb23137796ef, - 0x000000270efa5b - }, - { - 0xeb40367f5b5f344c, 0xbc5f17f600ce9405, 0x615923c4f9bdfdb7, - 0x000000c15a4c3f - }, - { - 0xcb453e036f1a53cb, 0x2b6c223489026595, 0x273dc149ec7fff5, - 0x0000005f971995 - } - }, - { - { - 0x9c94acf11ced5a3, 0x35b9b01d5fbb6d16, 0x93b9f3eaa8959563, - 0x000000e2082fbd - }, - { - 0x516201d593b7b15e, 0x6dab3551535a6b5c, 0xb470c6260cb404e, - 0x00000051695ce7 - }, - { - 0xc7b521c1e28c7122, 0x6676e2ae6e581169, 0x739038930e01e904, - 0x000000edd3fc05 - } - }, - { - { - 0xe5139e7d6452073d, 0x68b6ca50798b445a, 0x8d1c2860c34026b9, - 0x0000008c50d3a5 - }, - { - 0xc24ba5277992394, 0xbc2284e0763135a1, 0x91aee62deb870346, - 0x000000b5745757 - }, - { - 0x85f76d44dc9dd477, 0xc3ab5de3beeeea32, 0xbe4690f1bb247ee5, - 0x0000005e99fc7b - } - }, - { - { - 0x7643487d8748e59f, 0x2c3f2616db1f4f75, 0xa3fd15ae12371b4d, - 0x000000f0811672 - }, - { - 0xa369e32fac2a2050, 0xfbdf48ac36b77aa2, 0x19851603f896bde2, - 0x000000b2c979e5 - }, - { - 0x68324321ba7be0d9, 0x90c3f6f60d838e0d, 0x7ce4c3aea4f484e8, - 0x00000090844327 - } - }, - { - { - 0xf7f6b8d7abefeecb, 0x290173bec3fbecba, 0xc2e67e2b0f64b778, - 0x00000082e86665 - }, - { - 0x715b5ca7d60fb6b0, 0x17f4a890fecfd5f5, 0xf39c9a514390151, - 0x0000004ede4ec2 - }, - { - 0x60bea5599cf305d6, 0x8596aad58002bd63, 0x7befe4539a1b9548, - 0x000000fa5850d9 - } - }, - { - { - 0x9f7a3661548d8c0f, 0xc747550f489abda5, 0x74b1db99f7121363, - 0x000000d629bdef - }, - { - 0x6d1086e7400dd057, 0xc39c37dff8b0936b, 0xca15c50169ba5791, - 0x000000ea38cf8f - }, - { - 0x818e24a03ef9fbd1, 0xcd399f70a492fda5, 0x2557ecd0100dd184, - 0x0000001a4810cd - } - }, - { - { - 0x68ac0ad8f0e58722, 0x4d9f8ea803ef3955, 0x402f33635c480df3, - 0x000000dfb4ca4e - }, - { - 0x4cd9b2c71b7687a, 0xdc502d0ca0afae4f, 0x64a860519363eae2, - 0x0000002cead5da - }, - { - 0x70514e618edc62ff, 0x49fd9e7ce781d324, 0xcd10b7329312bb5f, - 0x000000addd766b - } - }, - { - { - 0x59fbaef7c86501f0, 0x64de59a165ca1a5a, 0x23c1074a1f2e894e, - 0x00000075f334b6 - }, - { - 0xb8c46db3e971fe06, 0x6b1393965b24ccae, 0x3268ebebae77d8f4, - 0x000000185ed55c - }, - { - 0xb0e227f760f0b6d2, 0x72d60cbce9f103c6, 0x665f53051908a2e5, - 0x000000a27cc62a - } - }, - { - { - 0x4d6b68d84560d305, 0x5e20afe6773a8bc1, 0xedc39c72125c8466, - 0x000000ebf5f76d - }, - { - 0x8ad36e6758cc1209, 0xce07816a01e8ab25, 0x4b7c134e847e65c2, - 0x000000c0204769 - }, - { - 0xabbc444fcbc8bfa4, 0xe0265bd3c944e269, 0x39fd1c378951a25c, - 0x00000056d80722 - } - }, - { - { - 0xef6a8c1d2e917fdb, 0x8d8d2830b3af1b66, 0x182f937f9608c5af, - 0x00000026365686 - }, - { - 0x1bc7fc91537ae023, 0xfeb15fc13dd1e74d, 0xb083775ea65774e3, - 0x00000088c62466 - }, - { - 0x57fed0562d603f4, 0x455da1101facc045, 0xb8a776a86d1d6480, - 0x00000058ed67f0 - } - }, - { - { - 0x8a9da9c9ddcf2ba1, 0x9785093859daa939, 0x1c315548203cf78d, - 0x000000e1bda86d - }, - { - 0x680ba3914c88ab23, 0x1ee900b547be43, 0x1abe1b372418ccc6, - 0x000000f75baa91 - }, - { - 0x5ead336fc405a4b6, 0x280184d3502fc731, 0xf74a833a5f7a9281, - 0x00000095b6da00 - } - }, - { - { - 0xadef308c70c6883d, 0xfb6b7065928b3ed6, 0x6f0ab9b3a8196bb2, - 0x000000f1f801c6 - }, - { - 0xf0ae341f5237f429, 0xd41bd1e528869975, 0x7ed0a0ad33883418, - 0x0000001949c159 - }, - { - 0xf2f724d5cdd83e18, 0x33ebfc3e28842c3a, 0x32a57ca912126489, - 0x000000657f3ba0 - } - }, - { - { - 0x521a0e009b100d7f, 0x5b0f0b03d517a84b, 0xf2fdc2f2a8ad936f, - 0x0000001ad66c52 - }, - { - 0x5d3450935c86bb42, 0x1caa7732cb62be2d, 0xb2efe62cfcab7c67, - 0x000000d48a9ea8 - }, - { - 0x43a6710afdfaf5df, 0x2944561edeae47b2, 0x1c73f457cddfb563, - 0x000000d867e063 - } - }, - { - { - 0xca4d548abf56761, 0xa020975b47e3f92, 0x6bb2b3d9d98da1c2, - 0x00000025b9cd41 - }, - { - 0xaaba38d766d8ee11, 0x321fa51e59e9fc0, 0x6f9fefa2ce2aefa6, - 0x000000e10a97cb - }, - { - 0xdfecdb3f1f545c84, 0x98fb73cb77516da5, 0xb1bb9f7978301500, - 0x000000e07e9a73 - } - }, - { - { - 0x4f0c9381efb3b7b5, 0x774354327333a0a1, 0x5ed659b8607fe834, - 0x000000ad04d0b7 - }, - { - 0xee17ea3bdd96b408, 0x31100bee1eae4bca, 0xbe21382fa282814c, - 0x00000080a00b85 - }, - { - 0x871d37c758d0fb47, 0xcc7a6811aed0cc52, 0x3fc10e85654baf04, - 0x0000002e1a5e7e - } - } - }, - { - { - { - 0xa81813a3fba752e3, 0xb75c07005117a0cc, 0x5de09a618e658c95, - 0x000000637438ea - }, - { - 0x8de5d69d4b7f4109, 0xb9d994f58358cbbf, 0xa7fbfc7128d40f01, - 0x0000007a8cdf74 - }, - { - 0x7c6032b800f81858, 0xc48bfe5b08c31cb2, 0xd416fe98dcc0dc1d, - 0x000000fcffd0f5 - } - }, - { - { - 0x44ebb16ae7cc008f, 0x7c39eff44878d3d4, 0x5638633ac0af7128, - 0x0000001aecfc0b - }, - { - 0xdff8c6a648cb97fa, 0x266094cb77e80e3b, 0x8e29bcd5a4cf7500, - 0x0000007677e330 - }, - { - 0xfb0582947a0786f7, 0x3bc29a524bdfefd4, 0x2145567359f85d63, - 0x00000091f4ae4b - } - }, - { - { - 0x1d8ab1e397103a75, 0x8cb0b62a18ed837b, 0x3d39c702c72a3d69, - 0x000000caea0c07 - }, - { - 0xaaf1770e3db68e60, 0xa6283f2eaa934dcd, 0xfc3b26d2e144ed73, - 0x00000029ad1da5 - }, - { - 0x44f5b445aeb8e78e, 0xb8230dd21c4b0578, 0xffeaf16f0281c4, - 0x000000febdb0a8 - } - }, - { - { - 0x249b9b973e027e39, 0xa7e89c004052cf8b, 0x96371d5d9fe2a78, - 0x000000893dbe47 - }, - { - 0xf5b3dbb3ce878a38, 0xf3b9d7db3ec68765, 0xcc0e840b43ed0d03, - 0x00000078d76405 - }, - { - 0x83a516cf2814a696, 0x5f48a49bb114b7a4, 0xb555d2b2eb0966e5, - 0x000000938ee32f - } - }, - { - { - 0xb7f03e01e19bccbc, 0x91f80672e3890549, 0x94c385938b92da1f, - 0x000000a307738d - }, - { - 0xaa7d07ce80ecac85, 0x69bee1a52ad1ddb6, 0xe523ee9e2afc2251, - 0x0000004d5750bc - }, - { - 0x53e6bab70cecb7c9, 0x60c03753eae96d9d, 0x96e1661784dc2c93, - 0x000000d1159ba5 - } - }, - { - { - 0x7ff0308a9761d951, 0xdcefc027117f42cc, 0xa62768beca368fb6, - 0x00000045974495 - }, - { - 0x9f22063d51e4d1d4, 0x262802e92d5e07a8, 0x3125ba795a480bc, - 0x00000018d8682b - }, - { - 0x69c9781532cd3c98, 0xe720e43ab2a1e2f3, 0x763a636eff97d40d, - 0x000000e0d9f872 - } - }, - { - { - 0x15b670b50e34dd98, 0x1fed8a869918de1b, 0x50a575d271ec4372, - 0x0000008b4637cb - }, - { - 0xdb584e1261794b44, 0xc7dbd25644c827f0, 0xa4048ab5252ed4e, - 0x000000feda0027 - }, - { - 0x71000e8a3ece51e, 0xf38bbe6dfbe39508, 0x70ee0920d931a2ca, - 0x000000f687b190 - } - }, - { - { - 0x6ff70aabcfec1351, 0xbf078465a13c8e76, 0xc94d293a6a2ca20f, - 0x000000f2999d53 - }, - { - 0xc28427d07f8f4a09, 0x1494fbed2183e66b, 0x39b8bee129d3d04e, - 0x000000881b4ee1 - }, - { - 0x2d0b857a2c17ac32, 0xc93f0c38622e36c5, 0xc6dc430ffd2f53b, - 0x000000adb47254 - } - }, - { - { - 0xc9a94e7efc450042, 0x9235554f4363b762, 0x7c22687dbd83af7e, - 0x00000018cb6a44 - }, - { - 0x56e1b5e68c9937e8, 0xe8ab53dd41123d53, 0x2dfdc49d2b70829a, - 0x0000006b0b9b82 - }, - { - 0xe1c8c14793f79acd, 0x2b5056e4c47213a3, 0xec1ed7f625167c1, - 0x0000009df52891 - } - }, - { - { - 0x4b2e46672091e10d, 0x520c8227b71fd9bd, 0x5bbf65799ea59383, - 0x00000096b50c84 - }, - { - 0xed674b49cbf4bd03, 0x52c84fb06e4821ae, 0x7e64c9b6587b17d7, - 0x000000e9024851 - }, - { - 0xd5906b2a273b1b0f, 0xaae99495f1a55538, 0x85f20b4eb9871cc2, - 0x000000d80db0c3 - } - }, - { - { - 0x53ca8cc126ac20c5, 0x429861581d58b6d2, 0xec2995060449e99a, - 0x000000bd6f12b6 - }, - { - 0xad1754921387f4fa, 0xab20eb5694ba8de4, 0x220a042a4bb26739, - 0x00000061ff9356 - }, - { - 0x31fa5a3022a2c5a3, 0x100f0e7b9a946cde, 0x95d031c88571ae34, - 0x000000f0fcbf5f - } - }, - { - { - 0xaf234efd3caa03ba, 0x52be3e5a61c82bde, 0xeb072bdf6d37dbfe, - 0x000000fde9d533 - }, - { - 0xd27d7ed930a1c603, 0x2eefb9db9a446d01, 0x3c891588bd1efe2f, - 0x000000a7ae3d88 - }, - { - 0x9ef6d862d6bb9e94, 0xac1f6ff209fb6ad7, 0x8414df359deabab7, - 0x000000eb9351a8 - } - }, - { - { - 0x3805ee522b8458ca, 0x5583838bad62b9b9, 0xb223c0dcf3c9f7fb, - 0x0000004ea685c1 - }, - { - 0x5c24786079d43d57, 0xcafbccbe9ecd1adc, 0x763387302bfed76e, - 0x000000d4d8e7f0 - }, - { - 0x5fc77c01dde1a186, 0x160648b48892a876, 0x622f013bc5f213fa, - 0x000000dcb3e8c1 - } - }, - { - { - 0xf1e78266b5aca3aa, 0xef6ee67654646f7f, 0x99a9d2270c9c6314, - 0x000000f47a0880 - }, - { - 0x7f1cc666bc4a2578, 0xd2a0d3fb52d50a3e, 0xe7713234b412d1f9, - 0x0000006c3e5030 - }, - { - 0xe65b2e646616d963, 0xc4acb4b1e0d358a8, 0x892c7d68bdc3dac, - 0x0000003bb5476e - } - }, - { - { - 0x3236dd058060f54e, 0xbc8ee315e0927824, 0xe5f64db549d6fa8e, - 0x0000004d69b6c3 - }, - { - 0x28272d057ce7c6c5, 0x2df702fff4406c8d, 0xcae3573ab8716807, - 0x000000b4f88850 - }, - { - 0x641f64db08442096, 0xe51487a2c50a2e74, 0x4ab226969210509c, - 0x000000989b8ae1 - } - } - }, - { - { - { - 0xf7ef885cd358c2a8, 0x7d5cddbcc0e24d85, 0x41a69aa79a867678, - 0x0000005a03f493 - }, - { - 0xaa82be6ef3d19b97, 0xd1232b054a936e17, 0x9774be19a1f5fe33, - 0x0000008159a53f - }, - { - 0x7442944805bf52e1, 0x2553b828eb2de4eb, 0xaa3457e0a369c10b, - 0x000000438a4765 - } - }, - { - { - 0xd2a68b05c9aac8b8, 0x8ca89e87727b7178, 0x5c414d3a097a96b3, - 0x000000c9c887b6 - }, - { - 0xebffb7ab5759cb3b, 0x4d7892e4bfc87522, 0xb178487bfca68255, - 0x000000d65c5f76 - }, - { - 0x4286dae30850c0d2, 0x4e7cca7cce0b3d08, 0x49b7252a0cc80605, - 0x000000837e9caa - } - }, - { - { - 0xc3fc5d5cd10e8e5, 0x4157e509a775467a, 0xff9130b8f7dbe4f6, - 0x000000d6c2cb5a - }, - { - 0x3cb44aaceb93a4a6, 0xe632b6e3ce897328, 0x4a864813f168a07a, - 0x000000e39cd385 - }, - { - 0x53acf4a1d4980031, 0xb2b53f22dab899b6, 0x16d8efb146a756d0, - 0x000000d5e34718 - } - }, - { - { - 0x33af10496c61dc5b, 0xd5b0afc47f05caa3, 0xe3cf0587603510b1, - 0x000000b61c4a4c - }, - { - 0x5d1b7b6d038478db, 0xfcf95eaed93c66c7, 0x49a48f2abfb443dd, - 0x00000021e23689 - }, - { - 0xd2ae583874b0cfbd, 0xed493e70db856aa5, 0xf392bb89f1a0b35d, - 0x000000181181a3 - } - }, - { - { - 0xd4cbc5a0271e793a, 0x8aa702663f74950d, 0xa42a6d21d01be077, - 0x000000f8ae3b23 - }, - { - 0x57b04cbb4f291000, 0x97baf5226e57ebf6, 0x47007ea66b2065cc, - 0x0000002a07af9e - }, - { - 0x5e4ae4a2ceae9ff6, 0xb7b4839c9503e6cb, 0x337354cac61d6420, - 0x000000df36e363 - } - }, - { - { - 0x4df38c0430c83206, 0x6bfd110ad1fce086, 0x38c6b6d5df3acb01, - 0x000000d62c8b0c - }, - { - 0x809a48d013910733, 0xabc6caaf7c5168a3, 0x4297e36d461a119c, - 0x000000a50b2cf1 - }, - { - 0x906696c7365e80c5, 0x6ffd78b32e5e6410, 0x5e81ac0c8b2414b8, - 0x0000005676d034 - } - }, - { - { - 0xc50f1f2932d0d06d, 0x91b1911f935d2b9b, 0x93b5a05b6a61f04d, - 0x000000d5d3aa10 - }, - { - 0x46d18484a6c9a3ce, 0xb32f9ef1d2bddc46, 0xd1b7ea145e51285b, - 0x000000834e411e - }, - { - 0x57434f45c6c83f0e, 0x938180b1e6e57be8, 0x712d9ac2a4fa7fde, - 0x000000575b1bb7 - } - }, - { - { - 0x6b380503b5d9e681, 0xf738dd243e26a643, 0xc877694894c14567, - 0x0000001e21337a - }, - { - 0x774d86936d153271, 0xf4d7128238142c04, 0xf66781c904e02f68, - 0x0000003c8285da - }, - { - 0xfe8b05566897121b, 0x82c656173c3eeed1, 0x6f63c30448c7973c, - 0x0000002d5ac3de - } - }, - { - { - 0x2a02fa39416a5e41, 0x2968ddcd9ac614a2, 0x5921fea34a712303, - 0x000000ba3dc746 - }, - { - 0x2db231f90e849e7c, 0x6aa8fa909cf893cf, 0x37218c0b21efbbc0, - 0x000000fbfdc011 - }, - { - 0x4b26b72630587153, 0x7ee242a53d88861b, 0x7db11a17dd96e85b, - 0x000000eeb71e6f - } - }, - { - { - 0xed0d2dbc2f68209f, 0x1774b03e0c7fedf0, 0x3083ae42e88c1de6, - 0x000000502d67ac - }, - { - 0x8f486c44fce935c0, 0xece0248d0bd79c89, 0x575407fefd5bb492, - 0x0000004f8c0b76 - }, - { - 0xd39eedf033a3b9af, 0x545744969f014dfe, 0x83e36e59e7327ff, - 0x000000885e4d26 - } - }, - { - { - 0xee39b6ff312f32e2, 0xe800f75f2e4a4784, 0x62f762aab61ffb89, - 0x0000001d67243d - }, - { - 0x433660656d6432ef, 0x621b5611756fe437, 0x4542c8599e222f9a, - 0x00000069003d4d - }, - { - 0xa87fa23294a83e4a, 0xb46999f66999e2e1, 0x5f6789eaa26e2433, - 0x0000004f2bc753 - } - }, - { - { - 0xc4c6bc1c5f1ba813, 0xa512232931dc45e0, 0x4a57f79ed5c6943d, - 0x00000022c94fb7 - }, - { - 0xf744781bdfaa9ab0, 0xa74e3d4c776bfba6, 0xa2f19f80ce309996, - 0x000000d7ff076c - }, - { - 0xef083df99064aba, 0x8468784c0ba6b860, 0xf63135dea33a2d44, - 0x00000061f77a68 - } - }, - { - { - 0xe445bd08fe3e99f3, 0xa2fc92ae5c3a7efa, 0x33412d25a319adbc, - 0x000000531bc303 - }, - { - 0x6baf62ca9d740783, 0x33b8825f7dc645f5, 0x9e342c2eb22d66c8, - 0x0000001f21cabe - }, - { - 0x1229620fafefaf08, 0x456128fd6f35f8b, 0x75940f753aefbf6b, - 0x000000a73610a1 - } - }, - { - { - 0x5704292c6323c0a4, 0x8d97cac703db610a, 0xa3ad9cbda2633185, - 0x00000064099966 - }, - { - 0x44fce03dd6ace4a6, 0xa2328b042c959578, 0xa3a24e4b1fa35667, - 0x000000ccdb12e5 - }, - { - 0xa0662897b7c4d79d, 0xbe5cdb2013958247, 0x21e162839bc79a29, - 0x0000009dcbed2a - } - }, - { - { - 0xce21781a85ecf2d, 0x6e15f785eef61e87, 0xa20754d45033a498, - 0x0000006fb4a3fe - }, - { - 0x72cec18f62b031c3, 0xa7b3f4f4a96eece0, 0xadbc3a4188a660e, - 0x000000eb197e4b - }, - { - 0x93ceb89862403ec9, 0xe137fb5b6a2f2bed, 0xf5b459c32ddc6a81, - 0x0000002ab0cd61 - } - } - }, - { - { - { - 0x468ca222da6c08f9, 0x38a86289fad1679a, 0xe19d44d9098c5111, - 0x00000029ab93ac - }, - { - 0xea6c1ec2e3747207, 0x5ffd2de328d57fe2, 0x5249e4406bfa6a8b, - 0x0000003da203b5 - }, - { - 0xe373344b52ee7a73, 0x9c0fb2eba423d61, 0x40dac8d8a7c97f76, - 0x000000538b1b83 - } - }, - { - { - 0xef7391908f3d817f, 0x4fd4b110c1c1f3e7, 0xbe4a1f70474a1546, - 0x0000005b97886c - }, - { - 0x3978210cfa91e62a, 0x1495109cd82d76a9, 0x6b93cce59329c3b8, - 0x000000f99ee019 - }, - { - 0x2995bdfd99bb95ea, 0x9643e8d5c1deae86, 0xdc44eca8a344ead4, - 0x000000d317f4ae - } - }, - { - { - 0xe34b8a1692dd811e, 0x976f3f41aecba030, 0x69758d5224d14873, - 0x000000d2ed01c9 - }, - { - 0x3fd60a889804be3a, 0x8eb56bea05c8e55b, 0x2369538b100bc3ee, - 0x000000f0398e19 - }, - { - 0x1a383ce286d1f7e0, 0xc71cb2b6313eee78, 0xc04ea563b4205419, - 0x000000fc545610 - } - }, - { - { - 0xe8da7adee8c7ad31, 0xf7d45371276ed9f9, 0xb4c8ccd2d8354d4, - 0x000000a3684bcc - }, - { - 0x897253ac5d3da02a, 0xf2fe13aedb4c903c, 0xd9cda6f3716884e4, - 0x000000e1a64300 - }, - { - 0xacde572f2044e856, 0xefe4a3ada5e5013f, 0xafa01eb1c32dc0d4, - 0x0000002121dfb8 - } - }, - { - { - 0xb638fd1ceede1542, 0x4e28c37887909615, 0xaf82dd6293357eae, - 0x000000a0aa0e4d - }, - { - 0x6eb1429614206b64, 0x978729789ed1fe00, 0xf79b758a95c94384, - 0x000000d941c6d8 - }, - { - 0x36b53800e580c33b, 0x3e7a35188e11a268, 0x69af483b1f5f70e9, - 0x0000001fb32a96 - } - }, - { - { - 0xbb5d57b3b38c4c3, 0x404cd06d9f75555b, 0x17da8cc350bbe4fd, - 0x000000ba7a84b0 - }, - { - 0xc3ea0ffece94c1cd, 0xcb083ff43fd3290c, 0x3e466659b9b986b, - 0x000000da2f4498 - }, - { - 0x177b2f011803e020, 0xe362ffa0ea6079e8, 0xf1a9a855e4adf079, - 0x000000b60019ba - } - }, - { - { - 0x3e0d0edb798a510a, 0x2f7eddafc223c63d, 0x424e5a3b1a99df23, - 0x000000423c6c30 - }, - { - 0xfcc4ed827d5365da, 0x97a5499249b3dc71, 0xc1e36dceb7d8bc71, - 0x0000009642431e - }, - { - 0xa5c62e4a3f026756, 0x349da75ac7145f1b, 0x49385cda1aeb571e, - 0x000000815355b5 - } - }, - { - { - 0x9ac0676a5de9d095, 0xb1c0ea68d46e6887, 0x563c3e07b0c90336, - 0x0000004a3e7fa5 - }, - { - 0x839951c8e76d9ce2, 0x26ef25a681bd6115, 0x39bf49c2acbf6d70, - 0x000000b67edd2d - }, - { - 0x17bbeb1c51fa5e2e, 0xabdbc6e06d6ea66, 0x1d3259d598d6b1d3, - 0x000000a44d431a - } - }, - { - { - 0xd1d26a75f5d9cd98, 0x3ae066a3248d4bac, 0xe85a7286680b01ba, - 0x0000002c24a3e6 - }, - { - 0x7964fa408df99333, 0x2f156021e838b0f1, 0xb447418b5c05eb5d, - 0x000000c6273ed6 - }, - { - 0xe6b6fe2a360272eb, 0xbad2a8204bfd8bc4, 0x211c3c1b91b3f7e6, - 0x000000c460cc07 - } - }, - { - { - 0x662d3797c6fb62c9, 0x87c665c249327b64, 0x55b018c6e729c084, - 0x0000002f43c864 - }, - { - 0xfcce687ca974cf8d, 0x361d8d27bb9d0663, 0xb6c45d0112ea36c0, - 0x0000005ea67d3c - }, - { - 0x9e203d52b72bcc5d, 0xc5e6d90061d2fcfc, 0x25eb8ad12c389ac8, - 0x000000cf087bde - } - }, - { - { - 0x84fb92d30ded91f1, 0xad0b8d36b2a1f2bc, 0x180db9a4f78215ad, - 0x0000007338206b - }, - { - 0x4d56642def9e904a, 0x1b0649f1ab707141, 0xb37302fae35a0b93, - 0x000000fbe6fc08 - }, - { - 0xfd7da517efd9e8be, 0xd0cb6652d526f3a6, 0x855a63e0d15a5a0, - 0x000000a8c65a37 - } - }, - { - { - 0xeaebea6e36bc29bf, 0xe3b4dbbbed3aebb2, 0x3451ba4633d78af5, - 0x000000fa580f59 - }, - { - 0x4566c7dddff14534, 0xe81f87d11f67f72d, 0x3fb0b237b02ba2d1, - 0x000000abc21f64 - }, - { - 0xb260ce037d072ba0, 0x38c8388971efec1e, 0xb1fbb011c24aada9, - 0x000000ed4d284a - } - }, - { - { - 0x35318ac20b11aeaa, 0xf246a29ecc60bce0, 0x8ca134d6f942e118, - 0x000000a027b3d9 - }, - { - 0x3243226fab3f1dbf, 0xb22d41ffacfda1c1, 0x1a8fa581171ade5f, - 0x0000002f4a3abd - }, - { - 0x61dcd5a07bd863dd, 0x6b5fea0c83ca479d, 0x3d9a0b3335712710, - 0x0000006f575d6c - } - }, - { - { - 0x4672c65465a87eeb, 0xac110b66c2965366, 0xf5b424e1fe635be2, - 0x00000020d36041 - }, - { - 0x2b9b99c93a4c28f4, 0x55cd4345e1ace903, 0x82000d4136408614, - 0x000000eb572d7e - }, - { - 0x15d9cbe6331162f9, 0xa1c676a6aa0d1f9a, 0x36d96e2ae3405796, - 0x0000002a054c35 - } - }, - { - { - 0xfb886065e27a4302, 0xa3f2322654c021c3, 0x2eeffa454a9cb5aa, - 0x000000eda7fe55 - }, - { - 0xde5595288ff89a4e, 0x698c8b8d8502c1f9, 0x997df7d0a7aeb14a, - 0x00000098d77e7b - }, - { - 0xe581e3d852579a09, 0xc520aacacc8f0fb1, 0x677ba2592dc1bf20, - 0x0000001579312d - } - } - }, - { - { - { - 0xaa5a7923eda9f9c3, 0xe7915996ffc1320, 0xe65d9cd34d0cc37c, - 0x0000003053a032 - }, - { - 0x5daa2eb78c7634eb, 0x3f227c348fd01dd6, 0xe94ab3432f630226, - 0x000000c47bdfba - }, - { - 0x38aa80ffa5d30142, 0x11af0871d25d8d66, 0x65ce9e33763aee3e, - 0x000000a4ef8f5b - } - }, - { - { - 0xf84f5306f10a0833, 0x7d484fedf9b391fe, 0x3074d6406851c98c, - 0x00000006028e99 - }, - { - 0xa764155796d860a5, 0xbd5bce0264ba958d, 0x97247494672e174e, - 0x0000005921c8d8 - }, - { - 0xd6e8e2f58572bbd7, 0xad04b0d17e714d07, 0x37f94a28b6a644e5, - 0x000000caa0feb6 - } - }, - { - { - 0xf09aadf78d69cb28, 0x242a73a54f60ec4c, 0xa566bd474a8760d5, - 0x000000b2f9aaaf - }, - { - 0x50ac12329c086fa4, 0x96ff1fe23babf48d, 0xb4ac913eb9273f45, - 0x000000d69d1fec - }, - { - 0x9715a3fe44668287, 0x1e5459bb6f641967, 0xd22d5b768d039498, - 0x0000008b958619 - } - }, - { - { - 0x3fc675925fdefeed, 0x4f5d1f692ebaba7c, 0xc61b11982726c2d2, - 0x0000001adda431 - }, - { - 0xd6a2a5519b161ebd, 0xa6b78aebff7d3acd, 0x5ab2722c8864f6e1, - 0x0000000bf37be8 - }, - { - 0x51b0a49d9f94c23c, 0xb50b2218c51ab176, 0x7decd3098d5b43f3, - 0x000000a27e00c4 - } - }, - { - { - 0xda468a97d22f5f0a, 0xe6da6f8bf20eba09, 0xa831b2bbd75396b2, - 0x000000918b9450 - }, - { - 0x80bbe32871b4d815, 0xb4afa3aa8c853585, 0x3f5d891944e91db8, - 0x0000007776282c - }, - { - 0xc60969ec6b47f3a4, 0x88db8e9f778c11ea, 0x911e52efde488ff9, - 0x0000002564e80c - } - }, - { - { - 0x5ddc675a9d087722, 0x7034aefb5cc68b44, 0x94bfe719b51f1415, - 0x000000eec1d188 - }, - { - 0x9899b03f80d4f88f, 0xeb84e784079a287e, 0x3cb8c86bd7d7ac0a, - 0x00000092d8e2a8 - }, - { - 0x28bf1dd323e2f3a6, 0x59b71cc06ff0419f, 0xe2b6bce3f450c472, - 0x0000008d535cc1 - } - }, - { - { - 0xd4fb18d6b0e73f23, 0x484e64803cda3b9d, 0x30a6472bd6d3a73b, - 0x00000027591c21 - }, - { - 0xff489674bff646f7, 0xa7ff21e8f9d6fb1d, 0x4e1072d8d03a9997, - 0x000000436f5dff - }, - { - 0x54c1208c07f17c0, 0xde342dd595c96913, 0xc683b30d92c3855, - 0x000000d8569bef - } - }, - { - { - 0x990094fa93fd7bde, 0x46a1a61ccff8a877, 0x14a2cd68cfc89e04, - 0x00000038a85980 - }, - { - 0xea4662390f38bf6d, 0xd55a6387776d5f2b, 0xa3b2f2a00f7325e, - 0x00000083f34c5b - }, - { - 0xba7bad4025ad915, 0x7939ce1daf8b68d4, 0x2b75efa1dad2585f, - 0x00000047781809 - } - }, - { - { - 0xa5014d716aed4ca3, 0xa0826e66a3ecd3c7, 0x2b90222ce53590dc, - 0x00000059ddec52 - }, - { - 0x24e54ca325b37483, 0x59612b82b2633eaf, 0x41b8b52d9c7660b2, - 0x000000b6bef9a7 - }, - { - 0x804324605e0862da, 0xe9caeaacdd97672, 0xff24068dcdef187c, - 0x00000046be2249 - } - }, - { - { - 0xc1fe49e2c1050536, 0xae2034e49c812d64, 0x6153095b49df9c5c, - 0x0000001aff30b5 - }, - { - 0x5bc02a3155fa29b0, 0xb9fbb2fcb9198b9b, 0x39ddf7595bd66c7c, - 0x000000674b5ddd - }, - { - 0x11f891a651976596, 0x5773fc7d1c841fb2, 0xc27d681fa32885dc, - 0x000000014d03e7 - } - }, - { - { - 0xbfec84fccdea00f7, 0xa231e23481ce7501, 0x54771dc5aca98d3, - 0x00000092919e16 - }, - { - 0x47281b4fe174ed5c, 0xccc0f8aa19a0fc7b, 0x11cac947de0e8f3e, - 0x000000a9788854 - }, - { - 0x88cd6357a3b956cd, 0xe8c7de3eed495955, 0x54337f6cc6b1d5b3, - 0x0000005766c69a - } - }, - { - { - 0xc55030546c3bcf23, 0xa68c0d9cc4265e87, 0xc346f4f1bff09bb4, - 0x0000000914cf83 - }, - { - 0x06d9951cbb2f06, 0x3595204596ddf328, 0xd2037575c1114f66, - 0x0000008d5759cf - }, - { - 0x99dea428a3820388, 0xd83ddee7e7b08c53, 0x1a992e54c0111f32, - 0x00000017100f6f - } - }, - { - { - 0x43c549fabd80a027, 0x3fed30c7b8bec3bc, 0xf05d032789f365c5, - 0x0000005fbc5b17 - }, - { - 0x2139680bb320f701, 0x2dac42745dfb746d, 0x85bdceb7a6edc71b, - 0x0000003c0875e5 - }, - { - 0x1ee95e72c19495bb, 0xa8ce4648814eb03e, 0xb240d48e71317c4c, - 0x000000f44ecabb - } - }, - { - { - 0x185b99c2209330a4, 0x9bd6fd2840fb373, 0x15aa54488539b6d3, - 0x00000094b4331f - }, - { - 0x80b7b4eb8e2a7e63, 0x8534345808ad2774, 0x49024a85e2f8f3f7, - 0x0000005c285259 - }, - { - 0x8a864e54974d4708, 0x75d3e505bbfadc3d, 0xbcfeb3de5b129f64, - 0x000000f252beba - } - }, - { - { - 0xd818d82f8a5b63da, 0x19c88171f769b1c2, 0xc26b84dbc5aa1ce7, - 0x0000008a133071 - }, - { - 0xb86918bae8e8e93a, 0x8920485e9433b188, 0xa7663f5eac08d00d, - 0x00000051b184f1 - }, - { - 0x234455c22efdd1b5, 0x63bea35ab8c6de0f, 0xecb14e9d93d287c9, - 0x000000ca9e988e - } - } - }, - { - { - { - 0x6756c7cf0cff0f3, 0xcb308e62aa3e6cc8, 0x6f13fb505059989e, - 0x0000009c5a2fa0 - }, - { - 0x6652005faee5c31a, 0xc4f28342b519a044, 0x97a8ad605f3851a, - 0x00000095fed444 - }, - { - 0x25e971748098a96b, 0x3ff39949200a2212, 0x876b7945a4667b7e, - 0x000000d540ac4e - } - }, - { - { - 0x564c039139534b70, 0x2afab64efe46b68c, 0xef0c6c23e168235c, - 0x000000aaaf6771 - }, - { - 0xf8815f46659bef0e, 0x54f10fffd422c5ba, 0x876f52e9bb6144f6, - 0x00000038f3c414 - }, - { - 0x622157fcf578c8a2, 0xda7531d0dd0f9224, 0xf460696abbe60171, - 0x0000005fcfe07b - } - }, - { - { - 0x456dfa67c09c9db5, 0xc5f6f33d00528247, 0x5de5f707341d1f94, - 0x0000008e3f4878 - }, - { - 0x99f6b4f3aa40c482, 0xbb1e4451457fb96, 0x1edf6ac6d097e42e, - 0x000000920c97cc - }, - { - 0x131aab73d4f1dc70, 0x20ea4263ef3c0895, 0x2deed8f36e04da29, - 0x000000b62534ea - } - }, - { - { - 0x5ee6b902fd4480d5, 0x44b4dd238f1dc850, 0xb637ad22e1866d61, - 0x000000ff918e7c - }, - { - 0x4b05c1cb080d41be, 0xf35c7657ec32250a, 0x76513155586697b0, - 0x00000063745a62 - }, - { - 0x42e62e88ec2a1f1c, 0x6396338c7c13456f, 0x2e7be51ed608ec23, - 0x00000069d7aa30 - } - }, - { - { - 0xa883de4598c4c4cb, 0x49e022da15bfe8d8, 0x45e1c12a1c2c13e, - 0x00000075797907 - }, - { - 0x810abd4f2ba26f88, 0x67f4cca846967df8, 0xca9ce63df46d5abc, - 0x000000c681d124 - }, - { - 0xb4af06b6da2d2b19, 0x79e4d9b6d967c4fa, 0xc8bb0cddd1ae3a2f, - 0x0000008f7cafa5 - } - }, - { - { - 0xc0170c414b758c8e, 0xce237261b7570f46, 0x95e2b5ec7c8bb714, - 0x0000007a970053 - }, - { - 0x44ce6231181b8831, 0x383580cee36475ab, 0xd0e4b8a83a1fb6db, - 0x000000499b98a1 - }, - { - 0x1b9d318c2c607b04, 0xc3770c408db1ed0c, 0x79c71d550be882dc, - 0x000000c165c5bc - } - }, - { - { - 0xb5b5577226f61e7c, 0xf722d8b316be9782, 0x1127de814374e6b2, - 0x00000055ee588b - }, - { - 0x2bf789c7faff0029, 0x122badeb3f9befe7, 0x9411faa3bbb97835, - 0x000000104bb28f - }, - { - 0x4cd36e2df9408b44, 0xa4247b47c2c0bb4b, 0xe3fa9e0a732b9c85, - 0x0000000d8f4850 - } - }, - { - { - 0xbb3bd23540a1c393, 0xa2d1f74f9f410c65, 0xe68f6a31adda1c3c, - 0x00000006cd422c - }, - { - 0xf83cc439409dc72c, 0x2f5764aed4512695, 0x2cb5c052606aa8df, - 0x0000000b28eb66 - }, - { - 0xf07fd68044ceb675, 0x59cae02b97e69c29, 0xa93335315434a08a, - 0x000000c97f3756 - } - }, - { - { - 0xf51ef015dc158c3c, 0xbe1e40356e3ae8c9, 0x4868b5213a48350, - 0x000000e626fdb9 - }, - { - 0x998e1516fe0e06b9, 0xb1cda90dd677deb0, 0x675b5daa644f58b3, - 0x0000003f26f080 - }, - { - 0xa7a6b5b28676d9f9, 0xfd7eb0eed7cad682, 0x70c9e1bdfb038519, - 0x0000002aaaf3cb - } - }, - { - { - 0xea6a8d5487781f85, 0x164620b50a627509, 0x3807c5762e3dbe9f, - 0x0000006d231982 - }, - { - 0x6bddc277a20e5127, 0xe59aa0c50c486ccd, 0xa86d84e130cbb808, - 0x000000ad5e43c4 - }, - { - 0x4e26f1d6f6723d71, 0x977d6a840a353438, 0xb4e5975a5dfb7892, - 0x0000006f99c9ff - } - }, - { - { - 0x25dd7fb6702a3480, 0x61e76d2e92785113, 0x120e3f38247b59f8, - 0x000000c237d844 - }, - { - 0x456841d53e0f3166, 0x9d23b2a10f4edecb, 0x60c3b1823dec96e1, - 0x000000e931f569 - }, - { - 0x381400af2b50b241, 0x98eb2c74bc6fd4db, 0x5a74eb57f0a04945, - 0x000000de82a5ef - } - }, - { - { - 0x852ce3af982070dd, 0x1e9327d16d6f9f82, 0xb7c24d98f632e483, - 0x0000002be3f509 - }, - { - 0xf673841a4feb197d, 0x1106bf5da5e2e8a7, 0xebb6dc0b1cd1a204, - 0x000000a3c94bc5 - }, - { - 0xd32b4d48865cc737, 0xbbd75a3cc3aa5082, 0x958727469d0846bf, - 0x000000cd609257 - } - }, - { - { - 0xa22d749290d8fd0a, 0x86949cfc78e0b842, 0x355b1ebceb3adf6f, - 0x000000e888c089 - }, - { - 0xa63212e64c5c636e, 0xee4f60f3e26c2fa3, 0x2b816ddf6bab6889, - 0x000000b0d2e096 - }, - { - 0xe5ea28c148b9c151, 0xd26302a1bbbd1a44, 0x38f48c51c2ae0b24, - 0x0000004f22dbe9 - } - }, - { - { - 0x1d6d66517e62f375, 0x51a30ae6ac47b4fd, 0x283d5b4d45c87df3, - 0x000000ae23a566 - }, - { - 0x8063d6a41f3cb71e, 0x59bff8c8053ec0ad, 0xd44be53671259c5a, - 0x000000516d591d - }, - { - 0xbf304585f8c4e7c8, 0x251cf66a4f6a9123, 0xe1ea30b903c88985, - 0x00000003e0fedd - } - }, - { - { - 0x446da5d5482ee0e7, 0xb14d4861ad4c51c1, 0xd9641edcf83998a8, - 0x00000060029965 - }, - { - 0xeaf62b711d4e023f, 0x3cb5ef9c59a4f337, 0x8fcb08116d9b353e, - 0x000000c4cc7274 - }, - { - 0xd3e67cce688b211c, 0xf769a8c599356aa7, 0x15bdaa928bd75129, - 0x0000000657607a - } - } - }, - { - { - { - 0xf862f3238db4e1cd, 0xbdbef349d4a326a8, 0xe4704cb56d0ce38d, - 0x000000f10c1f67 - }, - { - 0xeed89932ae197887, 0xc302722e2fb68e4a, 0x79c409bfa09ea3a, - 0x0000001c948baf - }, - { - 0xb468f2379e8b16b2, 0x4d1619ccfcabb434, 0x65e808165e1a00a8, - 0x0000005036ca30 - } - }, - { - { - 0x7ea1ecf154e68dde, 0xbe42ecf3062ab139, 0x8213ff80999bc1f2, - 0x0000008821937d - }, - { - 0x38adf638a08c301e, 0x4b635c63a6a9919d, 0x44ba97a816f0dd3d, - 0x00000082b66ef2 - }, - { - 0xd8cfbf4e24308668, 0xa3090b04a6e400cb, 0x864d2040a50baea8, - 0x0000005b174fb8 - } - }, - { - { - 0x7b00b47a15757f9d, 0x3d4085580d67157a, 0x2bbac37d03e7565d, - 0x0000003ed11a68 - }, - { - 0x303cabe7263d7968, 0xd50385b4e0e51dcb, 0x3d4a15b24205c7f1, - 0x000000c6b0a534 - }, - { - 0xc7da68605c0a5096, 0x63046237386e144a, 0x35eb57f868d22b2a, - 0x0000008e343b63 - } - }, - { - { - 0xbe840c958d839e2a, 0xbd023bcdae7ce77, 0xb4d8b7936ce11dc2, - 0x000000f4395263 - }, - { - 0x913c30238a64c33d, 0xac39b96cb04c9f00, 0xa93b1f548944b2be, - 0x000000043e44c2 - }, - { - 0xdb339491db41cba1, 0x824416e0e5c74e2a, 0x2458f64108d49b0d, - 0x000000886e538d - } - }, - { - { - 0x36eef3fad567f26, 0xdc97df3afcd428cd, 0xd5fb0953e921b934, - 0x00000094a0054b - }, - { - 0x608a82d8c377a857, 0xefa5b055b5f4fe44, 0x76c0090a1d366dae, - 0x000000aeda6e88 - }, - { - 0x7b81477d0de2d4f, 0x92cd0e575ea53285, 0xe920aa3789880b3b, - 0x000000e60d8e1c - } - }, - { - { - 0x272c8be1fc3dd42a, 0x201de62b1ff56f21, 0x84cc7db537eb4663, - 0x000000fff89399 - }, - { - 0x3288b6b684278f58, 0x7c2dbc92e7d1cc2b, 0x59139d9addab7559, - 0x0000000395cc8b - }, - { - 0x59c949c34d7be78, 0x9d566a5226af3392, 0x6747bd9358cbf55, - 0x000000b21e24f9 - } - }, - { - { - 0x6625d4460a478cd2, 0xab547469d48deb65, 0x1408e6e9bd6c1233, - 0x000000c27c948d - }, - { - 0x623b40134c8d2d4a, 0x13a2bb6fba7d4336, 0x58a9a27468c242c9, - 0x000000b6d1c8bb - }, - { - 0x81273cab93ef5c46, 0x2e9478ee5f3d0ffd, 0x6e00e44aa92b7af7, - 0x000000f74e16f0 - } - }, - { - { - 0x41cc1e652fc21ff4, 0x972a6091d12e18b7, 0xb441b1e0b466096a, - 0x00000041c0b3bd - }, - { - 0xdc28083128aaed52, 0x1b72917ef5a2f44b, 0xd35c627ce34029f2, - 0x0000007a1e3ab2 - }, - { - 0x2541f4728ebc33cf, 0x96a9208a2b8a8029, 0xa70cd095488288fb, - 0x000000fe4ff0c4 - } - }, - { - { - 0x8583b436b430c4b5, 0xc1ddb2f3697a8ac9, 0x6c737296d9bd1ae5, - 0x0000004d4247a7 - }, - { - 0x601e06e9ef060662, 0x6da925c78c6dad55, 0x73a545512262f3da, - 0x00000066d46f4b - }, - { - 0x1976252fe8b3ac9d, 0x52b0fc0369fedfe7, 0x3c68e2675a1c6f2e, - 0x00000045d1b442 - } - }, - { - { - 0x8ac50b5eb0630c2c, 0xcfb1fc333fa168a8, 0x766ea84dd2b9700e, - 0x0000004442e199 - }, - { - 0xbe4d9b4816f66fbc, 0xad23ef417732fbbd, 0xbb57b3b4d3a8f350, - 0x0000003b385f29 - }, - { - 0x2494ea3049ffe95, 0xeb39598a51273fe4, 0x5c1b72fd9f43e871, - 0x000000e50d30ef - } - }, - { - { - 0xfebf53fce92dd3ff, 0xfe01352cefd440ff, 0x74a33c43632647ce, - 0x0000000af9c934 - }, - { - 0xe20760406d707aab, 0xd9f327a5d21799a8, 0x56c548f6e3a1f23d, - 0x000000292fda72 - }, - { - 0x5aea19a1540510bb, 0x2ec1294bba6dcb9e, 0xc742c8ff76f9c6a5, - 0x000000702b881e - } - }, - { - { - 0x500ccaa13f08c02b, 0xa447658fae865c35, 0x6fbcaeec2c2ef2ee, - 0x000000b96cfa8f - }, - { - 0x134ebc89479db3a3, 0x27f3d14e84742e6f, 0x66d19cf138bd8aae, - 0x000000a686a5a4 - }, - { - 0x6a5917d9813a1253, 0x8c84f52cf45c54b, 0x580d3229a295adad, - 0x000000f66868cb - } - }, - { - { - 0xbfcfecbbf470a435, 0x7dc2eba181433867, 0x45ba4e17b4a0d5ae, - 0x00000071ecc573 - }, - { - 0xf1e8b4e2d0b39345, 0x9da78cd5db60ac44, 0xf1a89e9103b33204, - 0x00000051f2c62c - }, - { - 0x1212897fcda34305, 0xa1e0e3f05049be35, 0x9434fbae5a1548df, - 0x00000043a1d938 - } - }, - { - { - 0x982b0a13129c93d6, 0xec91bd4541d8c38b, 0x67aa0566793b28d0, - 0x000000325d2212 - }, - { - 0xc7a80e2d379280da, 0x220c52553680ed8e, 0x9ea4f359ce812bc8, - 0x00000067244656 - }, - { - 0xd2a6304ba53df0c1, 0x28c474a4060f1be1, 0x9a9647a6de632870, - 0x000000ed5383ad - } - }, - { - { - 0x99e7c8f4233eba00, 0x461465741cf6dec5, 0xae986a7b77715f9f, - 0x0000009801b737 - }, - { - 0x79270364e916eac, 0xb9bb2a9bc4a20570, 0x6d2eeb95fcf17dbd, - 0x000000a782dd53 - }, - { - 0x812ad07aff4f578f, 0x81b56db994f8f6d5, 0xc76ebc5dc96b0f13, - 0x00000064eb4262 - } - } - }, - { - { - { - 0x6aba620d4704733b, 0x3485177d311b5f1c, 0xb81e4bd8986d9fad, - 0x00000055900cad - }, - { - 0x54e4dbc6bd9e20c9, 0x1ce908848eab3a84, 0x3c32a7dc6a881cd2, - 0x000000d2bef9f8 - }, - { - 0xce52485236e086e3, 0x677d6dc3fda088f6, 0x8a02846356c5df46, - 0x000000313d7e0e - } - }, - { - { - 0xe6484d7c020e470e, 0x8449d04c34e55361, 0x77f5baab88f2c037, - 0x000000d6f89cd0 - }, - { - 0x7376ed7fc7647ad6, 0xdcdebf0c688b2524, 0x9dd2aa4f14c4e298, - 0x0000005b211c78 - }, - { - 0x42e2e373bfe7be6e, 0x2d8dae9f0d908ee1, 0xfb794b0ab250bb56, - 0x00000095c2cbfb - } - }, - { - { - 0x8293fbedd2859414, 0xab7e1e4158c7c8f7, 0x62aa9bb0bfe50bcc, - 0x0000001fd32ad7 - }, - { - 0x2f569ea2af24904a, 0xd7a39b651bd65723, 0xb18956e1629884db, - 0x000000a46d3d8c - }, - { - 0x3a08776670829d64, 0x1d6073453a5cdc5f, 0x4c14ea4a8c327619, - 0x000000e0e040f9 - } - }, - { - { - 0xe9945997c57ea0ad, 0x8f8483dc2b8f5c3b, 0x1ee6bce20d5e868e, - 0x000000d481a1d9 - }, - { - 0x454765f0be3c19d, 0x994d96fc3f0a6c90, 0x3d1809d24a0d115c, - 0x00000098ca6db9 - }, - { - 0x4271f5a3eeed7500, 0x26f582796e47f499, 0x8af290d3c4777d07, - 0x000000a0b4152d - } - }, - { - { - 0xb1173a909b2baee7, 0xd37feb55da2a191a, 0xff9588159d99b23b, - 0x000000e8020a5a - }, - { - 0xa4141794957a49cf, 0xf363f6c9236cc3f3, 0x85e1bc08bd5bfc43, - 0x000000f77add75 - }, - { - 0xc1724331d1bf4766, 0xa9802116b6c40317, 0x268e374a31d5da96, - 0x0000003a6809d4 - } - }, - { - { - 0x3ff3506261fece06, 0xc57a839a4d8cae86, 0xf1a7441d70dcf651, - 0x0000001e1f3d1b - }, - { - 0xb1b2dd313a460e1c, 0x589c794fb8e288a9, 0x74f0b377f475dbc5, - 0x000000b1402183 - }, - { - 0x78980507f28daeb8, 0x59338ad1db0c6cd7, 0x894b60f2c0027ef5, - 0x0000004cd8a079 - } - }, - { - { - 0x4b9609287730a78c, 0xf4bc32caa9915f49, 0x26a8646598281757, - 0x000000afb66435 - }, - { - 0x2c255e2555c12e57, 0xb0c365619f1e9c29, 0x4e39da9fd319a796, - 0x000000866c4193 - }, - { - 0xc49e0f8e926920b7, 0xe61fa1f67a4c2ae1, 0x4369c0a5b9f8c591, - 0x000000811d2edc - } - }, - { - { - 0x89341a5a3080d546, 0x93527c85a3748c6, 0x1cd70adea7178eeb, - 0x00000055bcf373 - }, - { - 0xe51bec42c8ed70fd, 0xc7408cf9bf203718, 0x740e99a9852715af, - 0x000000fc745156 - }, - { - 0x3666d50fd7911c0, 0x9d086f6e6dc00ae4, 0xbb2d8bf05ea0470c, - 0x00000066c65cb9 - } - }, - { - { - 0x612a3011d333a8f1, 0xa0a651b311d21e6, 0x472928a92628f8c5, - 0x000000147f9191 - }, - { - 0x5c70dfb2ebad44b4, 0x969a6a085b47306c, 0x9c83cf5c15b394e3, - 0x000000b7a348ff - }, - { - 0xd2946edcda6f2a38, 0xc6993ab922e2160, 0x77a6e51bbf848aea, - 0x0000000687ccad - } - }, - { - { - 0x785e9fd99a858d7, 0x11be72a22ee52c2, 0xcf949cc9222f7ea1, - 0x00000035294ec1 - }, - { - 0xafd895ea4d05a54c, 0x1d342540d4c3de0c, 0xd7233767e3ddda24, - 0x00000033abac0e - }, - { - 0xaafa911599a9daa9, 0xd5d0436c1f232bc1, 0x927d6d43f03d0e66, - 0x0000007faa9f10 - } - }, - { - { - 0xd448688c63328962, 0x89a8e324bff31cda, 0x5ace1cf15d9a19cd, - 0x0000000cfd77cc - }, - { - 0xd433ea6aafed5fc7, 0x2dd565d3cc226167, 0xf1c948527b94c7de, - 0x000000d785fe9b - }, - { - 0x253b153a23226770, 0xb688240b9a22e88, 0xfcfbc8e6a6bb1466, - 0x0000007675f5a6 - } - }, - { - { - 0xed128611b4d671a9, 0x201d68316d0ee421, 0x67a7aafcdb833fa2, - 0x000000799a5a01 - }, - { - 0x6afcfb9dc08a548a, 0x5370ade4eafadd9, 0x84b4f121e43b1418, - 0x00000039c66260 - }, - { - 0xeb4d5fd11d0551cf, 0x2e67efd0f89df61d, 0xfd3bcdbb3a5e65bc, - 0x0000000beef87a - } - }, - { - { - 0x80a35ba10e766b57, 0xc14075e59f2d5bfc, 0x4af90ca39a5af932, - 0x000000950798ad - }, - { - 0x1150a845842b96a2, 0x400717cd54b629ba, 0x1199eb3edcc262fd, - 0x000000b1c79350 - }, - { - 0xeaa8962536517d12, 0x7967bbea55997b23, 0x7daf60c980fbdf2e, - 0x000000669d3e80 - } - }, - { - { - 0x9767a79f3a0e2374, 0x102b4f4c59529d87, 0xeb2770a02c4df283, - 0x000000aa1caa97 - }, - { - 0xf21143801237e169, 0xeb244b23a507372a, 0x7d9e4ef518c04647, - 0x000000ccbedd33 - }, - { - 0xd7ba71dd62b3af1c, 0xa092b906f855f8d7, 0x5f1a38a2da3d8c2f, - 0x0000005226e0d4 - } - }, - { - { - 0x84a9a677cb23eb85, 0x24f7f59819d8faf3, 0xf7517ac82133b70b, - 0x0000009d74dda8 - }, - { - 0xc0b1532271e38fd1, 0xdea84b9881712e74, 0x41d3a9da147a58ae, - 0x0000002b1326bc - }, - { - 0x34aa3ea08acf6b6c, 0xdccda790a6b4e7d4, 0xd383d0c6eb454844, - 0x000000e3492c8f - } - } - }, - { - { - { - 0x11fa5e97f0d34acb, 0xc5afa10610ab69db, 0x6973d2f36146a331, - 0x00000069fa2d67 - }, - { - 0x5e5c3905d8c0495d, 0x97eebc3b9638a5b2, 0xda6a4e4774e9b0c1, - 0x00000033a1791e - }, - { - 0x6ff6d80d19bff7b8, 0x46d4ee18ce51fc0b, 0x1ab71e5e1d5a36a2, - 0x0000006317fed2 - } - }, - { - { - 0xa2c54410849c7a74, 0x756107f4419059bf, 0x860a47ce3f43fffb, - 0x0000008224d5c2 - }, - { - 0xa3b1f5bcb832e2b5, 0xd6cc5bd2abf556b7, 0x42425e5451008b04, - 0x000000609eed7a - }, - { - 0x8b131731bc8e6eef, 0x514285145995f222, 0xeadbeeb74952e1cc, - 0x00000099c29828 - } - }, - { - { - 0xb5c5414ff22dec30, 0xd76a214c7125d7d8, 0x5c5f579aaae71f70, - 0x000000b1ed26dc - }, - { - 0x70e9570a88d42114, 0x8fda05b2c5c4c1ff, 0x891c4afa7cbc5ed, - 0x00000028675f58 - }, - { - 0xe0f0860389843f4d, 0x848e53b559f1406, 0xf1160847127ea5a8, - 0x0000006a717d68 - } - }, - { - { - 0xf61c9a24e18e1889, 0xc5bdd815c5902e07, 0x389d3c2404003912, - 0x0000008b534213 - }, - { - 0xd39978fc5e972a6a, 0x23d21c571f69835c, 0x9625c7a5d8b4eece, - 0x000000d205e4dc - }, - { - 0x7b8f15fc22173d41, 0x81fe6dbb5dd28b0, 0x48d5e7810c21a0a5, - 0x000000d6a35a32 - } - }, - { - { - 0x6d4937de242f4905, 0x14664daadcc185d0, 0x77ddf989f1e0a0bd, - 0x000000ced3ec74 - }, - { - 0x5fdeebefcc0f27ae, 0x826336084a1daa4c, 0xe4406a9c1eaab84e, - 0x000000102fe8a5 - }, - { - 0x4e39a316d56eb205, 0x1596fe268686f22e, 0x89d302aba152f879, - 0x000000c1a42789 - } - }, - { - { - 0x26d7f856bdd01ed7, 0x5453d8031da7206, 0x88228f7285acff4e, - 0x00000097c6f13a - }, - { - 0x5f6ab5afcca790d7, 0xa2fb4fd058d0f069, 0x57a6d48c0c0ed541, - 0x000000bf68fea3 - }, - { - 0xb9a8da0940f9bf18, 0x40547f557f4d7d3c, 0x420389f3ef7f0dff, - 0x00000084b8a9df - } - }, - { - { - 0x74ac44fed25efdb3, 0x6e817f5580e28190, 0x6daccfa91713d146, - 0x000000865999c8 - }, - { - 0x93d1a20f316315fb, 0x7294febca107050a, 0xf213b07f87bc0b46, - 0x0000000aaa6179 - }, - { - 0xe2598854841f0121, 0x8605c88311003c6e, 0xf637eb4cd9eb15df, - 0x000000d43ef3ff - } - }, - { - { - 0x755eb60402e9d500, 0x9d65c14057b40caf, 0x2e5194fd16fdc7dd, - 0x000000bc854551 - }, - { - 0x24e5829ccd497892, 0xd9be0df560374551, 0x6cacdf4040878fa8, - 0x000000b28b71a5 - }, - { - 0xaedbb4c9d798a33, 0xd5b9baaa72178b76, 0xed05d010cdb80cee, - 0x000000dff6dacb - } - }, - { - { - 0xef9f81befce51376, 0xa6cf27d3b74ad30d, 0xb66544eb66502aef, - 0x0000002bcc2db9 - }, - { - 0xafeb44ca281450e, 0x3175f0e6e5222701, 0x7946898bf93b737f, - 0x000000efd06781 - }, - { - 0x79287b1ec9c3e1f7, 0x74673db13d8da31e, 0x2dd1ba81ba8d864a, - 0x00000048a3b6c6 - } - }, - { - { - 0x102f9da4009e6dec, 0x5501448f9e3ba0f5, 0x667d310aa8635b38, - 0x0000000e353a5d - }, - { - 0xe4ead7d5d140733c, 0xc283378297a086b3, 0xb35b26756e1694af, - 0x0000003446a6ed - }, - { - 0x4b433ab598d601b1, 0xa3a462243341023, 0x25338580780b0569, - 0x0000009803c47b - } - }, - { - { - 0xc8a8016c97dcb408, 0x4cf10645cb09213, 0xe019fe99cfb5f0bf, - 0x000000c4c31add - }, - { - 0xab87456151f50877, 0x84e891f190b7ebd4, 0xe105d813feb1727d, - 0x0000001ddcbd3c - }, - { - 0xcba4c5a7d3eeb3a4, 0x46d45d6014f2c216, 0x70ff28db27823447, - 0x000000638266da - } - }, - { - { - 0xf58d1a9d3d8617b8, 0xec0817d9a6cf1f22, 0xbf80ed50e89a6f5a, - 0x000000f0ee8af8 - }, - { - 0x6f9c452fc659b7ea, 0x75ba1c31fe4b41ae, 0x3e17ed829b8282c8, - 0x000000dfcd4c68 - }, - { - 0x4cb75a06f006fed5, 0xa757c5b0ea0e7b52, 0xc84f52f1e020ceb8, - 0x00000074540f22 - } - }, - { - { - 0xc07836ae79f1f442, 0x48ee8c9d897ea99d, 0xdefc077478aed868, - 0x000000367be4a1 - }, - { - 0xea9344bfedb30dc9, 0x26333f235490d7f7, 0x441c23f4968f1cb1, - 0x0000006680fee5 - }, - { - 0xc55af5e57073c318, 0x8e189a28fa147f4c, 0xb58f865fcbd27adb, - 0x000000dde5c76a - } - }, - { - { - 0x7369867f0e4b9fe5, 0xdf494cea5fedcf62, 0x6ec32fbb4e167d4f, - 0x000000eaa4e6a1 - }, - { - 0x5a9402f47e79618c, 0x6a0685982253af2f, 0xb88c43bbe647a4ac, - 0x0000004b6ce471 - }, - { - 0xc36bc0dfba84e314, 0x872730ce1e2df531, 0x5214d3db7c248bce, - 0x00000075a43251 - } - }, - { - { - 0x32ab85a7c89dfba5, 0x4ff2992c440a3841, 0xecf199b2a9cc863d, - 0x0000008749b142 - }, - { - 0x70f4091afcaa1e10, 0xafe5a2566b815264, 0x51104c91524b9518, - 0x00000009d9c759 - }, - { - 0x456b813c777c90f2, 0x4da38d75904e4213, 0x6ac833b8f89aa0e0, - 0x000000b0b7e2a8 - } - } - }, - { - { - { - 0x97eb79710c7cbe4, 0xde2e6a29f48ebed4, 0x343ea13991a02030, - 0x000000acc856ef - }, - { - 0xb4f0f31ec5c655a, 0x91465d037a2d022, 0x18ae049d1e3d24d5, - 0x000000fbd86512 - }, - { - 0x9a28ea08e5a77f21, 0x20c7491af88e15f, 0xad9795c7df64d86e, - 0x0000001d12942f - } - }, - { - { - 0x468f0c64f608c6ee, 0x5bc4251fed8b321a, 0x6a4c85f7c0107354, - 0x0000006baa9799 - }, - { - 0x35bd9451a8d5abad, 0x772f8cec392c82c1, 0xef3ac53965e748d0, - 0x0000007e4fcf47 - }, - { - 0x718c24da03957921, 0x892c751ae86dccee, 0x8109dbef7aa4d260, - 0x0000001bb929a3 - } - }, - { - { - 0xdd831746e4cadc42, 0x257bac7e519b4bf6, 0xe5061e1cebfb3b58, - 0x000000211cf576 - }, - { - 0xa88830668cbc5ec9, 0xc876e5477820be9d, 0x25e3c3d442b3c4dd, - 0x000000a680d566 - }, - { - 0x2b8eccf127c8a377, 0xbd5d17cf26ea9ea4, 0x457be72e565ab37a, - 0x00000016f36816 - } - }, - { - { - 0x5a13e5701e077967, 0xf602e1d0b75a598f, 0xa76816660233ded9, - 0x000000dde667cd - }, - { - 0x9defdf24ddf2cb1c, 0xf02e60b2b502b93c, 0x38c3396fa1319631, - 0x00000027c11df5 - }, - { - 0xe2f4a4d48c3b6a86, 0xf71176b4b513896f, 0xe6243b461dfc0ba8, - 0x00000012ff4f39 - } - }, - { - { - 0x9d0c1df509a472de, 0x88e84ee8a6a4480b, 0x4710006a5bfdf89, - 0x00000062db759a - }, - { - 0xe459d6b4571ac3b, 0x11aba4ef5d375d74, 0x6bd66712e418d089, - 0x0000009fd2271d - }, - { - 0xd5a243140aa2d986, 0x9874d0947833333f, 0xefcd5f345e08017f, - 0x0000008be61c01 - } - }, - { - { - 0xc36421316c2e44c1, 0x7ccd1f164aaea695, 0xef972b3ac2553d34, - 0x0000007d6fbd2f - }, - { - 0xeff99dd0c11ac48d, 0x662901a02a6009c2, 0xcf2a3375fdda91c2, - 0x00000094c26b8c - }, - { - 0xb850a1a4783523a1, 0x812c3be70c32a71b, 0xd669aeb4b8f82e9e, - 0x000000d175f60d - } - }, - { - { - 0x8ffb166ed10effb0, 0xb046856cbcb86af1, 0xa54c6d4fdd88626c, - 0x0000006dc17fb3 - }, - { - 0x1b952f65fffd220c, 0xd0e4026db09413, 0xf52e103f62bb8216, - 0x0000004c0260f9 - }, - { - 0x386568991de73b1e, 0xf24d18a46fda6fe3, 0x24ae593f094de19d, - 0x0000002da4bcfb - } - }, - { - { - 0xe6bda434d5f59cd1, 0x3aeea443afff94a3, 0x33712d986e91511f, - 0x000000dc5eacb0 - }, - { - 0xe4664c6109f9a494, 0x96655df9b52ecc07, 0x66f1c8a62c39d31e, - 0x0000004dda20f1 - }, - { - 0x5e90438de05f6ba3, 0xf310607fc561c8d3, 0xecc866ef0a094d02, - 0x00000085cfb9f9 - } - }, - { - { - 0xb5e76ee9fe3878c3, 0x5f8b57513894edf6, 0x1f3b9e159756d71f, - 0x000000d1bd31de - }, - { - 0xf6154ed7bc73d63e, 0xd7849c5f239a5306, 0xf40eb03dce6d8650, - 0x0000002c8d8488 - }, - { - 0x5de37b1b0302e48c, 0xc2540ce10481c0de, 0xa34b4e86bf990ecc, - 0x0000000d6b9e58 - } - }, - { - { - 0x2ca9ea8dea68cef5, 0xd137e822798da52, 0x1ffb18818a237a3a, - 0x00000009555150 - }, - { - 0x4ca4ef0e2128744c, 0xda40f1dfa253cfc6, 0x6327d8fe5baea721, - 0x000000c3f05e75 - }, - { - 0xba04418dcce1dbec, 0x207992fd67def824, 0x9ed6184f2770c2be, - 0x000000da43a409 - } - }, - { - { - 0x7024b41840c0630, 0xc10dcf157db6812d, 0xe0f40097ab2a80f6, - 0x0000006a0e9411 - }, - { - 0x3081932ab63a71db, 0x885c460be6634eec, 0x3c647739b41d90fa, - 0x0000007d16e7f3 - }, - { - 0x9f75696c33e0732e, 0x48f6be295fcfdf9e, 0x610d562760dcb99d, - 0x00000067d18726 - } - }, - { - { - 0xc665091472183b16, 0x1204a4d199a9fe36, 0x107dfeb3baa73c60, - 0x0000000f389c1c - }, - { - 0xce96c86bdf2197c8, 0xbfda9178cf9b46e0, 0xe3f8dad7b7b54423, - 0x0000007d771e41 - }, - { - 0x1dd8eb2759885c92, 0xcdcaa2affc90aaf9, 0xf0c86204701bb1ad, - 0x000000a2e7edde - } - }, - { - { - 0xfbe0c1005a270a6d, 0xc6a643f7d21eb345, 0x23fc681003e9ab6e, - 0x0000001bff5dd6 - }, - { - 0x5eebd76d7ec79f74, 0xe8383742b9e5ad17, 0xe215c7fd209389cb, - 0x000000a6c143dc - }, - { - 0x3266133172b67802, 0xe51917f0a59f4860, 0x9f224df9dade8e9d, - 0x0000006c4c2887 - } - }, - { - { - 0x24ee5e57ce1286c3, 0x6bff084e29521880, 0x1e3ede0b31d5476e, - 0x00000060005227 - }, - { - 0x518f791b9a507694, 0xdab3fccbd78bcdf2, 0xd26554709a83f70f, - 0x000000d8f417a8 - }, - { - 0x9bef4c5f36e42bc4, 0x52648828d9e091ee, 0xf28fe3cf121d9774, - 0x000000a307885d - } - }, - { - { - 0x7913f227fa6fda2c, 0xdffc7ed4b4581617, 0x328d83e68c24ab41, - 0x000000e4081fa1 - }, - { - 0x3fde04f40f8ef3cf, 0x6d004d42cd02cebc, 0x7d12c4956dd2fd3e, - 0x0000009a735df1 - }, - { - 0x4acbcf9557251194, 0xe23343430a683fe5, 0xb0a28f967f23314c, - 0x0000004de2ce05 - } - } - }, - { - { - { - 0x44ad07d3c24c4a6d, 0xfbbb39e229150b80, 0x9fa252bdebd01fdc, - 0x000000d9cd110d - }, - { - 0x79d2efdde4e8c571, 0xe589fd55124376fa, 0x94915fd88e605bf1, - 0x00000083b5abf9 - }, - { - 0xcf1548e58bbbceb1, 0xa183cadc46b6ec9e, 0xedf54c7fbff4fb6d, - 0x000000975e6e09 - } - }, - { - { - 0xa95a981285aa4cc2, 0x54eb27dcc4000acb, 0xb1214fb4b4550e17, - 0x0000006bcfd9c1 - }, - { - 0xdfa72eba619849e5, 0xcf50883031b01377, 0xa1ba81941f9eb51e, - 0x000000381e075b - }, - { - 0xdd1fac08345548e1, 0x34ae83422220e6c3, 0x3a1025d93017f066, - 0x000000d738f16e - } - }, - { - { - 0x32074e95a36a0849, 0x3ddcfe04d6c5f184, 0x2b7f0ee371e64c1e, - 0x0000006a5e780e - }, - { - 0x5114ee7f0673eee3, 0xbdca9e15a77d010a, 0x333bc957c6917aed, - 0x000000e1ab309e - }, - { - 0x36f4839483cfb2e5, 0x4b4cfa26705d14a4, 0xb0d0c3af7f207cad, - 0x000000a87a8c19 - } - }, - { - { - 0xb7d74afe49c32c72, 0x6e0c5c97ffc71c64, 0xa2b7fa523651290a, - 0x000000b2dd6ffb - }, - { - 0xf83165e8ee58c008, 0xe1a4fe3d19bc2c67, 0x1e76ef7b7326f8eb, - 0x000000a46594b9 - }, - { - 0xeb0933dcc53d57b3, 0x23f0338e572b5266, 0x808a68f955b78ff0, - 0x000000f7910590 - } - }, - { - { - 0x17b60267e929985d, 0x965c4e1f135a6b5d, 0xe289c0107308788f, - 0x0000004a8a2610 - }, - { - 0xf022947fbd34f06d, 0xd7a45ea23efbdf9c, 0x138c79ae1c9c81a9, - 0x000000fa21f31f - }, - { - 0xc5ed8e623c44a969, 0xee6f6e1da2506101, 0x6256649bfb5a06da, - 0x0000009e50053f - } - }, - { - { - 0xdc4c5c2318773fe2, 0x98fa3bed6ca3dd0c, 0x2c8ad4311740b0db, - 0x000000b599d83d - }, - { - 0x71c8557511be4a9d, 0xa43d40528b4b68e, 0x22d72688a49f77cf, - 0x0000007a9e24c8 - }, - { - 0xbaf50a3977994f7d, 0x23b5e2b6344640a2, 0xb60ed0d34bae4985, - 0x000000929f9c37 - } - }, - { - { - 0xd9a5afdd3b75e5a9, 0x536cb79c63dc7ffa, 0xde9914abbc41a620, - 0x000000b1cf0391 - }, - { - 0xed4a1c2812f29530, 0x7b048870b7fd0b40, 0x9890d6785966ad95, - 0x000000a86e20d1 - }, - { - 0xf80710d4d561b8ff, 0x6ed1662ba5e074ca, 0x9196603e32759d30, - 0x00000083e5731d - } - }, - { - { - 0x778d222e1f521897, 0x358cc1e17661c372, 0xcbdae539ac11f6ed, - 0x00000085975ed0 - }, - { - 0x9d56bc55876a301, 0x48cd11ee1a2003a2, 0xb01530e84a3ef6e6, - 0x000000bc138c47 - }, - { - 0xc11fd2cd5ac12d0f, 0x6bbca3b2d208cbb6, 0xcca46ea8d687239f, - 0x000000eeb41944 - } - }, - { - { - 0x3ed55d477135b786, 0xbb547a5a0d951bad, 0x521e7a603798ccf1, - 0x000000dc74c0b9 - }, - { - 0x711cb03bd6100338, 0xe49db94b71327f4, 0xbc5f853a2aba414b, - 0x00000031feb165 - }, - { - 0xcd5e778fb6e02cb7, 0x996d2d75de11e10e, 0xd8ec3e6abf3ff103, - 0x000000b3854d36 - } - }, - { - { - 0xdac8feedaa33cf69, 0xab8a354f5c157ee3, 0x1f248886b5caf575, - 0x000000fbf81040 - }, - { - 0x56aea67e84681347, 0x78d8afd8536491df, 0x1071bc8135576b78, - 0x0000001c7b5548 - }, - { - 0x8251c56d3b5f3c48, 0x4a5d7595e2cc3301, 0x35e4753c78f315b, - 0x000000485d11e4 - } - }, - { - { - 0xd2f06b9cb32c3834, 0xda4702f08adfb599, 0x54e3ef3123606cd2, - 0x0000001a6a5163 - }, - { - 0x72d0b28e38e9c750, 0x1af0b0896abdf47e, 0xa1ea40bd7b18da66, - 0x000000e11863c3 - }, - { - 0xe49c8f544122db4a, 0x486e7c95cc0daa4, 0x157a004ddc457b3b, - 0x0000008fcbde72 - } - }, - { - { - 0x1dab962a3f9d5413, 0x64da9bff681bd06e, 0x4127eb3b273e0b66, - 0x00000042adc6a8 - }, - { - 0xa508a7caa596662, 0xf29e1b6b808a891f, 0x9ec32ff9ebd6fbb9, - 0x0000002f749845 - }, - { - 0xc1c33c3cdaea035c, 0xb3343e35bc1d71d9, 0xb48c35670029552c, - 0x000000af2a723f - } - }, - { - { - 0x850180a987ff7f3b, 0x1b5624f0d35689ad, 0x5e5e4fce8ef1d121, - 0x0000006c987c94 - }, - { - 0x9f65665315a9055e, 0xd8ec553f488ff701, 0x415ad10cf7cedfec, - 0x000000e487d653 - }, - { - 0x2447d298fdfceb17, 0x1926998eff99641c, 0xcb38b12929c1e9b7, - 0x000000f8c53f2c - } - }, - { - { - 0x5a8504f2599e33d9, 0xa468e347c07ffcd2, 0x83de21033759464b, - 0x000000cd1a3787 - }, - { - 0xb7950bfb697bc864, 0x3df0d527fa4b9cea, 0xc4eb1eee33c11f99, - 0x000000f8a10fff - }, - { - 0x762eb00697c0d73d, 0x6c4b8665938e92de, 0xeb0f4dceb34339da, - 0x000000fc50922b - } - }, - { - { - 0xe8a59b438c09bbee, 0x4384e971c06bfa6f, 0xe268f463c8b3cda, - 0x0000003f1ae445 - }, - { - 0x7c0f86dd8e51bdb6, 0x4deefc02d7f8c02d, 0x1ae310300faf39c, - 0x000000da5f2782 - }, - { - 0x3984958384d59a42, 0x586ccf4ccc612767, 0x4f1c176a9bbb3f8c, - 0x000000047dc12e - } - } - }, - { - { - { - 0xfa010e39cf1ac774, 0x80ca393eb212673a, 0xbfa4e43683029f9d, - 0x0000001e22eb1a - }, - { - 0x439da9eaebfa8872, 0x478dffd945100e2e, 0x3514f40104612098, - 0x0000004537419b - }, - { - 0xc6a38af9c6444690, 0xea3a19e3946f430, 0x12c115fb1adf41cb, - 0x00000011cc1f71 - } - }, - { - { - 0x3f2846aeda12e65d, 0xfba01df965e8b504, 0xed334392c6869f03, - 0x000000f0284714 - }, - { - 0xbc615b59d3ea8ef7, 0x8267f7187edda05e, 0x1a0f4ebac51b0b63, - 0x00000004721170 - }, - { - 0xae3a9c50210fc068, 0x2fe73f1f15b3f738, 0x32110e54d248ccf, - 0x000000e9d62cd8 - } - }, - { - { - 0xffc4fd183e9a6845, 0x1996cdbae54e98c7, 0xd9d02d445bb2e1b1, - 0x0000004ebcab24 - }, - { - 0xe4c96ee65b513512, 0x5333b81c8cd2a20b, 0x5fa40d67c6d467fb, - 0x0000002cd63d4f - }, - { - 0x4f8b7636e0fdc4f, 0x4be6e8d8aa216110, 0xbb46da372c9878b8, - 0x000000349be880 - } - }, - { - { - 0x2163219a96104bb7, 0xc272e68138a8d618, 0x40cdd2156c998fbc, - 0x000000691d6ef7 - }, - { - 0x9a4c83501618dbf3, 0x7962711607f0b5af, 0xd4b056a542e7d2d4, - 0x000000cb292766 - }, - { - 0x36a89166fa461178, 0x6c4f2167931799f5, 0x4b72b69bbd47e985, - 0x000000b2ff7a39 - } - }, - { - { - 0x1548a2c249ef1d33, 0x2c62cfd2ed86dd2, 0xe6dac8f4ff3855f5, - 0x000000ffc9f360 - }, - { - 0x681fe859aef5b5d6, 0xcbd398d85be1e2a2, 0x77820b7d09191c92, - 0x000000728f5c2c - }, - { - 0x60260a6ce4d55500, 0x6b0fc3bf0546516d, 0xf294aa9aff278245, - 0x0000008b22d850 - } - }, - { - { - 0x851d3459f6c01443, 0x1a6ed3a846efb386, 0xede994e76af27a53, - 0x0000006d092b9b - }, - { - 0x5fbd00d58225803d, 0x193bc9887ff5f05, 0x7c6f198090b088ff, - 0x0000008a5fd43c - }, - { - 0xbf3f219d558a0e53, 0xf64446a11658d118, 0x77137be721798e65, - 0x0000007e8c27e2 - } - }, - { - { - 0x11d50304c0f1a7c5, 0x4905bdbba0207bd8, 0x8f70a03760fd9f5a, - 0x000000f6b6aeab - }, - { - 0xdb814668052e9a2a, 0x9f6a5d6bccf3411e, 0xc92f8f840da83325, - 0x00000082755f96 - }, - { - 0x6285142e3cc15f27, 0xe58e5f0d7d1d3b2f, 0x836cd024a4dec7e, - 0x000000667e6a88 - } - }, - { - { - 0x727ca6e9a2283e9, 0xa4a53f8fb7c6f6d4, 0xbd7e41e12bea1c70, - 0x000000b9328f66 - }, - { - 0xc5b40554bf39e495, 0x533c6935efda069, 0xb6841aa2bbf78ed, - 0x0000008a5c73f9 - }, - { - 0x94d693be594ea6da, 0x28524a7087d5e4fe, 0x97e00b7865d2a8f5, - 0x000000bbef6934 - } - }, - { - { - 0x4bd85c247e0d7ab9, 0xa8737f51351fa26a, 0xba2ebe593c0afdb9, - 0x0000002b167158 - }, - { - 0xe76d4847b160c507, 0xa3b982fb72b68b98, 0xa7693dbaaec73136, - 0x000000624aa036 - }, - { - 0x1e5d4feee945e81c, 0x72859850345047b2, 0x69d4c184bb4efd15, - 0x000000f0e594ff - } - }, - { - { - 0x68eedb7a0414f76f, 0xf1409a8ac8996786, 0xe7c74c0fbdd696d6, - 0x000000b867a313 - }, - { - 0x9d63857888582f36, 0x4863cf9a5c42a03a, 0x3d7dde4042a3b296, - 0x000000489d6e08 - }, - { - 0x639fe3bbae20ce00, 0xb9be7a19dc1beff9, 0xebd05b015e2c1414, - 0x0000001d1f2664 - } - }, - { - { - 0xa06fcc5de050021, 0x2d866849814ac93, 0x609b638edb848a69, - 0x00000079595e2b - }, - { - 0x7ceb19965c31d6e2, 0x61a6b8a86cbc850b, 0x2d7d2b5eda9a8ef2, - 0x000000dbf81e1e - }, - { - 0xc9518e2a226a603, 0x5b2b63893c96fe68, 0x78f8537e9ea992b8, - 0x0000008ab5d540 - } - }, - { - { - 0x2742460baf50aa26, 0x739967a93c6f526a, 0x2d71eecfa36bce00, - 0x0000004f6ba6ca - }, - { - 0x625ffa26769296f3, 0xb6c4a9d5c1e4f521, 0xdc081feefe6fa85, - 0x000000f30fd30d - }, - { - 0xe4828465ca415757, 0xeb6e6b91838939b, 0xe0bb0903c4e40c76, - 0x000000b9b5e9ae - } - }, - { - { - 0xfaad8091dd713442, 0x1c82cef4ab006f16, 0xf42a091c5433f74f, - 0x0000008c66ce6d - }, - { - 0xe02cd3cbcc3ebcb, 0xf769f0500a5db32e, 0x8522e3d9d5a8baf5, - 0x000000e4073f97 - }, - { - 0xd54755c99f3c8245, 0x686f99c08583ddfb, 0x60a1dd905da6f3a5, - 0x0000007eb63097 - } - }, - { - { - 0xdf2e65d64f83f555, 0xdc0382718862a017, 0xa00213f585c34f20, - 0x000000dd6b1104 - }, - { - 0x4c0b8a13882bd128, 0x68be1f17c158acc5, 0x20e8c67d3692e674, - 0x000000226b5da5 - }, - { - 0xdada81e74457f5ae, 0x9208ab03c6c54ae2, 0x47ca3b1148170bea, - 0x000000030e1df3 - } - }, - { - { - 0x8bbe4e8a681dafb, 0x2531be6658856e7e, 0x983370d2f9a90a3, - 0x00000034b972ba - }, - { - 0x398fb176f1a9e6b4, 0x5ad167d384690117, 0xd685cd27d172964, - 0x0000006c649938 - }, - { - 0x238672514e8ce2b7, 0x1413c669317ba0e6, 0xfdeec0bc1c49e1fa, - 0x0000003417b49b - } - } - }, - { - { - { - 0x658051bbd2e67557, 0x88ceef0efe86e85d, 0x3b6945ca8e728773, - 0x000000f1fe7145 - }, - { - 0x542bbfdde8960dea, 0x690aa4f16583599, 0x39a3ac277afb115c, - 0x00000080b3fe30 - }, - { - 0xab48bdc1e60dee09, 0x56abe65d73f1970a, 0xd8d4add2ed04c792, - 0x00000007ff088e - } - }, - { - { - 0x240dcdd6b2b3d96e, 0xe76c02fa5d8bccad, 0xaa85f501e06151fd, - 0x00000014566027 - }, - { - 0x220cf4db7d532666, 0x3f679f0b707800e, 0x7e1ceb13834555d1, - 0x000000101856eb - }, - { - 0xcfd589614a61217e, 0x567d26428d5aa2eb, 0x4d4dcad8bbf6894b, - 0x000000acb71a93 - } - }, - { - { - 0x3c25c3698803adc4, 0x518cf10cadc02199, 0xa6bcc381572eb2e2, - 0x000000ebecb6e2 - }, - { - 0x3e7373f4eab95494, 0x3f522025743bf4a9, 0x9695c6500c686aa5, - 0x00000092d409a0 - }, - { - 0xf533f39b44dbd39a, 0xb3cf846e04faef6b, 0x3ed363dcc600fcb8, - 0x000000387ea524 - } - }, - { - { - 0x85e058deaa3c1b5e, 0x7531c29127c952bb, 0xe448ce5957e68707, - 0x0000005ce89624 - }, - { - 0x177266e2ce810eae, 0x413136ec8458256a, 0x42761323a4594d1c, - 0x000000aa6f2d53 - }, - { - 0x47f8ff096325c873, 0x845aeca1c0287a61, 0x7af2960c94ad33eb, - 0x00000060ce806a - } - }, - { - { - 0xac6c35e38ac154b, 0xcff50f9d7a8d253b, 0xc6a7cd5671c91461, - 0x0000005851e61e - }, - { - 0x4af6f56e8488305b, 0x44c89dc03986e61d, 0x60c166e8cd0dd256, - 0x000000021ba8b8 - }, - { - 0x486da2cd799c4867, 0xaed98f462812cbca, 0xf1d984ceba7c64dd, - 0x0000003b2a9b0f - } - }, - { - { - 0xc287050c39979e4b, 0x2f952677768ae3e5, 0xb3cc4ae0206ac07d, - 0x000000324bf36f - }, - { - 0x37bbf486a2d3d447, 0x857b40a662636355, 0x858ebdd4a0f493ee, - 0x00000046c26604 - }, - { - 0xeed3d9506a691c08, 0x76345e14af43f77b, 0x237d9a1e8d7ee094, - 0x0000003a3a2f75 - } - }, - { - { - 0x2859dd2c5fd6d495, 0xf64048a80a1f5eb, 0xa840917cd8908711, - 0x0000002771bac7 - }, - { - 0x830948a994c053c9, 0x942d27fcf4cba036, 0x38481f7e74a21f19, - 0x000000295302ac - }, - { - 0x7bbeaa8557bd6ecc, 0xf34c81010a503ef6, 0xab2842fbf0d46df8, - 0x000000234f0d3d - } - }, - { - { - 0x7c80cacaaefb92ea, 0x74e4e5ef177b6f71, 0xabad70c0584eea31, - 0x00000049101da4 - }, - { - 0x9872dd928a3007b8, 0x693c11db1f1a31e3, 0xe7ad21a001d30eaa, - 0x0000004571935b - }, - { - 0x25e16c660582acb5, 0x487ef814bca1824e, 0x79b8e2a6e07fe890, - 0x0000000dac94e6 - } - }, - { - { - 0xef855741814307f9, 0xae50a3a98cfd9ad8, 0x6dba5d62235e4dd9, - 0x00000041ca0295 - }, - { - 0xe8a1aecb55ba36a4, 0xb8fe193a061b5c, 0x542f80e2687770fb, - 0x00000048ed7b19 - }, - { - 0x7a557f4c408dfb78, 0xdb01b3b4d6d06551, 0x8564621208f479c5, - 0x0000007ebf41f8 - } - }, - { - { - 0xf22446799488ac53, 0x41d0e84f383d6b96, 0x45dc9b9e1e744677, - 0x000000800d3bba - }, - { - 0x5746c6d7e1261c56, 0x6e8ff2f50cdb6a83, 0x9f94357aa90b8a96, - 0x000000628b8e79 - }, - { - 0xc736e70f997df8f7, 0x6014be14e6360bea, 0xc4cdfe77c3d6c53f, - 0x000000a66cecb8 - } - }, - { - { - 0xf12ab5643b4ba71b, 0x571fc3abfdd30a6d, 0x71f530d02158f296, - 0x000000d20c8ed7 - }, - { - 0x1eddb5e400f729da, 0x512734785d8d5bde, 0x62babdcc772fc614, - 0x0000004bd28821 - }, - { - 0x6561ec1ecf5b81b5, 0x85be989fb45f6bcc, 0xdc1aed7ecc756477, - 0x000000f22daba3 - } - }, - { - { - 0xb6f0716c82f8ea0c, 0x138b9576afd323e1, 0x328a6662e47d2d97, - 0x00000071d270b7 - }, - { - 0x70fe174fef8a07e2, 0xc7fd78475131befb, 0xc7b93aded5628626, - 0x0000004ee4c091 - }, - { - 0x971d630e6fb3df50, 0x3c1264063a5d1402, 0x23580289bc0f4e1f, - 0x0000003fb8f92f - } - }, - { - { - 0xd90de3fe3d6f13c0, 0x4a6b160ffd14f68, 0xf9f222e6b65c0898, - 0x000000ec8c7863 - }, - { - 0x7dfc45b2e211ff8e, 0xbd2f7e7bed71a9c4, 0x7fac992e3b73eb42, - 0x00000044dec793 - }, - { - 0xb9d03ac2a57882f5, 0x58227184808f4c3a, 0xf033ade8c91bfea4, - 0x00000066d1ef43 - } - }, - { - { - 0x7186b9131356774, 0x739e6f536565bf3f, 0x614971e13c1fe305, - 0x000000435580f3 - }, - { - 0xb867af379d2d9d3f, 0xa7964143fb3e335e, 0xc469c92e7a6705c1, - 0x000000d661af34 - }, - { - 0xd0c93b194033eaa5, 0x35f07c453e4168f, 0xe4a35a0d7913a66, - 0x00000062977ac9 - } - }, - { - { - 0x25a6845da4bc52c6, 0x34cc3abf788dbaa8, 0xf589a6700b6ca569, - 0x000000d77513f1 - }, - { - 0xa6377ec81056098e, 0xbfeb8972e67f9a2d, 0xf7276954e0aea0b9, - 0x000000e459f380 - }, - { - 0x8c32148e1eb68047, 0xcbabbf1f71cd30fb, 0x37a659fda11287ad, - 0x000000b6a002c3 - } - } - }, - { - { - { - 0x1bdfe6c50b0ba064, 0xedefef3d88a7deda, 0x5b888d45b70c9604, - 0x0000009fe81bfb - }, - { - 0x7798647433951103, 0x8eb6aa0b6c888569, 0x928f2bac6c71d4be, - 0x000000631ff9e0 - }, - { - 0x7bc6a75fba0ee988, 0xbc78e513491545a2, 0xe07cba6a2e6643dd, - 0x0000002b226025 - } - }, - { - { - 0xfc35ff169d600dd5, 0x492034259cba05dc, 0x9336c22053e67e6a, - 0x000000bd16928b - }, - { - 0x102170aa1909727a, 0x96f9b4dd02f8285c, 0x3cafabd5fd88508e, - 0x0000000c250dff - }, - { - 0x795d8d980904ada5, 0xf044fdb159fe96fa, 0x3d34db58d8546d35, - 0x00000092dd6c9e - } - }, - { - { - 0x51dc7c571e4e012f, 0x1b75eccc640882e6, 0xb158defeb2c68438, - 0x00000068d29abf - }, - { - 0xb041f67fb6e2f6ea, 0xa2481f3a51bd5783, 0x770d7c72dd2ac1f3, - 0x000000c317812d - }, - { - 0xeec0a4fd969b3f72, 0xd634c71331276afc, 0xf24ced1d33bf76da, - 0x00000069a11aac - } - }, - { - { - 0xfbb866a7a215a0cf, 0xc486ec39a145846, 0x69d6c43283f84e92, - 0x000000b7136614 - }, - { - 0x34086d813071b0e7, 0xd355dffc93f4b92e, 0x68a77914e13bad52, - 0x000000519000ea - }, - { - 0x60ce7658e3dc2868, 0x3e09f8656f01d579, 0x601498dbba78bfc1, - 0x00000029deb2fa - } - }, - { - { - 0xa363b8138f9d3375, 0x1c48d5aa78dd4351, 0xa67940565f3b9551, - 0x0000007ec16613 - }, - { - 0x89241a5906dff3cd, 0x9dc7481924a11fa, 0x78ebdc8e25a9bcba, - 0x000000170317c9 - }, - { - 0x86dc48f5cc6453b0, 0x42167c827bced2ce, 0x73610816f8f2b02, - 0x000000976c7807 - } - }, - { - { - 0x30246a9539f30a52, 0xd9ec540520e6dc68, 0x3bd57b31c46908f9, - 0x0000006f7d429f - }, - { - 0x1ed3d21d47777f73, 0xe1c71511fc51b52b, 0x565eeb6741a15e11, - 0x000000e2e7c18f - }, - { - 0xfc450237dc3a59f2, 0x668335fd4386be03, 0xfa41cdae243dec87, - 0x0000001a2564ea - } - }, - { - { - 0x9b158cf16c3804a1, 0xeb162769dde8b0cb, 0xee73e60868c0ddbe, - 0x000000ff342d7a - }, - { - 0x719eaea1de80eced, 0xdd65053735c7250e, 0x93ccf524c8ef72ec, - 0x0000003acb1e14 - }, - { - 0x88f5b78495dc0888, 0xf0eb5f6d31e91f6b, 0x660e52ce4c3584ea, - 0x0000009f97f04c - } - }, - { - { - 0x47c0e0c175c372a8, 0x11e11ad0a82b35b1, 0xeb68fc17e14fe91b, - 0x0000005b15247e - }, - { - 0x16f73e5ba4849c99, 0x24fed475837827f2, 0xcbff97925c8cff05, - 0x00000078dbddce - }, - { - 0x360d1657add216a4, 0xe1a3bd74cc6d45c0, 0xa287d83943336536, - 0x000000fca83d78 - } - }, - { - { - 0xea033e4f418bc9be, 0x259cf5a27cee502b, 0x4818f152427063aa, - 0x00000067b6dbac - }, - { - 0x639e7ea74f3b4265, 0x65062f05aadf742b, 0xaba4f7a05bd9d97b, - 0x000000fe5dc9ee - }, - { - 0xcacfa856372f023e, 0xc926c5a428e1518a, 0xa596fab6a21b1782, - 0x000000e534094d - } - }, - { - { - 0x71755736b4646107, 0x9a26d80317f2a8ab, 0x495678236f29bc73, - 0x000000b2e235b1 - }, - { - 0x9fa1e50cd472a069, 0x3d4af3b1d041323e, 0xc796e9fce9c4726e, - 0x00000094276047 - }, - { - 0xe1eb33283fd1368c, 0x689569a9988bf5ca, 0xe48d8ce09dffad43, - 0x000000403f9e04 - } - }, - { - { - 0xc8dc1a3a4ed86bea, 0x5de73d1ff6324c48, 0x80032b9e43f091e9, - 0x00000019a408d0 - }, - { - 0x32f6cd0601a221d2, 0x72ec6014d99861ce, 0x8085a75bdb72affd, - 0x0000008e02608c - }, - { - 0xb89d4efac48e3410, 0x18600a2b4fdff771, 0xbfc6e8b054a6a871, - 0x00000068272f6e - } - }, - { - { - 0xbdfd658a0260d141, 0x7ccebd75c3acd6c9, 0xaa33d7654099b9a2, - 0x000000a8962bbe - }, - { - 0x9aca4eec6f525b47, 0x27b578252b57ece0, 0x6e74d08a7befd0c5, - 0x0000000a331694 - }, - { - 0x9b85a673a03fe66b, 0xf54acb9a1698977f, 0x9b72d840463070fb, - 0x000000f114c82d - } - }, - { - { - 0x50445ae4b4a51e5c, 0x4ea0d8010a31bc01, 0x4ffff9f83ffcdd9b, - 0x000000132ab32d - }, - { - 0x877f30669bf06eac, 0x1b9711cba9ad634e, 0x9dc6a1fd806a2a73, - 0x0000007aa2fd17 - }, - { - 0x9e9815137200b8bf, 0x96c4fcf5e2b8a6d5, 0xe08dc0d9f2394398, - 0x0000002836b8c6 - } - }, - { - { - 0x3ee911cfd327b8c, 0x2c318fbe9b94af54, 0x3475a7bf2e6f8269, - 0x000000f9770b13 - }, - { - 0x4c8aae756fc6d426, 0x96642675bcef387b, 0xa450857f77ed013d, - 0x00000006029c04 - }, - { - 0x2527e62f61aec442, 0xeb11dda09b8489f5, 0x15056c41e8fe284e, - 0x000000df1c4e77 - } - }, - { - { - 0x90782965999d52ef, 0x5881fe276f23d18d, 0xb224439b77fe4665, - 0x000000497d44ac - }, - { - 0xfd1da772b603c3d, 0x100705989c5163af, 0x2d0d1cf4d1837f50, - 0x000000ec794755 - }, - { - 0x7d9ce2edd2f09cfe, 0x9ce153e3748cbc6b, 0xe6962bedffd74d4e, - 0x0000005c84c927 - } - } - }, - { - { - { - 0x191081e5e7ed1fd, 0xd8a6767dce9b04b5, 0x37430be75f7230e, - 0x000000c323e419 - }, - { - 0xde18340200433237, 0xe768e2e993ef5f74, 0xc5774417f46be298, - 0x0000000215496b - }, - { - 0x385fcce4b71253d6, 0x38f0ffd819a8e560, 0x9a3df7d66ea1d932, - 0x0000002309f937 - } - }, - { - { - 0xe2682015551e80fc, 0x781f1ebf120758b6, 0x9b28aa586fe71cdf, - 0x0000006151e4a7 - }, - { - 0x72707419da51ec08, 0x66b25022e4b95fa4, 0x9b52bcbc1525e7df, - 0x00000007038914 - }, - { - 0x9c93e26f7ef6cd5, 0x26b1779d82d6730d, 0x904174551342e66f, - 0x0000000f439969 - } - }, - { - { - 0xdcd1a1b8e5b91ee8, 0x11f218900dcd9873, 0x7188714b1ba881f4, - 0x0000003ff10223 - }, - { - 0x74148aea1d3d03bd, 0xa1e25ca658666ffe, 0x91ca6ddeeb36ebb3, - 0x000000de8c4c01 - }, - { - 0xe90f6d117159f5fe, 0x68be4c2f9bd95f9b, 0x9d3c3b71b596cd59, - 0x000000e78b4a33 - } - }, - { - { - 0xc16ac63cc5f22ef8, 0xdaa3413de22ca0aa, 0x5578c4e79fb7cba5, - 0x000000c5571672 - }, - { - 0xde4b9013948b3e79, 0x5d29c6bd2a42e9aa, 0xc4afd67251233948, - 0x000000f1b3a8c8 - }, - { - 0xa5427b3308a042be, 0x8f0b3503bc85a8a4, 0xb6e50286337c352b, - 0x000000461bfe78 - } - }, - { - { - 0x7460abf530428e38, 0xe60c936700213d4e, 0x66ed9f62e2caeb8b, - 0x0000006191755d - }, - { - 0xac02a538ce5a657c, 0x46135e3665dc8a5f, 0xd908d30ed8e73134, - 0x000000916b1c52 - }, - { - 0xb1cda44e54acd19b, 0x362c01213a9730e8, 0x1769b81bab79806c, - 0x0000002d757e58 - } - }, - { - { - 0xdb6ddcc109d748f4, 0xa0d5f7ad58dfc574, 0xddd3b1c62e975346, - 0x00000051c13b36 - }, - { - 0xae13df645b93a897, 0x2e5392238e272a67, 0x2a1fd587d5005e67, - 0x000000fe69c5aa - }, - { - 0x9474c7c1c60723dd, 0x2d44a8b824694b30, 0xb8e483de8cff5b30, - 0x00000022e9f3cf - } - }, - { - { - 0xf322bd9a6967f134, 0x2f29f647d89cfa18, 0x826ed78c94738b91, - 0x000000b1e5ec32 - }, - { - 0xaf42310ee0f72198, 0x427780f28b7d231c, 0x7425a4581e5a7826, - 0x00000079a9920c - }, - { - 0xc61f37b8429cf4b2, 0x88efef310ef3e409, 0x50b64c99e041c626, - 0x0000000629c1e2 - } - }, - { - { - 0x6946813c175e80ad, 0x23dd79c8a2f11d4, 0x3c1e7f790a120659, - 0x000000844e6f29 - }, - { - 0x21a0a8e5e7cb2486, 0x8e4a177abb7e8905, 0xc84a4ac7a17f76de, - 0x000000ae2a318b - }, - { - 0x2f08407b9c4130ee, 0x16fe9c2462c1c7d6, 0xa40390a28622ce07, - 0x00000028cd8934 - } - }, - { - { - 0xa618290ec214fadf, 0xbdf0899f5ec60f7b, 0xaeda70e819caf765, - 0x0000005be3309b - }, - { - 0x1fe3253125fbcfad, 0x1882acb825602a22, 0x7aebb1d498fce340, - 0x000000320c8c0f - }, - { - 0x630621dd37c0abf8, 0x57dd3e7d98f88a1f, 0x74569ff0da4d5fef, - 0x00000046694364 - } - }, - { - { - 0xe29a286b0ae541f1, 0x711a76125f97dbbc, 0x9e0e1c7f596fd2fe, - 0x00000011d67c4e - }, - { - 0x14eabaec81bdf261, 0x235a7140ee201263, 0xac2a9c19181ba853, - 0x0000000c7f6c18 - }, - { - 0x9e84c780b5c66f32, 0xdb0df0d1e5ab87c0, 0x463c78356c9f2a48, - 0x00000094b80c71 - } - }, - { - { - 0xfd78b677fa603541, 0x6e1e5d3af2f80521, 0x3d85a8d863278732, - 0x0000000271ad8b - }, - { - 0x9c54dc893097818e, 0xd5f8978627282265, 0xd9358d102568244b, - 0x00000076893ed8 - }, - { - 0x3cf2689b3d831714, 0x65d22d73b8a6934f, 0xed27b1a477b8cc83, - 0x000000dd6ed8ea - } - }, - { - { - 0xa44951df186736b3, 0x28a8b422efdfd2f5, 0x1a2b5123ee667e75, - 0x000000fe04218e - }, - { - 0x5047ff1928bfcd8d, 0x9a749cd6e77c5f03, 0x11bcde718d0929cc, - 0x0000000d22c06f - }, - { - 0xe785fe2db31ccff0, 0x309e5d0349576846, 0x571fde2bea1700cd, - 0x000000417ed53f - } - }, - { - { - 0xb3a90715573211f, 0x954e6711225d91d1, 0xa2602af6d4d60f06, - 0x000000d75f1925 - }, - { - 0xd66dacbb04cd6d6e, 0xf1b695656b2eddf5, 0x3de4e86ff9889285, - 0x000000511bfdd8 - }, - { - 0x688626cb9843fd6a, 0xef7aa2e7f04ee6c, 0x8acb6d4908a6e457, - 0x00000005f7ffa5 - } - }, - { - { - 0xaab13b0ba368eece, 0xe85a92c8fd23b014, 0x95427ce935c6bea4, - 0x000000fbd97a5d - }, - { - 0x770068ee4fab272b, 0x8d4691f60118b10f, 0x5549579c7d605c42, - 0x000000c84636e2 - }, - { - 0x4ab6ca68a8bb723c, 0x32287f2ff512eb9, 0xa0f882fc320af20e, - 0x00000026424cad - } - }, - { - { - 0x6b51654bed54dae4, 0xe22f4ccb796c20d9, 0x67379f20a5e036c9, - 0x0000008a81ae21 - }, - { - 0x8744f55ef96543e3, 0x4f7001a4fd90b5ec, 0xcdf3440f25bc4c52, - 0x0000008494151f - }, - { - 0x64624d82293bba8c, 0x72463e6c28e03ae0, 0x574e8d98a95d35b8, - 0x00000092ee224f - } - } - } - }; diff --git a/mirage-crypto-ec.opam b/mirage-crypto-ec.opam index 9ae3d946..a7539c37 100644 --- a/mirage-crypto-ec.opam +++ b/mirage-crypto-ec.opam @@ -4,7 +4,7 @@ description: """ An implementation of key exchange (ECDH) and digital signature (ECDSA/EdDSA) algorithms using code from Fiat (). -The curves P224 (SECP224R1), P256 (SECP256R1), P384 (SECP384R1), +The curves P256 (SECP256R1), P384 (SECP384R1), P521 (SECP521R1), and 25519 (X25519, Ed25519) are implemented by this package. """ maintainer: "Hannes Mehnert " diff --git a/tests/dune b/tests/dune index a063e0e1..4fdef27a 100644 --- a/tests/dune +++ b/tests/dune @@ -59,9 +59,7 @@ (test (name test_ec_wycheproof) (modules test_ec_wycheproof) - (deps ecdh_secp224r1_test.json ecdsa_secp224r1_sha224_test.json - ecdsa_secp224r1_sha256_test.json ecdsa_secp224r1_sha512_test.json - ecdh_secp256r1_test.json ecdsa_secp256r1_sha256_test.json + (deps ecdh_secp256r1_test.json ecdsa_secp256r1_sha256_test.json ecdsa_secp256r1_sha512_test.json ecdh_secp384r1_test.json ecdsa_secp384r1_sha384_test.json ecdsa_secp384r1_sha512_test.json ecdh_secp521r1_test.json ecdsa_secp521r1_sha512_test.json diff --git a/tests/ecdsa_secp224r1_sha224_test.json b/tests/ecdsa_secp224r1_sha224_test.json deleted file mode 100644 index b0007352..00000000 --- a/tests/ecdsa_secp224r1_sha224_test.json +++ /dev/null @@ -1,4218 +0,0 @@ -{ - "algorithm" : "ECDSA", - "generatorVersion" : "0.8r12", - "numberOfTests" : 356, - "header" : [ - "Test vectors of type EcdsaVerify are meant for the verification", - "of ASN encoded ECDSA signatures." - ], - "notes" : { - "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.", - "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.", - "MissingZero" : "Some implementations of ECDSA and DSA incorrectly encode r and s by not including leading zeros in the ASN encoding of integers when necessary. Hence, some implementations (e.g. jdk) allow signatures with incorrect ASN encodings assuming that the signature is otherwise valid.", - "PointDuplication" : "Some implementations of ECDSA do not handle duplication and points at infinity correctly. This is a test vector that has been specially crafted to check for such an omission." - }, - "schema" : "ecdsa_verify_schema.json", - "testGroups" : [ - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5", - "wx" : "00eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7", - "wy" : "00eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE6tqTvhCyRJ4ei7WDBdUgCAE8VxB8GiCj\nF6bLp+ymcjQMA9HS4JZjKGaR31UGn6JUkMndn5wLsrU=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 1, - "comment" : "signature malleability", - "msg" : "313233343030", - "sig" : "303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c2840bf24f6f66be287066b7cbf38788e1b7770b18fd1aa6a26d7c6dc", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 2, - "comment" : "Legacy:ASN encoding of s misses leading 0", - "msg" : "313233343030", - "sig" : "303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021cd7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "acceptable", - "flags" : [ - "MissingZero" - ] - }, - { - "tcId" : 3, - "comment" : "valid", - "msg" : "313233343030", - "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 4, - "comment" : "long form encoding of length of sequence", - "msg" : "313233343030", - "sig" : "30813d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 5, - "comment" : "length of sequence contains leading 0", - "msg" : "313233343030", - "sig" : "3082003d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 6, - "comment" : "wrong length of sequence", - "msg" : "313233343030", - "sig" : "303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 7, - "comment" : "wrong length of sequence", - "msg" : "313233343030", - "sig" : "303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 8, - "comment" : "uint32 overflow in length of sequence", - "msg" : "313233343030", - "sig" : "3085010000003d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 9, - "comment" : "uint64 overflow in length of sequence", - "msg" : "313233343030", - "sig" : "308901000000000000003d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 10, - "comment" : "length of sequence = 2**31 - 1", - "msg" : "313233343030", - "sig" : "30847fffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 11, - "comment" : "length of sequence = 2**32 - 1", - "msg" : "313233343030", - "sig" : "3084ffffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 12, - "comment" : "length of sequence = 2**40 - 1", - "msg" : "313233343030", - "sig" : "3085ffffffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 13, - "comment" : "length of sequence = 2**64 - 1", - "msg" : "313233343030", - "sig" : "3088ffffffffffffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 14, - "comment" : "incorrect length of sequence", - "msg" : "313233343030", - "sig" : "30ff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 15, - "comment" : "indefinite length without termination", - "msg" : "313233343030", - "sig" : "3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 16, - "comment" : "indefinite length without termination", - "msg" : "313233343030", - "sig" : "303d028070049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 17, - "comment" : "indefinite length without termination", - "msg" : "313233343030", - "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a028000d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 18, - "comment" : "removing sequence", - "msg" : "313233343030", - "sig" : "", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 19, - "comment" : "lonely sequence tag", - "msg" : "313233343030", - "sig" : "30", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 20, - "comment" : "appending 0's to sequence", - "msg" : "313233343030", - "sig" : "303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 21, - "comment" : "prepending 0's to sequence", - "msg" : "313233343030", - "sig" : "303f0000021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 22, - "comment" : "appending unused 0's to sequence", - "msg" : "313233343030", - "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 23, - "comment" : "appending null value to sequence", - "msg" : "313233343030", - "sig" : "303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610500", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 24, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "3042498177303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 25, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "30412500303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 26, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "303f303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610004deadbeef", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 27, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "30422221498177021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 28, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "304122202500021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 29, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "3045221e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0004deadbeef021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 30, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "3042021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2222498177021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 31, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a22212500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 32, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a221f021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610004deadbeef", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 33, - "comment" : "including undefined tags", - "msg" : "313233343030", - "sig" : "3045aa00bb00cd00303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 34, - "comment" : "including undefined tags", - "msg" : "313233343030", - "sig" : "3043aa02aabb303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 35, - "comment" : "including undefined tags", - "msg" : "313233343030", - "sig" : "30452224aa00bb00cd00021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 36, - "comment" : "including undefined tags", - "msg" : "313233343030", - "sig" : "30432222aa02aabb021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 37, - "comment" : "including undefined tags", - "msg" : "313233343030", - "sig" : "3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2225aa00bb00cd00021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 38, - "comment" : "including undefined tags", - "msg" : "313233343030", - "sig" : "3043021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2223aa02aabb021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 39, - "comment" : "truncated length of sequence", - "msg" : "313233343030", - "sig" : "3081", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 40, - "comment" : "using composition with indefinite length", - "msg" : "313233343030", - "sig" : "3080303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 41, - "comment" : "using composition with indefinite length", - "msg" : "313233343030", - "sig" : "30412280021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 42, - "comment" : "using composition with indefinite length", - "msg" : "313233343030", - "sig" : "3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2280021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 43, - "comment" : "using composition with wrong tag", - "msg" : "313233343030", - "sig" : "3080313d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 44, - "comment" : "using composition with wrong tag", - "msg" : "313233343030", - "sig" : "30412280031c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 45, - "comment" : "using composition with wrong tag", - "msg" : "313233343030", - "sig" : "3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2280031d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 46, - "comment" : "Replacing sequence with NULL", - "msg" : "313233343030", - "sig" : "0500", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 47, - "comment" : "changing tag value of sequence", - "msg" : "313233343030", - "sig" : "2e3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 48, - "comment" : "changing tag value of sequence", - "msg" : "313233343030", - "sig" : "2f3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 49, - "comment" : "changing tag value of sequence", - "msg" : "313233343030", - "sig" : "313d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 50, - "comment" : "changing tag value of sequence", - "msg" : "313233343030", - "sig" : "323d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 51, - "comment" : "changing tag value of sequence", - "msg" : "313233343030", - "sig" : "ff3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 52, - "comment" : "dropping value of sequence", - "msg" : "313233343030", - "sig" : "3000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 53, - "comment" : "using composition for sequence", - "msg" : "313233343030", - "sig" : "3041300102303c1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 54, - "comment" : "truncated sequence", - "msg" : "313233343030", - "sig" : "303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 55, - "comment" : "truncated sequence", - "msg" : "313233343030", - "sig" : "303c1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 56, - "comment" : "indefinite length", - "msg" : "313233343030", - "sig" : "3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 57, - "comment" : "indefinite length with truncated delimiter", - "msg" : "313233343030", - "sig" : "3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb3584636100", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 58, - "comment" : "indefinite length with additional element", - "msg" : "313233343030", - "sig" : "3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb3584636105000000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 59, - "comment" : "indefinite length with truncated element", - "msg" : "313233343030", - "sig" : "3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361060811220000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 60, - "comment" : "indefinite length with garbage", - "msg" : "313233343030", - "sig" : "3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000fe02beef", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 61, - "comment" : "indefinite length with nonempty EOC", - "msg" : "313233343030", - "sig" : "3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610002beef", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 62, - "comment" : "prepend empty sequence", - "msg" : "313233343030", - "sig" : "303f3000021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 63, - "comment" : "append empty sequence", - "msg" : "313233343030", - "sig" : "303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463613000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 64, - "comment" : "append garbage with high tag number", - "msg" : "313233343030", - "sig" : "3040021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361bf7f00", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 65, - "comment" : "sequence of sequence", - "msg" : "313233343030", - "sig" : "303f303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 66, - "comment" : "truncated sequence: removed last 1 elements", - "msg" : "313233343030", - "sig" : "301e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 67, - "comment" : "repeating element in sequence", - "msg" : "313233343030", - "sig" : "305c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 68, - "comment" : "long form encoding of length of integer", - "msg" : "313233343030", - "sig" : "303e02811c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 69, - "comment" : "long form encoding of length of integer", - "msg" : "313233343030", - "sig" : "303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02811d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 70, - "comment" : "length of integer contains leading 0", - "msg" : "313233343030", - "sig" : "303f0282001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 71, - "comment" : "length of integer contains leading 0", - "msg" : "313233343030", - "sig" : "303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0282001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 72, - "comment" : "wrong length of integer", - "msg" : "313233343030", - "sig" : "303d021d70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 73, - "comment" : "wrong length of integer", - "msg" : "313233343030", - "sig" : "303d021b70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 74, - "comment" : "wrong length of integer", - "msg" : "313233343030", - "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021e00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 75, - "comment" : "wrong length of integer", - "msg" : "313233343030", - "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 76, - "comment" : "uint32 overflow in length of integer", - "msg" : "313233343030", - "sig" : "30420285010000001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 77, - "comment" : "uint32 overflow in length of integer", - "msg" : "313233343030", - "sig" : "3042021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0285010000001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 78, - "comment" : "uint64 overflow in length of integer", - "msg" : "313233343030", - "sig" : "3046028901000000000000001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 79, - "comment" : "uint64 overflow in length of integer", - "msg" : "313233343030", - "sig" : "3046021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a028901000000000000001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 80, - "comment" : "length of integer = 2**31 - 1", - "msg" : "313233343030", - "sig" : "304102847fffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 81, - "comment" : "length of integer = 2**31 - 1", - "msg" : "313233343030", - "sig" : "3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02847fffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 82, - "comment" : "length of integer = 2**32 - 1", - "msg" : "313233343030", - "sig" : "30410284ffffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 83, - "comment" : "length of integer = 2**32 - 1", - "msg" : "313233343030", - "sig" : "3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0284ffffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 84, - "comment" : "length of integer = 2**40 - 1", - "msg" : "313233343030", - "sig" : "30420285ffffffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 85, - "comment" : "length of integer = 2**40 - 1", - "msg" : "313233343030", - "sig" : "3042021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0285ffffffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 86, - "comment" : "length of integer = 2**64 - 1", - "msg" : "313233343030", - "sig" : "30450288ffffffffffffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 87, - "comment" : "length of integer = 2**64 - 1", - "msg" : "313233343030", - "sig" : "3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0288ffffffffffffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 88, - "comment" : "incorrect length of integer", - "msg" : "313233343030", - "sig" : "303d02ff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 89, - "comment" : "incorrect length of integer", - "msg" : "313233343030", - "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02ff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 90, - "comment" : "removing integer", - "msg" : "313233343030", - "sig" : "301f021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 91, - "comment" : "lonely integer tag", - "msg" : "313233343030", - "sig" : "302002021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 92, - "comment" : "lonely integer tag", - "msg" : "313233343030", - "sig" : "301f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 93, - "comment" : "appending 0's to integer", - "msg" : "313233343030", - "sig" : "303f021e70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 94, - "comment" : "appending 0's to integer", - "msg" : "313233343030", - "sig" : "303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 95, - "comment" : "prepending 0's to integer", - "msg" : "313233343030", - "sig" : "303f021e000070049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 96, - "comment" : "prepending 0's to integer", - "msg" : "313233343030", - "sig" : "303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f000000d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 97, - "comment" : "appending unused 0's to integer", - "msg" : "313233343030", - "sig" : "303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 98, - "comment" : "appending null value to integer", - "msg" : "313233343030", - "sig" : "303f021e70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 99, - "comment" : "appending null value to integer", - "msg" : "313233343030", - "sig" : "303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610500", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 100, - "comment" : "truncated length of integer", - "msg" : "313233343030", - "sig" : "30210281021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 101, - "comment" : "truncated length of integer", - "msg" : "313233343030", - "sig" : "3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0281", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 102, - "comment" : "Replacing integer with NULL", - "msg" : "313233343030", - "sig" : "30210500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 103, - "comment" : "Replacing integer with NULL", - "msg" : "313233343030", - "sig" : "3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0500", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 104, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303d001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 105, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303d011c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 106, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303d031c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 107, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303d041c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 108, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303dff1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 109, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 110, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a011d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 111, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a031d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 112, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a041d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 113, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480aff1d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 114, - "comment" : "dropping value of integer", - "msg" : "313233343030", - "sig" : "30210200021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 115, - "comment" : "dropping value of integer", - "msg" : "313233343030", - "sig" : "3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0200", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 116, - "comment" : "using composition for integer", - "msg" : "313233343030", - "sig" : "30412220020170021b049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 117, - "comment" : "using composition for integer", - "msg" : "313233343030", - "sig" : "3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2221020100021cd7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 118, - "comment" : "modify first byte of integer", - "msg" : "313233343030", - "sig" : "303d021c72049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 119, - "comment" : "modify first byte of integer", - "msg" : "313233343030", - "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d02d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 120, - "comment" : "modify last byte of integer", - "msg" : "313233343030", - "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a488a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 121, - "comment" : "modify last byte of integer", - "msg" : "313233343030", - "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463e1", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 122, - "comment" : "truncated integer", - "msg" : "313233343030", - "sig" : "303c021b70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a48021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 123, - "comment" : "truncated integer", - "msg" : "313233343030", - "sig" : "303c021b049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 124, - "comment" : "truncated integer", - "msg" : "313233343030", - "sig" : "303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 125, - "comment" : "leading ff in integer", - "msg" : "313233343030", - "sig" : "303e021dff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 126, - "comment" : "leading ff in integer", - "msg" : "313233343030", - "sig" : "303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021eff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 127, - "comment" : "replaced integer by infinity", - "msg" : "313233343030", - "sig" : "3022090180021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 128, - "comment" : "replaced integer by infinity", - "msg" : "313233343030", - "sig" : "3021021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a090180", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 129, - "comment" : "replacing integer with zero", - "msg" : "313233343030", - "sig" : "3022020100021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 130, - "comment" : "replacing integer with zero", - "msg" : "313233343030", - "sig" : "3021021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a020100", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 131, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303e021d0170049af31f8348673d56cece2b26fc2a84bbe2e2a2e84aeced767247021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 132, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303e021dff70049af31f8348673d56cece2b28cee4c34a02667b2df86234be1dcd021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 133, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303d021c8ffb650ce07cb798c2a93131d4d81a785bfd0d5b70f4de586ee5b7f6021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 134, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303e021d008ffb650ce07cb798c2a93131d4d7311b3cb5fd9984d2079dcb41e233021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 135, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303e021dfe8ffb650ce07cb798c2a93131d4d903d57b441d1d5d17b51312898db9021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 136, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303e021d0170049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 137, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303e021d008ffb650ce07cb798c2a93131d4d81a785bfd0d5b70f4de586ee5b7f6021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 138, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d01d7bf40db0909941d78f9948340c5b4b7a5fa6fca97e8a82091e08d9e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 139, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021cd7bf40db0909941d78f9948340c78771e4888f4e702e5595d9283924", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 140, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021dff2840bf24f6f66be287066b7cbf3961eb3abe80737bf48124ca7b9c9f", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 141, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021dfe2840bf24f6f66be287066b7cbf3a4b485a059035681757df6e1f7262", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 142, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d01d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 143, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c2840bf24f6f66be287066b7cbf3961eb3abe80737bf48124ca7b9c9f", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 144, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3006020100020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 145, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3006020100020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 146, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30060201000201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 147, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 148, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 149, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 150, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 151, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 152, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3008020100090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 153, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3006020100090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 154, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3006020101020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 155, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3006020101020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 156, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30060201010201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 157, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 158, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 159, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 160, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 161, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 162, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3008020101090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 163, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3006020101090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 164, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30060201ff020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 165, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30060201ff020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 166, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30060201ff0201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 167, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 168, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 169, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 170, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 171, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 172, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30080201ff090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 173, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30060201ff090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 174, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 175, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 176, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 177, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 178, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 179, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 180, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 181, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 182, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 183, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 184, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 185, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 186, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c0201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 187, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 188, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 189, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 190, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 191, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 192, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 193, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 194, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 195, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 196, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e0201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 197, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 198, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 199, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 200, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 201, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 202, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 203, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 204, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 205, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 206, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000010201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 207, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 208, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 209, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 210, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 211, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 212, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3024021d00ffffffffffffffffffffffffffffffff000000000000000000000001090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 213, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 214, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 215, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 216, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000020201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 217, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 218, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 219, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 220, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 221, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 222, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3024021d00ffffffffffffffffffffffffffffffff000000000000000000000002090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 223, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 224, - "comment" : "Signature encoding contains wrong types.", - "msg" : "313233343030", - "sig" : "30060201010c0130", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 225, - "comment" : "Signature encoding contains wrong types.", - "msg" : "313233343030", - "sig" : "30050201010c00", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 226, - "comment" : "Signature encoding contains wrong types.", - "msg" : "313233343030", - "sig" : "30090c0225730c03732573", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 227, - "comment" : "Signature encoding contains wrong types.", - "msg" : "313233343030", - "sig" : "30080201013003020100", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 228, - "comment" : "Signature encoding contains wrong types.", - "msg" : "313233343030", - "sig" : "3003020101", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 229, - "comment" : "Signature encoding contains wrong types.", - "msg" : "313233343030", - "sig" : "3006020101010100", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 230, - "comment" : "Edge case for Shamir multiplication", - "msg" : "3137353738", - "sig" : "303c021c326bc06353f7f9c9f77b8f4b55464e8619944e7879402cca572e041a021c3116e1a38e4ab2008eca032fb2d185e5c21a232eaf4507ae56177fd2", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 231, - "comment" : "special case hash", - "msg" : "32323534363238393834", - "sig" : "303d021d008ce2afe20b684576fdd91b4b34168c9c011996af5b0eb85fa929f381021c662af5ca651bffbc623c3a3b372779bd09e1948cd19188f5339a979d", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 232, - "comment" : "special case hash", - "msg" : "31383237383738363130", - "sig" : "303e021d00da573cf73aed174710c232155735248f8ebef696374647527da52258021d00b251856b66a83c32bf0b7b81a01f1db4507e622125f301bd832a5ccc", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 233, - "comment" : "special case hash", - "msg" : "31353138383631373039", - "sig" : "303e021d00c368da86582b2c82b696b2f7c79027968f3fd25cbba9688cdc67b17a021d00aba8e3c2ff1af9bb9c66ca88a3825a19ce17206e7a658ff47025891e", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 234, - "comment" : "special case hash", - "msg" : "32313239323333343232", - "sig" : "303d021d00ffcefcb57190d0b87efb789fb53407fd2c65c5ae3551da3eccf8ddd5021c05c89b41238f1e1def8fbe8d4afebf20be077e82972f91297487e118", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 235, - "comment" : "special case hash", - "msg" : "31323231393739303539", - "sig" : "303c021c2b98c67ebf6597b08bc7f1b73ff8662cf125e9700ec973ece9c6ff48021c2e3f72a8f76e12c8cdf4487e0956c1ef4578e1da4d29d8db824d415b", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 236, - "comment" : "special case hash", - "msg" : "32333032353637363131", - "sig" : "303d021c5794d70440f166904d24d0b910cd127c63a9eddca45a4d9032db47e8021d008ba5d290834d9a0963122d928da902f7b03467396072180bb1801b43", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 237, - "comment" : "special case hash", - "msg" : "31313035383638343732", - "sig" : "303e021d00c29c70b0b21782d1c727f4907aef5641b6d6c6e7b2a1ebfa57794223021d00aac2d3a02592f298dd3198e388425ec7a91d7e6be48248a64773614c", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 238, - "comment" : "special case hash", - "msg" : "31343636363134343432", - "sig" : "303d021c5c3ef3778c811e69ef0b0e370e45ec0d7eb88505c3e8ffb8c50b9993021d00e06b5c6e47dc4da9e64fd21bc3e1da13cf7c264fa64ccb89da87387c", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 239, - "comment" : "special case hash", - "msg" : "343431393536343230", - "sig" : "303e021d00ed8f586563232cf15ebd014bd4f99727e337cfe4ce48694fe6748ec2021d00fff779a3eca9513522908e252a2b4aab2060608e6cd2d4f1b8c696cd", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 240, - "comment" : "special case hash", - "msg" : "31393639343836303634", - "sig" : "303c021c64c084f6b775bbf7915c1964a68b0259629328598f13557872867830021c2a6f3b289d130ec3d99e4caaf601497895a069c1a5a75b559ad28444", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 241, - "comment" : "special case hash", - "msg" : "32323335363732383833", - "sig" : "303d021c2b514e9b0e0eb68adc01915abbee9fa21f3034be5581dedaa6b15982021d00b8f71c5fdc68d698716bfc623b278216c0fcc0298497fc9c03db44e9", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 242, - "comment" : "special case hash", - "msg" : "32323537383433373033", - "sig" : "303e021d00e4103f4a8a814485b6b406fe8dd72206bad6a50e7126bc655c3d2285021d009bcb99693284cac26e6641a861dbec24f9cc5dd7bb535339d09ac984", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 243, - "comment" : "special case hash", - "msg" : "393434353030393436", - "sig" : "303d021d009edfb833446ec8b6fc84eea34ee40a85b732e5c99da8abc8bafcc515021c5052b40f9d407ae90003299cabe3e1a587b0558127cafb31de6b2638", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 244, - "comment" : "special case hash", - "msg" : "31363837373839343130", - "sig" : "303d021d00ad2647c8ff377798a6aeaed436d30c7b25fb52428829ce6424dd34e8021c28f58671d77c86da302418c51e5ab86d137ba6ef4389722bc79b8751", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 245, - "comment" : "special case hash", - "msg" : "333933323631323238", - "sig" : "303c021c5dfc6fad385bdb24b2b70a64fd4253405c0028bb36f4793aa3bd31fe021c1c210b74924171378992b03bb1bd78c5cfcfc879d2e5c736d35516c3", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 246, - "comment" : "special case hash", - "msg" : "31303733353731303935", - "sig" : "303d021c766bef46229695e6829dd12cd558369ec34519ba4a72dcaf6f73f7b0021d00fc015ccdd1e943b910101607d81ff1398ca6a4d70c25832b02b221e4", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 247, - "comment" : "special case hash", - "msg" : "3630383837343734", - "sig" : "303c021c120055f90ad1290c4c5fc5faf69b215139182c770d2b55e95712442f021c01ac47f7446543d4003b039d9f54daa9d0799f98291a32df4fcd472a", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 248, - "comment" : "special case hash", - "msg" : "31313932353639393632", - "sig" : "303d021d00f480591f6f40a25b37a035fd91954145ec342e593d09e142f25da408021c5c6ba44ff52f52c51490743d9b650916be58d06d7c1fd99dfa2eab58", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 249, - "comment" : "special case hash", - "msg" : "3930303736303933", - "sig" : "303c021c57daddb0cb6af939b1ea1aaf4bc72e56150c0c46a581827193e65d17021c3bc37bde4e60b789ba86a054d37f1191e0814926c1a0100168d16c17", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 250, - "comment" : "special case hash", - "msg" : "31363032383336313337", - "sig" : "303c021c3a74102bd1fc617018efc4fbc042e719a81b55830aac1f1dcdedec65021c4bb9fe90015a45f31c8c95dda24f54fcdb64682c13f68d4da3d1abe0", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 251, - "comment" : "special case hash", - "msg" : "32303830323435363734", - "sig" : "303e021d00e3b6bb1b5beed048e0177e3e310fa14eb923a1e3274c0946f9275454021d00e044e0494ff46573c37007e3efa3233588f1d103ced1823c7e87e7c8", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 252, - "comment" : "special case hash", - "msg" : "31373938323734363539", - "sig" : "303c021c3c212b5a7e65d9af44643bd62fa42a9b9cffe6bdb623e9b9e4337156021c29c8121a12427a324e5d551ff5a83d3c252e32257af2800d080817d2", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 253, - "comment" : "special case hash", - "msg" : "31313535353737373230", - "sig" : "303c021c1630554989fffd0e35f2d9105623d73a543634c48000484c422272ca021c214da487d5e51f73814dff80a08c77bd8a83a9889a1b26a5578ba954", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 254, - "comment" : "special case hash", - "msg" : "32343332343734363634", - "sig" : "303d021c0a4609242f2193b94bc54f49bcf532a576e035cec50e043668574bef021d00aa68bd67624d8812002bbb3a5f530594451372d4ab36896a2929c3df", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 255, - "comment" : "special case hash", - "msg" : "32343137323832323737", - "sig" : "303e021d00ef9ff446e8eef3e948f4129fe8804f81f5b7f116a5383f9e8bc359e4021d00f4c7055bd98f4a7ea49d9574160eac167809f6a78b9dd220958dd0f3", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 256, - "comment" : "special case hash", - "msg" : "3737383734373731", - "sig" : "303d021c1a6c59d85d5b3120b28c0d30bc058a92dc725d8ef450c198cc3ca522021d008b17fefc8ab1ff0bb37a93446453d40f65bc2cb9636b11207f5c90a1", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "048bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f", - "wx" : "008bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7", - "wy" : "00eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEi/fnkvfIaHfx/QVS5C2AZTtZ46Kedioi\ngQ2qx+7GFbutBLWNwqeVYJC4BAu1BVMlu6Cqizpcqm8=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 257, - "comment" : "k*G has a large x-coordinate", - "msg" : "313233343030", - "sig" : "3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 258, - "comment" : "r too large", - "msg" : "313233343030", - "sig" : "303e021d00fffffffffffffffffffffffffffffffefffffffffffffffffffffffe021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "042646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd", - "wx" : "2646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818", - "wy" : "00ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00042646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEJkb/NtlpeqrtDWQRF/lPYOE4urjpkStV\niuCoGMpI5FozVQwbW9IKAOTZ3zAzwDIi6HvZaoGX8t0=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 259, - "comment" : "r,s are large", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382", - "wx" : "00ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988", - "wy" : "00f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE6j6ihztvwJm/13mwosI8LENU4v7EU287\njkIJiPl+HHZGtOs95hZ1L0Fas6b2ltHWdPtLZzIlI4I=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 260, - "comment" : "r and s^-1 have a large Hamming weight", - "msg" : "313233343030", - "sig" : "303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c3d5052691b8dc89debad360466f2a39e82e8ae2aefb77c3c92ad7cd1", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0492ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c", - "wx" : "0092ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13", - "wy" : "00e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000492ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEkq5U44tOnGrplDGTdHxMisxslvQiUVKI\n6WmKE+jzp1mhqCc8U/S0sYv8942buYits7AFAC2+Q0w=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 261, - "comment" : "r and s^-1 have a large Hamming weight", - "msg" : "313233343030", - "sig" : "303d021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021d00bf19ab4d3ebf5a1a49d765909308daa88c2b7be3969db552ea30562b", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04b157315cc1aaeae64eb5b38452884195fdfe8a15fb5618284f48afe5e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7", - "wx" : "00b157315cc1aaeae64eb5b38452884195fdfe8a15fb5618284f48afe5", - "wy" : "00e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b157315cc1aaeae64eb5b38452884195fdfe8a15fb5618284f48afe5e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsVcxXMGq6uZOtbOEUohBlf3+ihX7Vhgo\nT0iv5eH7uq1ylHekXzdSt/cq0vnNfc5BWKjiG4En6Kc=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 262, - "comment" : "small r and s", - "msg" : "313233343030", - "sig" : "3006020103020101", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0487d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1db5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee", - "wx" : "0087d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1d", - "wy" : "00b5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000487d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1db5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEh9nZZARLWxaAHzLenz+QZhlOi/gK/6PL\nDU3bHbXrm2WU5tG8rND9nWfECPeJ37lf63mm4vucTO4=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 263, - "comment" : "small r and s", - "msg" : "313233343030", - "sig" : "3006020103020103", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f518b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1", - "wx" : "461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f5", - "wy" : "18b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f518b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAERhtDWvCe3jXnTawh+a97G5mYITA5+Hhd\nSkkF9Ri4m95p3jSkgmOEYdCThucZPKkMpbMDjio4hdE=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 264, - "comment" : "small r and s", - "msg" : "313233343030", - "sig" : "3006020103020104", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 265, - "comment" : "r is larger than n", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a40020104", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "048093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816", - "wx" : "008093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a", - "wy" : "10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEgJOvjbBLPdLnw8WbtkqDLC+46OFBuue6\nFTSVChDF6HrsvR/N/DbNGNQbMjiyrGE+t8nemI2IGBY=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 266, - "comment" : "s is larger than n", - "msg" : "313233343030", - "sig" : "3022020103021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c6f00c4", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f", - "wx" : "00c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e", - "wy" : "3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExtcfS6CTPxJp99bfg/0MnGclTxAdzBJt\nwV+qPjxF3J/txxyfKw3RsStlYkH14zUGbz+SW9vP6Y8=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 267, - "comment" : "small r and s^-1", - "msg" : "313233343030", - "sig" : "302302020100021d00c993264c993264c993264c99326411d2e55b3214a8d67528812a55ab", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed634835503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda", - "wx" : "00beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed6348", - "wy" : "35503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed634835503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvrnY3LpIFGuQMmiOzqlHojHn0ObOF9dr\nVu1jSDVQPztK9BSHDvAzg3hLHYRrPge46fwtYZCjv9o=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 268, - "comment" : "smallish r and s^-1", - "msg" : "313233343030", - "sig" : "302702072d9b4d347952cc021c3e85d56474b5c55fbe86608442a84b2bf093b7d75f53a47250e1c70c", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "041955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee", - "wx" : "1955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c", - "wy" : "00807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00041955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEGVW6P5DnpzlHGl0YK1lMl0frSdU1YgPz\nu4uTnIB9iM46CIW/pbW39um+sYKF5xMFJLbBSYsyae4=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 269, - "comment" : "100-bit r and small s^-1", - "msg" : "313233343030", - "sig" : "302d020d1033e67e37b32b445580bf4efb021c02fd02fd02fd02fd02fd02fd02fd0043a4fd2da317247308c74dc6b8", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "045cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd", - "wx" : "5cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf", - "wy" : "4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00045cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEXLnlpQcfKzeqOl5fOJ9U+ZawvIoTLsto\nhTGPv07F+Lk9i/Kjtk+nysMWOSVixGVnljxDpp96N/0=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 270, - "comment" : "small r and 100 bit s^-1", - "msg" : "313233343030", - "sig" : "302302020100021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "047b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7bdee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba", - "wx" : "7b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7b", - "wy" : "00dee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00047b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7bdee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEezTvhyOkMJwPqKfsOng0d2UqgokjcPZ2\nMxT+e97mY4UwceNf08dvmR14Q8XhaMplm5O9YBVRj7o=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 271, - "comment" : "100-bit r and s^-1", - "msg" : "313233343030", - "sig" : "302e020d062522bbd3ecbe7c39e93e7c24021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0403f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f76767d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16", - "wx" : "03f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f7676", - "wy" : "7d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000403f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f76767d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEA/JqnBOXnPXQkOol3JZjmAIs7sMVBKvE\nsQ92dn1Xfc9H4Q44TGuaIppFWp/TPlT+eWC4sBYK7xY=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 272, - "comment" : "r and s^-1 are close to n", - "msg" : "313233343030", - "sig" : "303d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29bd021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3ca46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d", - "wx" : "00b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3c", - "wy" : "00a46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3ca46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtnEpbdX2kFAuSxUA5Ky0yC06qN+8WGim\nQ/hqPKRrqMOnuCMllSIpHiQWIyJ2zKhQPMjb+UHx2T0=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 273, - "comment" : "s == 1", - "msg" : "313233343030", - "sig" : "3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 274, - "comment" : "s == 0", - "msg" : "313233343030", - "sig" : "3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020100", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0476e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2", - "wx" : "76e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682", - "wy" : "00cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000476e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEduNLV6jGHfWcsLeSHOxuVCI0QDP3rMt7\nMXnmgs79CoSDCdHez5ijueMzaRuVwXghy2gRN2MMAuI=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 275, - "comment" : "point at infinity during verify", - "msg" : "313233343030", - "sig" : "303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0451839e545c872f4a381f278ed5b4c24cf38aac77b02953405618bf27394e41226594c499db6a7dd7a6901bda5e6474b1ffa10a6567210010", - "wx" : "51839e545c872f4a381f278ed5b4c24cf38aac77b02953405618bf27", - "wy" : "394e41226594c499db6a7dd7a6901bda5e6474b1ffa10a6567210010" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000451839e545c872f4a381f278ed5b4c24cf38aac77b02953405618bf27394e41226594c499db6a7dd7a6901bda5e6474b1ffa10a6567210010", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEUYOeVFyHL0o4HyeO1bTCTPOKrHewKVNA\nVhi/JzlOQSJllMSZ22p916aQG9peZHSx/6EKZWchABA=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 276, - "comment" : "edge case for signature malleability", - "msg" : "313233343030", - "sig" : "303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04a3ec90053d1e100815d1becfe96c9b3646e52df794f6b03b766a7574c3b7e17e73acc8cefe71b6eb13d4f1c94c57e58bee43c69d9d41a964", - "wx" : "00a3ec90053d1e100815d1becfe96c9b3646e52df794f6b03b766a7574", - "wy" : "00c3b7e17e73acc8cefe71b6eb13d4f1c94c57e58bee43c69d9d41a964" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a3ec90053d1e100815d1becfe96c9b3646e52df794f6b03b766a7574c3b7e17e73acc8cefe71b6eb13d4f1c94c57e58bee43c69d9d41a964", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEo+yQBT0eEAgV0b7P6WybNkblLfeU9rA7\ndmp1dMO34X5zrMjO/nG26xPU8clMV+WL7kPGnZ1BqWQ=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 277, - "comment" : "edge case for signature malleability", - "msg" : "313233343030", - "sig" : "303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384dcce4e5b83c32a800e8de28fa936d582cdcad185e894caac797f1d14", - "wx" : "00b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384", - "wy" : "00dcce4e5b83c32a800e8de28fa936d582cdcad185e894caac797f1d14" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384dcce4e5b83c32a800e8de28fa936d582cdcad185e894caac797f1d14", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtcCbSFGmc3Hu57vwJFHlIIxA3mG8GjPf\nJxCzhNzOTluDwyqADo3ij6k21YLNytGF6JTKrHl/HRQ=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 278, - "comment" : "u1 == 1", - "msg" : "313233343030", - "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83", - "wx" : "00941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538", - "wy" : "00c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAElB4oO+MTAL/U9qErh2/TJnNSVRzEnp7v\nc/dlOMEV5f47kvZDxs7xxY8/hldXTR9klX1IgJlc3oM=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 279, - "comment" : "u1 == n - 1", - "msg" : "313233343030", - "sig" : "303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d008ac44bff876cbf7e2842eec13b63fcb3d6e7360aca5698f3ef0f1811", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0443c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb4729ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a", - "wx" : "43c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb472", - "wy" : "009ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000443c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb4729ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEQ8nM0IqAvKGAInIrC9zXkNgqPvi2XD80\nIEu0cp7hwfAFmBMLIxOj44o3mNA9rGZc/yDzbOiiAko=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 280, - "comment" : "u2 == 1", - "msg" : "313233343030", - "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f104596997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082", - "wx" : "00d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f10459", - "wy" : "6997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f104596997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE2VjkGPrRxepckj5hheA+1VOdP19Y36yL\nufEEWWmX5AjJe+X9wDelwAQ4nUuX6x9UY16YWFPB8II=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 281, - "comment" : "u2 == n - 1", - "msg" : "313233343030", - "sig" : "303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00aaaaaaaaaaaaaaaaaaaaaaaaaaaa0f17407b4ad40d3e1b8392e81c29", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596", - "wx" : "00d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4", - "wy" : "713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE1im0NMm10Ve9cuEU/YOVU/fw6UYAk0oK\nSeWapHE6E8AXdedeLrrnXZ4p0lBhhBd7fdCGhpOHNZY=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 282, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d1be91557d866ad5f2945b14ec3317bc43c1338fd06af6496201cce2", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "043d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff377d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36", - "wx" : "3d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff37", - "wy" : "7d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff377d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEPS6buacSvzrUKsMGWf29qb6ZVlN/nzfN\nBfD/N31ZgtbZJm13SULETZ6zUBBR07lohhATHnhW7zY=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 283, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7ac54a381d9bd3f2698359d6f658b5e4167d15a75b576e82d2efbd37", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479", - "wx" : "00a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60", - "wy" : "00d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEoL4vEBRLm0KwFvG9n8ow5MJKrkd1WWx8\n2weuYNYP86cPFUFjH2CH0/Oz/jdtIwW1C5SCEQZBJHk=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 284, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c4fbb063e82402e16fe14edda4d7986b0b88344a1f53b0e2684ee7e31", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "044d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db", - "wx" : "4d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab", - "wy" : "106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00044d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAETXQ5elhsisXjJr7QNyC95wN+Sgeu5yCf\ncEk8qxBneL/QgdF6tty4/YpFSWKUHCbswZzan7d3Gds=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 285, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d3be5f50d726f99b8ac44bff876bfe78dd7ae630d227ef0ba87ae39b", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "048c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085", - "wx" : "008c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f", - "wy" : "5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEjC8Umxc4JD+BpvEhNTlaK6JxiGNiLmbj\nPvwkH1Y4z2rpz7OVeM86cZcCBS5enpQCFsUTbctu8IU=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 286, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00e5f50d726f99b8ac44bff876cbf710e47f9087d1afdfb1dab6d6daf1", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf412e86d4ae55f4460aba6a932f307ee78efdc136e9a3df6313100bf4f", - "wx" : "00ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf4", - "wy" : "12e86d4ae55f4460aba6a932f307ee78efdc136e9a3df6313100bf4f" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf412e86d4ae55f4460aba6a932f307ee78efdc136e9a3df6313100bf4f", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAErVIn5Ir6oWXnuX74IQaHVW4QZD/aijd6\nr09b9BLobUrlX0Rgq6apMvMH7njv3BNumj32MTEAv08=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 287, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00cbea1ae4df337158897ff0ed97ef0b261e681f654be23a7011518ba5", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "043fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992023c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f", - "wx" : "3fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992", - "wy" : "023c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992023c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEP7lKMWXs3vQ/onkH7Qdcr1LCVCCse8e7\nkECJkgI8TXtHdbWRriI91Nqc6qvXO5dD3auLQFduOT8=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 288, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d726f99b8ac44bff876cbf7e28422aa07ec3cb1d9472bd704f4029f0", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc9a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82", - "wx" : "00e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc", - "wy" : "009a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc9a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE5F/PCn9NwqMI3HhoJRQj+/caIFqVRoUK\nAacy/Jpzyk1BF1B28vNisnbssMzbbguzDEobNcLj7YI=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 289, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d009720b755413cca9506b5d27589e58ac4bed856762ba7ae20ab5b43cc", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "043c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e28131b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb", - "wx" : "3c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e2813", - "wy" : "1b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e28131b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEPFnhOYL9nBpFmRsenXnpOaUqYspHl2Tx\nR34oExsATJv/1/AMBeMWjGJcyTq3oPG6jW+iak1RYss=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 290, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2e416eaa8279952a0d6ba4eb13cbfee69cf7bcae437232fbfa5a5d5b", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c053ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581", - "wx" : "00c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c", - "wy" : "053ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c053ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExrj/FS16G3qZzjSDveqvW9LOZNxrD4nP\nNUS4fAU6ts+ctRDcFECrTkEqFn9MaTZfz8l/MdW6RYE=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 291, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00c56225ffc3b65fbf142177609db189ab5bd013246f19e11ca5b5a127", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "047c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd56e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df", - "wx" : "7c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd5", - "wy" : "6e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00047c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd56e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEfAdy+2VTwOwN0fc7XbOAdk2fL3r7Tqwe\nd02s1W4uXeDbY78Dz5Z16ubS3+VCTnmrOUlRybYK1d8=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 292, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00a7dd831f4120170b7f0a76ed26bc4ea9cc9e1a70048c1bb5f0a55437", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "044108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a", - "wx" : "4108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b", - "wy" : "46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00044108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEQQjgzNR8ugn7ftTZ80VYI3gJZRV4YcG/\nj5PTS0bW/bcenomtqucTdrE/0XZEsR7tANSYeD2guho=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 293, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffffb2364ae85014b149b86c741eb8be", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "042f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e35a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733", - "wx" : "2f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e3", - "wy" : "5a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00042f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e35a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAELy2kChty9numNhOiQxGcQcclKDnPEG6G\ntdjm41oeDi/Em08xbwwOcjZ4V0nrNM6SPCOu8zCvhzM=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 294, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00855f5b2dc8e46ec428a593f73219cf65dae793e8346e30cc3701309c", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "047dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c72834353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137", - "wx" : "7dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c7283", - "wy" : "4353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00047dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c72834353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEfcCXEPT1hq8FsI8Mnc1IsTCHM8l3Z/wo\nbRxyg0NTpwTHlQuPShE5S8jbBq3M8Z2O2Vx/IUoXMTc=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 295, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2db5f61aea817276af2064e104c7a30e32034cb526dd0aacfa56566f", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd32882663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d", - "wx" : "00dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd328", - "wy" : "0082663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd32882663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE27Q54sPp0YIrlMzH2Yyfy2aOZd1qdZrS\n39zTKIJmMjTm2lEtfX1f55FWrQ4Z/8YtYY489IJ2EG0=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 296, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0084a6c7513e5f48c07fffffffffff8713f3cba1293e4f3e95597fe6bd", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed255beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8", - "wx" : "00e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed2", - "wy" : "55beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed255beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE4BLcIMylvSrfqif1dBlZbOCe0PGKkUjj\nCg9u0lW+yhtePiSF75U3rkime3Lbz217MzcgI6XEQ+g=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 297, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c7513e5f48c07ffffffffffffff9d21fd1b31544cb13ca86a75b25e", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca242b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627", - "wx" : "00c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca2", - "wy" : "42b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca242b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExRCrNKvUhVxU1iQHq+bKCQxzukmsqd6b\n8Re8okKzsAwnLCJoGvfCVRIPrBSK1zyBtHhG5K0vVic=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 298, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d8ea27cbe9180fffffffffffffff3a43fa3662a899627950d4eb64bc", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0408a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f433fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac", - "wx" : "08a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f4", - "wy" : "33fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000408a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f433fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAECKbhZ1NqR6qiJP7CHOB3ZC79uX2Trha5\nZyJ59DP7nxq7JfLAw+YAishX7eSonKjZ0IuJlmFJaaw=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 299, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3e5f48c07fffffffffffffffffffc724968c0ecf9ed783744a7337b3", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "041a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0", - "wx" : "1a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c", - "wy" : "6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00041a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEGoPhhfzzDmxpzykuSX1jzATm/QfLk2Wn\nS+PDnGstViR99Jz5QXbE6O/ITscQzQ1hTdBmwW9q0+A=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 300, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00bfffffffffffffffffffffffffff3d87bb44c833bb384d0f224ccdde", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "042d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb95bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0", - "wx" : "2d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb", - "wy" : "0095bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00042d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb95bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAELVnv2EGkS4P9QuaimEpT+pOtJCwRZ4+S\nICzM+5W8rwsvbrDm1Ng+MmDgN9PcDkirbEFBzmtWytA=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 301, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffff646c95d0a029629370d8e83d717f", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "041161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838", - "wx" : "1161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c", - "wy" : "08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00041161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEEWHHrdb2f5lbk+GesYvV5z/XHWuxDc7v\nC3kunAjETO+YJrTtZ1CMCdB+yFeg6kntGn8fosdMuDg=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 302, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e1520", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0484dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb", - "wx" : "0084dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af", - "wy" : "7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000484dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEhNw9Lr/PNIBxO67/MK0HgbyMTQarbd1P\nfxBFr3VwU3xdcaeLGgQayg/jX2QoJKvajD/y6fz1yMs=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 303, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0096dafb0d7540b93b5790327082635cd8895e1e799d5d19f92b594056", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "041767574e645c550ef3d353f76d4428f9616ac288b36378857de332629fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9", - "wx" : "1767574e645c550ef3d353f76d4428f9616ac288b36378857de33262", - "wy" : "009fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00041767574e645c550ef3d353f76d4428f9616ac288b36378857de332629fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEF2dXTmRcVQ7z01P3bUQo+WFqwoizY3iF\nfeMyYp/gmCWlfzoOwRGJ9FYCcil6ttXglUAf67YNDck=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 304, - "comment" : "point duplication during verification", - "msg" : "313233343030", - "sig" : "303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c1ef359e4bd146f63d8155c5c2523fa3353c9820f84f28150bad3819a", - "result" : "valid", - "flags" : [ - "PointDuplication" - ] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "041767574e645c550ef3d353f76d4428f9616ac288b36378857de33262601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238", - "wx" : "1767574e645c550ef3d353f76d4428f9616ac288b36378857de33262", - "wy" : "601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00041767574e645c550ef3d353f76d4428f9616ac288b36378857de33262601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEF2dXTmRcVQ7z01P3bUQo+WFqwoizY3iF\nfeMyYmAfZ9pagMXxPu52C6n9jdWFSSofar/gFEny8jg=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 305, - "comment" : "duplication bug", - "msg" : "313233343030", - "sig" : "303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c1ef359e4bd146f63d8155c5c2523fa3353c9820f84f28150bad3819a", - "result" : "invalid", - "flags" : [ - "PointDuplication" - ] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee", - "wx" : "00e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142", - "wy" : "00f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE4u+MjMtY66KH2SebNJ52Usyj582hiKXx\neddxQvh1lPNmTA+ve1lnDjU6Nw0daK2J1qHiRrTQO+4=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 306, - "comment" : "comparison with point at infinity ", - "msg" : "313233343030", - "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea699484fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a", - "wx" : "00b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea69948", - "wy" : "4fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea699484fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEuL8++WRqv/+4QiAQTsmWqSzvM/kyjsTL\nHqaZSE/qUaDenp2AG6vULKCSSzZJi8WQD765y9WtnBo=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 307, - "comment" : "extreme value for k and edgecase s", - "msg" : "313233343030", - "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04286e80429c8796dcd885d95f960d209fed19f87e2ce423d166c8e2202e30882c09970d5dd58b67e5bb80affec74248a9cb4a783384c8b6a0", - "wx" : "286e80429c8796dcd885d95f960d209fed19f87e2ce423d166c8e220", - "wy" : "2e30882c09970d5dd58b67e5bb80affec74248a9cb4a783384c8b6a0" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004286e80429c8796dcd885d95f960d209fed19f87e2ce423d166c8e2202e30882c09970d5dd58b67e5bb80affec74248a9cb4a783384c8b6a0", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEKG6AQpyHltzYhdlflg0gn+0Z+H4s5CPR\nZsjiIC4wiCwJlw1d1Ytn5buAr/7HQkipy0p4M4TItqA=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 308, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "045599a3faf96aba7302bd3d98cfde69525b7292762383f4a0b5c310393faa45feb6c35d2b7bf25ffc633c420ebfc4e715765302c5a11ac793", - "wx" : "5599a3faf96aba7302bd3d98cfde69525b7292762383f4a0b5c31039", - "wy" : "3faa45feb6c35d2b7bf25ffc633c420ebfc4e715765302c5a11ac793" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00045599a3faf96aba7302bd3d98cfde69525b7292762383f4a0b5c310393faa45feb6c35d2b7bf25ffc633c420ebfc4e715765302c5a11ac793", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEVZmj+vlqunMCvT2Yz95pUltyknYjg/Sg\ntcMQOT+qRf62w10re/Jf/GM8Qg6/xOcVdlMCxaEax5M=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 309, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "045b5234b8db6bbd396eae7d1ca4e6d877824c98cde9fbfab34b6b8ccb1f38ae9f87adc3e6d2474eb5e3cd9aeff0927320214be550f5e62ed4", - "wx" : "5b5234b8db6bbd396eae7d1ca4e6d877824c98cde9fbfab34b6b8ccb", - "wy" : "1f38ae9f87adc3e6d2474eb5e3cd9aeff0927320214be550f5e62ed4" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00045b5234b8db6bbd396eae7d1ca4e6d877824c98cde9fbfab34b6b8ccb1f38ae9f87adc3e6d2474eb5e3cd9aeff0927320214be550f5e62ed4", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEW1I0uNtrvTlurn0cpObYd4JMmM3p+/qz\nS2uMyx84rp+HrcPm0kdOtePNmu/wknMgIUvlUPXmLtQ=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 310, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04aced4ea8949e5ae37ef2f5eb5e00675d08e17c34be6677b0f269b6725e3ad0af49ebfff415ee4f2a838ead1f84cafaa652c17acc26130725", - "wx" : "00aced4ea8949e5ae37ef2f5eb5e00675d08e17c34be6677b0f269b672", - "wy" : "5e3ad0af49ebfff415ee4f2a838ead1f84cafaa652c17acc26130725" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004aced4ea8949e5ae37ef2f5eb5e00675d08e17c34be6677b0f269b6725e3ad0af49ebfff415ee4f2a838ead1f84cafaa652c17acc26130725", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAErO1OqJSeWuN+8vXrXgBnXQjhfDS+Znew\n8mm2cl460K9J6//0Fe5PKoOOrR+EyvqmUsF6zCYTByU=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 311, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c249249249249249249249249249227ce201a6b76951f982e7ae89852", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "043e8c1bcc16195e8769e25d4c859807dffe178bed5bca9db06efa15324e3b53b3048b8ccd8cdc1265be240c8ee204060486a99ad31eaad3a4", - "wx" : "3e8c1bcc16195e8769e25d4c859807dffe178bed5bca9db06efa1532", - "wy" : "4e3b53b3048b8ccd8cdc1265be240c8ee204060486a99ad31eaad3a4" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043e8c1bcc16195e8769e25d4c859807dffe178bed5bca9db06efa15324e3b53b3048b8ccd8cdc1265be240c8ee204060486a99ad31eaad3a4", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEPowbzBYZXodp4l1MhZgH3/4Xi+1byp2w\nbvoVMk47U7MEi4zNjNwSZb4kDI7iBAYEhqma0x6q06Q=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 312, - "comment" : "extreme value for k", - "msg" : "313233343030", - "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0424819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70", - "wx" : "24819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13", - "wy" : "00b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000424819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEJIGTI7e+irCRD38zvS92acRLE/CUeZZe\nlSh9E7BZI0W+r7/bjPNikmm92BdyjV1c08KLxsZBSnA=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 313, - "comment" : "extreme value for k and edgecase s", - "msg" : "313233343030", - "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0444cf57bac30a83da39f90bf3faacd52211a70fb92547db7778ea6c812b3fd1bf14688d2770c50cd5a890a3807ba0e8612136a1b11e030f82", - "wx" : "44cf57bac30a83da39f90bf3faacd52211a70fb92547db7778ea6c81", - "wy" : "2b3fd1bf14688d2770c50cd5a890a3807ba0e8612136a1b11e030f82" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000444cf57bac30a83da39f90bf3faacd52211a70fb92547db7778ea6c812b3fd1bf14688d2770c50cd5a890a3807ba0e8612136a1b11e030f82", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAERM9XusMKg9o5+Qvz+qzVIhGnD7klR9t3\neOpsgSs/0b8UaI0ncMUM1aiQo4B7oOhhITahsR4DD4I=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 314, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04dc17f1001d326127f7375cffa70b7530bca4da1040dc43d0044aaca07a146f04c5294cfe7e1ed587da55bae70b7fa8e32f6aa800314d01dd", - "wx" : "00dc17f1001d326127f7375cffa70b7530bca4da1040dc43d0044aaca0", - "wy" : "7a146f04c5294cfe7e1ed587da55bae70b7fa8e32f6aa800314d01dd" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004dc17f1001d326127f7375cffa70b7530bca4da1040dc43d0044aaca07a146f04c5294cfe7e1ed587da55bae70b7fa8e32f6aa800314d01dd", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE3BfxAB0yYSf3N1z/pwt1MLyk2hBA3EPQ\nBEqsoHoUbwTFKUz+fh7Vh9pVuucLf6jjL2qoADFNAd0=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 315, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0468e2d7088eac18ba775bf68c5c509e86afd6f93451b4e4ee1d73e277e24ff4e27ef6c519db676d822c5db040482888013c8f3881bc9ac65a", - "wx" : "68e2d7088eac18ba775bf68c5c509e86afd6f93451b4e4ee1d73e277", - "wy" : "00e24ff4e27ef6c519db676d822c5db040482888013c8f3881bc9ac65a" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000468e2d7088eac18ba775bf68c5c509e86afd6f93451b4e4ee1d73e277e24ff4e27ef6c519db676d822c5db040482888013c8f3881bc9ac65a", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEaOLXCI6sGLp3W/aMXFCehq/W+TRRtOTu\nHXPid+JP9OJ+9sUZ22dtgixdsEBIKIgBPI84gbyaxlo=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 316, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04cd4171adcb8be75e7734061a048b2bf228d167c2742d27f854392046865eb958ebd320ba87662ad3ac7af568c6be0f09be090bcfe083b3e5", - "wx" : "00cd4171adcb8be75e7734061a048b2bf228d167c2742d27f854392046", - "wy" : "00865eb958ebd320ba87662ad3ac7af568c6be0f09be090bcfe083b3e5" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004cd4171adcb8be75e7734061a048b2bf228d167c2742d27f854392046865eb958ebd320ba87662ad3ac7af568c6be0f09be090bcfe083b3e5", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEzUFxrcuL5153NAYaBIsr8ijRZ8J0LSf4\nVDkgRoZeuVjr0yC6h2Yq06x69WjGvg8JvgkLz+CDs+U=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 317, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c249249249249249249249249249227ce201a6b76951f982e7ae89852", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04eefdf99ab69d1888772cabe21d406045e1beab82761a7040beeb7ed359718c889af80f22f320fbe662d5ea0f65dfb4a5589c294ce5b73359", - "wx" : "00eefdf99ab69d1888772cabe21d406045e1beab82761a7040beeb7ed3", - "wy" : "59718c889af80f22f320fbe662d5ea0f65dfb4a5589c294ce5b73359" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004eefdf99ab69d1888772cabe21d406045e1beab82761a7040beeb7ed359718c889af80f22f320fbe662d5ea0f65dfb4a5589c294ce5b73359", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE7v35mradGIh3LKviHUBgReG+q4J2GnBA\nvut+01lxjIia+A8i8yD75mLV6g9l37SlWJwpTOW3M1k=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 318, - "comment" : "extreme value for k", - "msg" : "313233343030", - "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34", - "wx" : "00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21", - "wy" : "00bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtw4MvWu0v38yE5C5SgPB01bCESI0MoDW\nEVwdIb03Y4i19yP7TCLf5s1DdaBaB0dkRNWBmYUAfjQ=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 319, - "comment" : "testing point duplication", - "msg" : "313233343030", - "sig" : "303c021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c021c249249249249249249249249249227ce201a6b76951f982e7ae89851", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 320, - "comment" : "testing point duplication", - "msg" : "313233343030", - "sig" : "303d021d008ac44bff876cbf7e2842eec13b63fcb3d6e7360aca5698f3ef0f1811021c249249249249249249249249249227ce201a6b76951f982e7ae89851", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd", - "wx" : "00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21", - "wy" : "42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtw4MvWu0v38yE5C5SgPB01bCESI0MoDW\nEVwdIULInHdKCNwEs90gGTK8il6l+Libuyp+Znr/gc0=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 321, - "comment" : "testing point duplication", - "msg" : "313233343030", - "sig" : "303c021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c021c249249249249249249249249249227ce201a6b76951f982e7ae89851", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 322, - "comment" : "testing point duplication", - "msg" : "313233343030", - "sig" : "303d021d008ac44bff876cbf7e2842eec13b63fcb3d6e7360aca5698f3ef0f1811021c249249249249249249249249249227ce201a6b76951f982e7ae89851", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176", - "wx" : "4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466", - "wy" : "00ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAETCRmcGWKHUH113vOJGy+OGrCKEjiabnU\nzWfEZt3ZRxU9ObLUJTOkYN7yaIBAjK8t091I/oiM0XY=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 323, - "comment" : "pseudorandom signature", - "msg" : "", - "sig" : "303d021c2770403d42b7b45e553308d1f6a480640b61cac0ae36665d6f14d34e021d0085506b0404265ededf9a89fc7c9c7a55c16c5b0d781f774de8f46fa1", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 324, - "comment" : "pseudorandom signature", - "msg" : "4d7367", - "sig" : "303d021d00b68da722bbba7f6a58417bb5d0dd88f40316fc628b0edfcb0f02b062021c5c742e330b6febadf9a12d58ba2a7199629457ef2e9e4cecd2f09f50", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 325, - "comment" : "pseudorandom signature", - "msg" : "313233343030", - "sig" : "303c021c01ec1ff15c8a55d697a5424d674753f82f711593828368d2fbb41a17021c20d9089db7baf46b8135e17e01645e732d22d5adb20e3772da740eee", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 326, - "comment" : "pseudorandom signature", - "msg" : "0000000000000000000000000000000000000000", - "sig" : "303c021c3e46e9ba4dc089ff30fa8c0209c31b11ff49dbeec090f9f53c000c75021c6f2e3b36369416602bca83206809ed898fcf158a56c25a5474143f68", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000", - "wx" : "00aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf", - "wy" : "008a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAErtb8rSQAxNlOVdu2sBLOPUwrRoQ/vpnU\nKJ5uz4okqJ5xND19FR0ljSy2kDScLVazZt0QpgAAAAA=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 327, - "comment" : "y-coordinate of the public key has many trailing 0's", - "msg" : "4d657373616765", - "sig" : "303d021c77b38da37079d27b837613ac3e8248d66eabd5d637076c8e62c7991e021d00d40cd9f81efc52db4429c0c1af7c1d8a22b6c7babbe7fbd8b5b3f02f", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 328, - "comment" : "y-coordinate of the public key has many trailing 0's", - "msg" : "4d657373616765", - "sig" : "303d021d008c03b32c166c0c8b99d7f876acd109447efb13f6b82945e78d51a269021c657568f1a0a8bd7df5ffa43097ebb2b64435c8e3335bcaafc63f9ed5", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 329, - "comment" : "y-coordinate of the public key has many trailing 0's", - "msg" : "4d657373616765", - "sig" : "303d021d00d199a375253d30f1d2b4493542e9934f9f1f8b0680117679f5bc4ad2021c11419ddbf02c8ad5f518f8dac33f86a85e777af51a034132e2767a6d", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff", - "wx" : "00bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1", - "wy" : "73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvxns/kP/4on2mfR5MWFFuaf3Nwuezlqx\nISF08XPVKJSa6RQvgYut5xqWBAeWO+C2SCpqYP////8=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 330, - "comment" : "y-coordinate of the public key has many trailing 1's", - "msg" : "4d657373616765", - "sig" : "303d021d008ff82699e2e82870be9cfdd8a408bb34f8f38a83a4ac8370f18f2bc8021c7e5008fab6a0d4159200077ef9918dad6592cd8359838852c636ac05", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 331, - "comment" : "y-coordinate of the public key has many trailing 1's", - "msg" : "4d657373616765", - "sig" : "303d021c3f3b60b529ae0f950c517264adf2e481616bc47416742d5103589660021d00f731ebe98e58384b3a64b4696d4cc9619828ad51d7c39980749709a6", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 332, - "comment" : "y-coordinate of the public key has many trailing 1's", - "msg" : "4d657373616765", - "sig" : "303d021d00dc11ffdc6b78754a335f168c4033916a2158d125a3f4fed9dc736661021c6dd84364717d9f4b0790f2b282f9245ecb316874eac025600397f109", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0", - "wx" : "26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000", - "wy" : "00eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEJuWr8TXLVOqqFraeSwspInU0Toignfbf\ngAAAAOq4kd5U4/Jv9Qq5ifMz2sVRWD1GiuYjxZZDSvA=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 333, - "comment" : "x-coordinate of the public key has many trailing 0's", - "msg" : "4d657373616765", - "sig" : "303e021d00a59b25b786d55f26b04dfe90ee02a6bde64ed6e431dc9fbdc3ab360e021d00fc14b5ad20f39da9900e35437936c8626fccf6632e7a3d9e587e3311", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 334, - "comment" : "x-coordinate of the public key has many trailing 0's", - "msg" : "4d657373616765", - "sig" : "303d021c2eda1f96c1a6e3ad8a3321ce82cbb13a5b935b501abf6c06f7fd2b3f021d00e81050c3e5f53a3c7b9d0bdb9ed92a326dfeac44791ba1abe4d6e973", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 335, - "comment" : "x-coordinate of the public key has many trailing 0's", - "msg" : "4d657373616765", - "sig" : "303d021c60f5e093fda08fc14ac99d820a18ad1370c58150bea0aca24fc6db9d021d00c2220a0ebbf4896e68fdb5bd824f88291c1c862b916f9c4af87f8f5f", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd", - "wx" : "00ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff", - "wy" : "41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE7GJ/NFVF0D+Mbb0I5XVScRZWf+N1+eyq\n/////0G/cFaX1fcWvPeHGNU5O2OphpH0ofJCRjdVOP0=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 336, - "comment" : "x-coordinate of the public key has many trailing 1's", - "msg" : "4d657373616765", - "sig" : "303d021c2ead37846a5e36a490b75140bdc7b636c6e9f6d8f980f6fadb08f769021d00e1fe130ae1798c196d7be62c7a5ddb3168cf4b8d48b6b6b4dc94ab3b", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 337, - "comment" : "x-coordinate of the public key has many trailing 1's", - "msg" : "4d657373616765", - "sig" : "303d021d00a8a4c9416d72c860573d073281cb08c86ad65313f06b15a329e82eb2021c5a6edd2f0816b7263d915d72c67d50a854e3abee5cde1b679a0cef09", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 338, - "comment" : "x-coordinate of the public key has many trailing 1's", - "msg" : "4d657373616765", - "sig" : "303c021c576bb86c517bfecdc930a4c8501725548d425afbb96d93f5c1e2a0e1021c77248c5ecd620c431438c50e6bee6858091b54a87f8548ae35c21027", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5", - "wx" : "15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a", - "wy" : "762d28f1fdc219184f81681fbff566d465b5f1f31e872df5" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFQFuUrNkctU2R3YF+4Bd05AwgqBi0eow\nr55VWgAAAAB2LSjx/cIZGE+BaB+/9WbUZbXx8x6HLfU=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 339, - "comment" : "y-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303d021c34e41cba628fd8787ba1a528f6015d2cae015c1c9a866e08a7133801021d0083d422ffdd99cc3c6d7096ef927f0b11988d1824e6e93840ff666ccd", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 340, - "comment" : "y-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303c021c2558a42e79689244bccd5e855f6a1e42b4ff726873f30b532b89ef53021c07f9bd947785187175d848b6e2d79f7ab3bbc1087b42590b0cfb256a", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 341, - "comment" : "y-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303e021d00d5fe7dd5fb4fd1ea5ce66c0824f53f96ce47fd9b6c63b4d57827fd17021d00bce5bc3af705afaacb81bfa6d552d6198962fece9fba41546c602ddc", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c", - "wx" : "15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a", - "wy" : "00ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFQFuUrNkctU2R3YF+4Bd05AwgqBi0eow\nr55VWv////+J0tcOAj3m57B+l99ACpkrmkoODOF40gw=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 342, - "comment" : "y-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303d021d008c1da2f07cdcbce4db8067b863468cfc728df52980229028689e57b6021c32175c1390a4b2cab6359bab9f854957d4fd7976c9c6d920c871c051", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 343, - "comment" : "y-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303e021d00e46d4f11b86b5a12f6fe781d1f934ef2b30e78f6f9cc86a9996e20c0021d008351974b965526034a0ccef0e7d3bc13d91798151488c91533143f7b", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 344, - "comment" : "y-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303c021c305ccf0b5d0cf33dc745bb7c7964c233f6cfd8892a1c1ae9f50b2f3f021c785f6e85f5e652587c6e15d0c45c427278cf65bb1429a57d8826ca39", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1", - "wx" : "00f7e4713d085112112c37cdf4601ff688da796016b71a727a", - "wy" : "00de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEAAAAAPfkcT0IURIRLDfN9GAf9ojaeWAW\ntxpyet5ansFlBUzJh/nch+mZG5Lk+mScplXurp8qMOE=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 345, - "comment" : "x-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303d021c0e4fde0ac8d37536505f7b8bdc2d22c5c334b064ac5ed27bea9c179e021d00c4d6bf829dd547000d6f70b9ad9e9c1503bebcf1d95c2608942ca19d", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 346, - "comment" : "x-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303e021d00818afcaf491da9d08a7cc29318d5e85dce568dcca7018059f44e9b7e021d00bf32a233d5fc6ed8e2d9270b1bdad4bbd2a0f2c293d289bd91ffbcf3", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 347, - "comment" : "x-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303c021c0e05ed675c673e5e70a4fdd5a47b114c5d542d4f6d7a367597d713ea021c26d70d65c48430373363987810bdcc556e02718eab214403ae008db4", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e", - "wx" : "00ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725", - "wy" : "0086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE/////+rffO6NNNBM8iyPfeNWdPsvUB0k\nKnb3JYbECTCdOY5gzh4KTJ4FqdMmJ1d+jOLMfzr6LD4=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 348, - "comment" : "x-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303e021d00ab7a19eecf63e9668278963b65236b2768e57cae0e268cb86a0ddda1021d008829f5d3a3394f9467ba62e66ef1768e3e54f93ed23ec962bc443c2e", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 349, - "comment" : "x-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303d021c17111a77cf79bead456ed86a7d8a935531440281eb8b15a885e341c0021d00fdc3958d04f037b1d4bb2cee307b5201be062e0d4e089df1c1917668", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 350, - "comment" : "x-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303d021d00acafa1e33345eeba0c338c2204b4cd8ba21de7ec3e1213317038e968021c0b42fbbaeda98a35da0de4c79546f3a0f7d9dec275d2cd671f93c874", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc", - "wx" : "00b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1", - "wy" : "0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsAE8b7/28J/s2hwmPvZTmdTPmJyl/E+P\n/w/p4QAAAAAOKrDoSV6FnrKvsAdp1uf+YmoRkWfAtrw=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 351, - "comment" : "y-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303d021d00a3fe71a2a56f554e98fd10a8098c2a543c98bc6b3602ef39f2412308021c5d1d68f9a870ef2bc87484b3386549fae95811ab72bc0e3a514720da", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 352, - "comment" : "y-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303d021c132f7625704756c13f2bfa449e60952f836f4904660b5b1da07e5a9f021d0082b4abafc40e8fd19b0c967f02fff152737ce01153658df445c4d7b7", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 353, - "comment" : "y-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303e021d00f36a8347c6fe0397a1161a364cbc4bdfb4d8b7894cbaa6edc55a4ff7021d009c9c90515da5e602d62e99f48eac414e913dd0b7cbf680c1a5399952", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945", - "wx" : "00b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1", - "wy" : "00fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsAE8b7/28J/s2hwmPvZTmdTPmJyl/E+P\n/w/p4f/////x1U8XtqF6YU1QT/eWKRgBnZXubpg/SUU=\n-----END PUBLIC KEY-----", - "sha" : "SHA-224", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 354, - "comment" : "y-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303d021c2125ecc08e52e9e39e590117de2145bd879626cb87180e52e9d3ce03021d008f7e838d0e8fb80005fe3c72fca1b7cc08ed321a34487896b0c90b04", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 355, - "comment" : "y-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303e021d00e485747ac2f3d045e010cdadab4fd5dbd5556c0008445fb73e07cd90021d00e2133a7906aeac504852e09e6d057f29ab21368cfc4e2394be565e68", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 356, - "comment" : "y-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303d021d00a4de0d931ddab90e667ebc0ad800ce49e971c60543abdc46cefff926021c550816170bd87593b9fb8ad5ed9ab4ddb12403ff6fe032252833bac4", - "result" : "valid", - "flags" : [] - } - ] - } - ] -} diff --git a/tests/ecdsa_secp224r1_sha256_test.json b/tests/ecdsa_secp224r1_sha256_test.json deleted file mode 100644 index a8037fa7..00000000 --- a/tests/ecdsa_secp224r1_sha256_test.json +++ /dev/null @@ -1,4447 +0,0 @@ -{ - "algorithm" : "ECDSA", - "generatorVersion" : "0.8r12", - "numberOfTests" : 385, - "header" : [ - "Test vectors of type EcdsaVerify are meant for the verification", - "of ASN encoded ECDSA signatures." - ], - "notes" : { - "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.", - "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.", - "PointDuplication" : "Some implementations of ECDSA do not handle duplication and points at infinity correctly. This is a test vector that has been specially crafted to check for such an omission." - }, - "schema" : "ecdsa_verify_schema.json", - "testGroups" : [ - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5", - "wx" : "00eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7", - "wy" : "00eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE6tqTvhCyRJ4ei7WDBdUgCAE8VxB8GiCj\nF6bLp+ymcjQMA9HS4JZjKGaR31UGn6JUkMndn5wLsrU=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 1, - "comment" : "signature malleability", - "msg" : "313233343030", - "sig" : "303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d009e82950ebe102f37ff3645cc7d3c1bab8864e5e03a5011eeba8150bc", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 2, - "comment" : "valid", - "msg" : "313233343030", - "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 3, - "comment" : "long form encoding of length of sequence", - "msg" : "313233343030", - "sig" : "30813c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 4, - "comment" : "length of sequence contains leading 0", - "msg" : "313233343030", - "sig" : "3082003c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 5, - "comment" : "wrong length of sequence", - "msg" : "313233343030", - "sig" : "303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 6, - "comment" : "wrong length of sequence", - "msg" : "313233343030", - "sig" : "303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 7, - "comment" : "uint32 overflow in length of sequence", - "msg" : "313233343030", - "sig" : "3085010000003c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 8, - "comment" : "uint64 overflow in length of sequence", - "msg" : "313233343030", - "sig" : "308901000000000000003c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 9, - "comment" : "length of sequence = 2**31 - 1", - "msg" : "313233343030", - "sig" : "30847fffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 10, - "comment" : "length of sequence = 2**32 - 1", - "msg" : "313233343030", - "sig" : "3084ffffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 11, - "comment" : "length of sequence = 2**40 - 1", - "msg" : "313233343030", - "sig" : "3085ffffffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 12, - "comment" : "length of sequence = 2**64 - 1", - "msg" : "313233343030", - "sig" : "3088ffffffffffffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 13, - "comment" : "incorrect length of sequence", - "msg" : "313233343030", - "sig" : "30ff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 14, - "comment" : "indefinite length without termination", - "msg" : "313233343030", - "sig" : "3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 15, - "comment" : "indefinite length without termination", - "msg" : "313233343030", - "sig" : "303c02803ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 16, - "comment" : "indefinite length without termination", - "msg" : "313233343030", - "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040280617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 17, - "comment" : "removing sequence", - "msg" : "313233343030", - "sig" : "", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 18, - "comment" : "lonely sequence tag", - "msg" : "313233343030", - "sig" : "30", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 19, - "comment" : "appending 0's to sequence", - "msg" : "313233343030", - "sig" : "303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 20, - "comment" : "prepending 0's to sequence", - "msg" : "313233343030", - "sig" : "303e0000021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 21, - "comment" : "appending unused 0's to sequence", - "msg" : "313233343030", - "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 22, - "comment" : "appending null value to sequence", - "msg" : "313233343030", - "sig" : "303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810500", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 23, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "3041498177303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 24, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "30402500303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 25, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "303e303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810004deadbeef", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 26, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "30412221498177021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 27, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "304022202500021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 28, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "3044221e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040004deadbeef021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 29, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "3041021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042221498177021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 30, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0422202500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 31, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04221e021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810004deadbeef", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 32, - "comment" : "including undefined tags", - "msg" : "313233343030", - "sig" : "3044aa00bb00cd00303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 33, - "comment" : "including undefined tags", - "msg" : "313233343030", - "sig" : "3042aa02aabb303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 34, - "comment" : "including undefined tags", - "msg" : "313233343030", - "sig" : "30442224aa00bb00cd00021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 35, - "comment" : "including undefined tags", - "msg" : "313233343030", - "sig" : "30422222aa02aabb021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 36, - "comment" : "including undefined tags", - "msg" : "313233343030", - "sig" : "3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042224aa00bb00cd00021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 37, - "comment" : "including undefined tags", - "msg" : "313233343030", - "sig" : "3042021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042222aa02aabb021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 38, - "comment" : "truncated length of sequence", - "msg" : "313233343030", - "sig" : "3081", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 39, - "comment" : "using composition with indefinite length", - "msg" : "313233343030", - "sig" : "3080303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 40, - "comment" : "using composition with indefinite length", - "msg" : "313233343030", - "sig" : "30402280021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 41, - "comment" : "using composition with indefinite length", - "msg" : "313233343030", - "sig" : "3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042280021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 42, - "comment" : "using composition with wrong tag", - "msg" : "313233343030", - "sig" : "3080313c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 43, - "comment" : "using composition with wrong tag", - "msg" : "313233343030", - "sig" : "30402280031c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 44, - "comment" : "using composition with wrong tag", - "msg" : "313233343030", - "sig" : "3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042280031c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 45, - "comment" : "Replacing sequence with NULL", - "msg" : "313233343030", - "sig" : "0500", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 46, - "comment" : "changing tag value of sequence", - "msg" : "313233343030", - "sig" : "2e3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 47, - "comment" : "changing tag value of sequence", - "msg" : "313233343030", - "sig" : "2f3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 48, - "comment" : "changing tag value of sequence", - "msg" : "313233343030", - "sig" : "313c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 49, - "comment" : "changing tag value of sequence", - "msg" : "313233343030", - "sig" : "323c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 50, - "comment" : "changing tag value of sequence", - "msg" : "313233343030", - "sig" : "ff3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 51, - "comment" : "dropping value of sequence", - "msg" : "313233343030", - "sig" : "3000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 52, - "comment" : "using composition for sequence", - "msg" : "313233343030", - "sig" : "3040300102303b1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 53, - "comment" : "truncated sequence", - "msg" : "313233343030", - "sig" : "303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 54, - "comment" : "truncated sequence", - "msg" : "313233343030", - "sig" : "303b1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 55, - "comment" : "indefinite length", - "msg" : "313233343030", - "sig" : "3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 56, - "comment" : "indefinite length with truncated delimiter", - "msg" : "313233343030", - "sig" : "3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad98100", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 57, - "comment" : "indefinite length with additional element", - "msg" : "313233343030", - "sig" : "3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad98105000000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 58, - "comment" : "indefinite length with truncated element", - "msg" : "313233343030", - "sig" : "3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981060811220000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 59, - "comment" : "indefinite length with garbage", - "msg" : "313233343030", - "sig" : "3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000fe02beef", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 60, - "comment" : "indefinite length with nonempty EOC", - "msg" : "313233343030", - "sig" : "3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810002beef", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 61, - "comment" : "prepend empty sequence", - "msg" : "313233343030", - "sig" : "303e3000021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 62, - "comment" : "append empty sequence", - "msg" : "313233343030", - "sig" : "303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9813000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 63, - "comment" : "append garbage with high tag number", - "msg" : "313233343030", - "sig" : "303f021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981bf7f00", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 64, - "comment" : "sequence of sequence", - "msg" : "313233343030", - "sig" : "303e303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 65, - "comment" : "truncated sequence: removed last 1 elements", - "msg" : "313233343030", - "sig" : "301e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 66, - "comment" : "repeating element in sequence", - "msg" : "313233343030", - "sig" : "305a021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 67, - "comment" : "long form encoding of length of integer", - "msg" : "313233343030", - "sig" : "303d02811c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 68, - "comment" : "long form encoding of length of integer", - "msg" : "313233343030", - "sig" : "303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402811c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 69, - "comment" : "length of integer contains leading 0", - "msg" : "313233343030", - "sig" : "303e0282001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 70, - "comment" : "length of integer contains leading 0", - "msg" : "313233343030", - "sig" : "303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040282001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 71, - "comment" : "wrong length of integer", - "msg" : "313233343030", - "sig" : "303c021d3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 72, - "comment" : "wrong length of integer", - "msg" : "313233343030", - "sig" : "303c021b3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 73, - "comment" : "wrong length of integer", - "msg" : "313233343030", - "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 74, - "comment" : "wrong length of integer", - "msg" : "313233343030", - "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 75, - "comment" : "uint32 overflow in length of integer", - "msg" : "313233343030", - "sig" : "30410285010000001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 76, - "comment" : "uint32 overflow in length of integer", - "msg" : "313233343030", - "sig" : "3041021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040285010000001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 77, - "comment" : "uint64 overflow in length of integer", - "msg" : "313233343030", - "sig" : "3045028901000000000000001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 78, - "comment" : "uint64 overflow in length of integer", - "msg" : "313233343030", - "sig" : "3045021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04028901000000000000001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 79, - "comment" : "length of integer = 2**31 - 1", - "msg" : "313233343030", - "sig" : "304002847fffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 80, - "comment" : "length of integer = 2**31 - 1", - "msg" : "313233343030", - "sig" : "3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402847fffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 81, - "comment" : "length of integer = 2**32 - 1", - "msg" : "313233343030", - "sig" : "30400284ffffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 82, - "comment" : "length of integer = 2**32 - 1", - "msg" : "313233343030", - "sig" : "3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040284ffffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 83, - "comment" : "length of integer = 2**40 - 1", - "msg" : "313233343030", - "sig" : "30410285ffffffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 84, - "comment" : "length of integer = 2**40 - 1", - "msg" : "313233343030", - "sig" : "3041021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040285ffffffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 85, - "comment" : "length of integer = 2**64 - 1", - "msg" : "313233343030", - "sig" : "30440288ffffffffffffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 86, - "comment" : "length of integer = 2**64 - 1", - "msg" : "313233343030", - "sig" : "3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040288ffffffffffffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 87, - "comment" : "incorrect length of integer", - "msg" : "313233343030", - "sig" : "303c02ff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 88, - "comment" : "incorrect length of integer", - "msg" : "313233343030", - "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402ff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 89, - "comment" : "removing integer", - "msg" : "313233343030", - "sig" : "301e021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 90, - "comment" : "lonely integer tag", - "msg" : "313233343030", - "sig" : "301f02021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 91, - "comment" : "lonely integer tag", - "msg" : "313233343030", - "sig" : "301f021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 92, - "comment" : "appending 0's to integer", - "msg" : "313233343030", - "sig" : "303e021e3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 93, - "comment" : "appending 0's to integer", - "msg" : "313233343030", - "sig" : "303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 94, - "comment" : "prepending 0's to integer", - "msg" : "313233343030", - "sig" : "303e021e00003ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 95, - "comment" : "prepending 0's to integer", - "msg" : "313233343030", - "sig" : "303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e0000617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 96, - "comment" : "appending unused 0's to integer", - "msg" : "313233343030", - "sig" : "303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 97, - "comment" : "appending null value to integer", - "msg" : "313233343030", - "sig" : "303e021e3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 98, - "comment" : "appending null value to integer", - "msg" : "313233343030", - "sig" : "303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810500", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 99, - "comment" : "truncated length of integer", - "msg" : "313233343030", - "sig" : "30200281021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 100, - "comment" : "truncated length of integer", - "msg" : "313233343030", - "sig" : "3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040281", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 101, - "comment" : "Replacing integer with NULL", - "msg" : "313233343030", - "sig" : "30200500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 102, - "comment" : "Replacing integer with NULL", - "msg" : "313233343030", - "sig" : "3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040500", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 103, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303c001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 104, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303c011c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 105, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303c031c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 106, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303c041c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 107, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303cff1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 108, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 109, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04011c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 110, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04031c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 111, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04041c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 112, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04ff1c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 113, - "comment" : "dropping value of integer", - "msg" : "313233343030", - "sig" : "30200200021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 114, - "comment" : "dropping value of integer", - "msg" : "313233343030", - "sig" : "3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040200", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 115, - "comment" : "using composition for integer", - "msg" : "313233343030", - "sig" : "3040222002013a021bde5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 116, - "comment" : "using composition for integer", - "msg" : "313233343030", - "sig" : "3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042220020161021b7d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 117, - "comment" : "modify first byte of integer", - "msg" : "313233343030", - "sig" : "303c021c38de5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 118, - "comment" : "modify first byte of integer", - "msg" : "313233343030", - "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c637d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 119, - "comment" : "modify last byte of integer", - "msg" : "313233343030", - "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a84021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 120, - "comment" : "modify last byte of integer", - "msg" : "313233343030", - "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad901", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 121, - "comment" : "truncated integer", - "msg" : "313233343030", - "sig" : "303b021b3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 122, - "comment" : "truncated integer", - "msg" : "313233343030", - "sig" : "303b021bde5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 123, - "comment" : "truncated integer", - "msg" : "313233343030", - "sig" : "303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 124, - "comment" : "truncated integer", - "msg" : "313233343030", - "sig" : "303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b7d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 125, - "comment" : "leading ff in integer", - "msg" : "313233343030", - "sig" : "303d021dff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 126, - "comment" : "leading ff in integer", - "msg" : "313233343030", - "sig" : "303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 127, - "comment" : "replaced integer by infinity", - "msg" : "313233343030", - "sig" : "3021090180021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 128, - "comment" : "replaced integer by infinity", - "msg" : "313233343030", - "sig" : "3021021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04090180", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 129, - "comment" : "replacing integer with zero", - "msg" : "313233343030", - "sig" : "3021020100021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 130, - "comment" : "replacing integer with zero", - "msg" : "313233343030", - "sig" : "3021021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04020100", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 131, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303d021d013ade5c0624a5677ed7b6450d941fd283098d8a004fc718e2e7e6b441021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 132, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303d021dff3ade5c0624a5677ed7b6450d9421a53d481ba984280cc6582f2e5fc7021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 133, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303c021cc521a3f9db5a98812849baf26bdf441fd72b663dc4161062747575fc021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 134, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303d021d00c521a3f9db5a98812849baf26bde5ac2b7e4567bd7f339a7d0d1a039021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 135, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303d021dfec521a3f9db5a98812849baf26be02d7cf67275ffb038e71d18194bbf021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 136, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303d021d013ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 137, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303d021d00c521a3f9db5a98812849baf26bdf441fd72b663dc4161062747575fc021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 138, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d01617d6af141efd0c800c9ba3382c2119a390cfa9bed6a409bfe3703be", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 139, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dff617d6af141efd0c800c9ba3382c3e454779b1a1fc5afee11457eaf44", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 140, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c9e82950ebe102f37ff3645cc7d3d0508a7abf5a22672e8a95e25267f", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 141, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dfe9e82950ebe102f37ff3645cc7d3dee65c6f305641295bf6401c8fc42", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 142, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d01617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 143, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d009e82950ebe102f37ff3645cc7d3d0508a7abf5a22672e8a95e25267f", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 144, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3006020100020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 145, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3006020100020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 146, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30060201000201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 147, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 148, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 149, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 150, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 151, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 152, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3008020100090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 153, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3006020100090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 154, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3006020101020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 155, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3006020101020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 156, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30060201010201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 157, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 158, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 159, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 160, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 161, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 162, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3008020101090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 163, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3006020101090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 164, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30060201ff020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 165, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30060201ff020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 166, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30060201ff0201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 167, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 168, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 169, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 170, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 171, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 172, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30080201ff090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 173, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30060201ff090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 174, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 175, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 176, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 177, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 178, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 179, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 180, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 181, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 182, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 183, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 184, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 185, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 186, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c0201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 187, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 188, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 189, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 190, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 191, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 192, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 193, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 194, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 195, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 196, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e0201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 197, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 198, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 199, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 200, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 201, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 202, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 203, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 204, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 205, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 206, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000010201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 207, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 208, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 209, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 210, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 211, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 212, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3024021d00ffffffffffffffffffffffffffffffff000000000000000000000001090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 213, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 214, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 215, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 216, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000020201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 217, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 218, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 219, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 220, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 221, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 222, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3024021d00ffffffffffffffffffffffffffffffff000000000000000000000002090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 223, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 224, - "comment" : "Signature encoding contains wrong types.", - "msg" : "313233343030", - "sig" : "30060201010c0130", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 225, - "comment" : "Signature encoding contains wrong types.", - "msg" : "313233343030", - "sig" : "30050201010c00", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 226, - "comment" : "Signature encoding contains wrong types.", - "msg" : "313233343030", - "sig" : "30090c0225730c03732573", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 227, - "comment" : "Signature encoding contains wrong types.", - "msg" : "313233343030", - "sig" : "30080201013003020100", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 228, - "comment" : "Signature encoding contains wrong types.", - "msg" : "313233343030", - "sig" : "3003020101", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 229, - "comment" : "Signature encoding contains wrong types.", - "msg" : "313233343030", - "sig" : "3006020101010100", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 230, - "comment" : "Edge case for Shamir multiplication", - "msg" : "3839313737", - "sig" : "303d021c326bc06353f7f9c9f77b8f4b55464e8619944e7879402cca572e041a021d0096ad91f02a3bc40c118abd416ed5c6203ed7ced0330860d7b88c10ab", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 231, - "comment" : "special case hash", - "msg" : "343236343739373234", - "sig" : "303d021d00bcca2365cebdcf7c6cda1ee7b27c7fe79e371537b01869c715eabb1e021c3ae76f9bbfe519d778816dc8fe10635ee7576b6b7916f0c21df320c0", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 232, - "comment" : "special case hash", - "msg" : "37313338363834383931", - "sig" : "303c021c59a9f83289ef6995d5d5592e80ab4f6a81123f69d385d3cfb152faf2021c3a97d5be190d5819241067e2be56375ab84155baab8fc7aeb7f8cb3d", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 233, - "comment" : "special case hash", - "msg" : "3130333539333331363638", - "sig" : "303e021d00b54bac9be2beaaa09456a3968a1faf27c9d96bd5f6738fec6066d31e021d00d72c22129344a96d52fda60b264cf5e6fae45fd2c1b1b78bcba30070", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 234, - "comment" : "special case hash", - "msg" : "33393439343031323135", - "sig" : "303d021c323dbdecd40910c6fa7a5691846fa7769113d1f2ba64ef0dc97d2ddb021d00ca9e73a4587af042f8ba924bb61829c5e24046f9803eb76ab80ef327", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 235, - "comment" : "special case hash", - "msg" : "31333434323933303739", - "sig" : "303d021d00a55dccc27d287f15960ed79908a3edb6bb31aff07c8caa0e65fc0785021c559cb51aa5f2b9066610199dd01291a47729a6189a622ae9e7af7621", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 236, - "comment" : "special case hash", - "msg" : "33373036323131373132", - "sig" : "303d021c137ed6105148d6f5b84e87735d57955f81c5914a6e69f55347ade074021d00dfa5d56b1a12567efacb348a133b79d48da7aac78d78ee589c2ec027", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 237, - "comment" : "special case hash", - "msg" : "333433363838373132", - "sig" : "303e021d00856ff63d779163e78fed8c48330b48f08bf953a95266b3857eee91aa021d00f4aa917cd37f556c6df9d0960c2f7daa7ea118e5c30cc40ca1eed418", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 238, - "comment" : "special case hash", - "msg" : "31333531353330333730", - "sig" : "303d021d00a9d7716f04c5ce247f6b8c608b37db55f68e2ff94a5883863e867708021c61bc093faa6fb25cd240aea4b56fed728f7b3669b4dc84c449d38c5d", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 239, - "comment" : "special case hash", - "msg" : "36353533323033313236", - "sig" : "303d021d00f6d088fd3b9c981ac491c62030643bbd82d4f4588e8517de5884e73d021c773eee477980763b1ea27ae998bda0244cb67b07aa6779a38cd2ba3f", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 240, - "comment" : "special case hash", - "msg" : "31353634333436363033", - "sig" : "303e021d00eacb55588e446bbf3687089ba8ba3b05cfef7458bb81b4277f90a853021d008039e8944cc3df7f4ce5badc349975d471a81dea14e9bcae3065d410", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 241, - "comment" : "special case hash", - "msg" : "34343239353339313137", - "sig" : "303c021c5984af8c89fb9d596a1f28fd3d41e46f7205fe12fa63437ac79e7e81021c33b16b742d45f18f88de2713078384e6150f06b8b99f36ab2ce3dd49", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 242, - "comment" : "special case hash", - "msg" : "3130393533323631333531", - "sig" : "303d021c3cda62d84711c262f782d5c3a79b567485227b34afb821f5241b1961021d00b615cef399706ff758f072931852b717ec898e9a1e6339d0ee81b8da", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 243, - "comment" : "special case hash", - "msg" : "35393837333530303431", - "sig" : "303d021d00e1db7304609191ea1ac91183ffb31df51b5b3fdc6b1a1129d85818d6021c441886d003ae80fbe7139e1d02845cd1bd959f0df1468f5836dd6ea5", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 244, - "comment" : "special case hash", - "msg" : "33343633303036383738", - "sig" : "303d021c3545dc4a4ef84bbb3a526ff929c91ad234516a9e95455ac8db4012b1021d00af49926f693a7cf11f71e199f382a8d640c0c85e46d94ee26e384344", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 245, - "comment" : "special case hash", - "msg" : "39383137333230323837", - "sig" : "303d021c0ccafdeae4582c9de6795b2d09a7fc3848c75904fa960989156cbbb9021d00af1f994da3e7d89cc8aaa44616cb77e3be7a83ccecc965775194e502", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 246, - "comment" : "special case hash", - "msg" : "33323232303431303436", - "sig" : "303e021d00a3b2145d8c669027532501eea1913abb22a78a827fdd82fe9d6d3757021d009b2f1ae84f5606d68653065f74e9d089886694c739fbe3fd4a1b2b4a", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 247, - "comment" : "special case hash", - "msg" : "36363636333037313034", - "sig" : "303e021d009aac3a7e3d142344991bf177b4f4dbfa074148ad9e20f27555b547d9021d00f830a3c7fdf251d79d41977d28e6d9a72a36df11b86e17c8dc3acae0", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 248, - "comment" : "special case hash", - "msg" : "31303335393531383938", - "sig" : "303c021c4769fba554fd436051c285bdadfa33a443d4f7084dd598ce3b98b8fb021c0c014c87cb14113d75864f74905f75b34f9970ba58b5d0676021826d", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 249, - "comment" : "special case hash", - "msg" : "31383436353937313935", - "sig" : "303d021d008b91fc5054a75c34a508624b85708b3d25fa74328c68741c3aeb92d9021c155e3e46b1209583135a9fef15abe325b25bd19285ee6b5b4549629f", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 250, - "comment" : "special case hash", - "msg" : "33313336303436313839", - "sig" : "303d021d00a4a2a85fbb8bb26c4d845cfac191f89d65b00d3f1b9450d177f78890021c6605a460e60402685c7a5accd2615e9232e51937bd83dfa3065eabf7", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 251, - "comment" : "special case hash", - "msg" : "32363633373834323534", - "sig" : "303d021d00a89d333ae34187855cf7fa435ff39be6b7bb39b2d0ce682133ad9646021c483dcc89a3b43be250f5c3f78f78418e7b8341a8bcfb93dfd58e46d8", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 252, - "comment" : "special case hash", - "msg" : "31363532313030353234", - "sig" : "303d021c2d0f99c71933c82ded544ef4faac9d669e437dea13b57186f4c20a0e021d00d9682b9f3a05d7832947bc45eadbc742d96e7ab1124832ddb7a8c65b", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 253, - "comment" : "special case hash", - "msg" : "35373438303831363936", - "sig" : "303d021d00840208f7c41b1fbadcc701fb3a1d0f98a3e2a75235e695bfd378f8b4021c44c8daad4efc03e1753803c362b409c3ca6e0f21e538fe3a364c0e53", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 254, - "comment" : "special case hash", - "msg" : "36333433393133343638", - "sig" : "303e021d0087cc582cb10602110566fcb10a233aede993fae5fb3f81b0bbff94ca021d00c971c05bd51d9685825b2cfc0a2596c7f80d9f9dc68c28c159aa395a", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 255, - "comment" : "special case hash", - "msg" : "31353431313033353938", - "sig" : "303d021c50d73d949b3adcd3e8fa94dafefaf9d263ebc702128d891afac47ea7021d00f8423c378f0190574925142eb5b97c612abfa048fa3ab5375ec795a1", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 256, - "comment" : "special case hash", - "msg" : "3130343738353830313238", - "sig" : "303e021d00d608915dfcd5d3c63ed10d0d9b614f7a866f8858a6e59dc03eb0a8ee021d008e701aa0bab491430f6e4da92244b0bb174957ee6f495bc5d15fabb1", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 257, - "comment" : "special case hash", - "msg" : "3130353336323835353638", - "sig" : "303e021d00c87b0ab842c4769ed94b910bd7719691f9991bc5a347889608f07034021d00d083111048d6e019771fc2669c55156a3d09615a6b2d9cae52ddabee", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 258, - "comment" : "special case hash", - "msg" : "393533393034313035", - "sig" : "303c021c0a1c2c2478e244464226c660edf724db1213f4923eb725d611d976fd021c764e55186a76f734891d05fb57af2727fab8fbea684ca4321d5de540", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 259, - "comment" : "special case hash", - "msg" : "393738383438303339", - "sig" : "303e021d008a2747c5dd9ef5298b8aeabd2fb3a2beb16158fb2cc62be9e51b2152021d00f96251bc048bcad832e6cbc09c9c2e585ab7543dc552eaa5125be0d3", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 260, - "comment" : "special case hash", - "msg" : "33363130363732343432", - "sig" : "303e021d00d9eac32a734f3a3e5b5a2905bed8164ef4c6cd24d5c0fc54cc83f3cc021d00a784930d16c3b753bb3ed9151d583c50ff97bc976274bde482fb9644", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 261, - "comment" : "special case hash", - "msg" : "31303534323430373035", - "sig" : "303d021c6c40c6b15ae573f77b677cd878cc5e4da8171cf50d79974fde374e00021d00c88c9828037bf7013a1415537ca074d6c8a553bdb4b26b14a7e88d93", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 262, - "comment" : "special case hash", - "msg" : "35313734343438313937", - "sig" : "303d021d00dca0aaa0a395393142b323edced09372760350f2ab261ce3339b114d021c0983bf6e510ce7f0a7520f2b7c60cd68a4912b78162c7ac33789e0c6", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 263, - "comment" : "special case hash", - "msg" : "31393637353631323531", - "sig" : "303d021d00a0526ed47e2607e6bae6dcf3b8f54f4e0638023673a38cad4569c3ba021c61516f55746b379d11cbaa02cef35311d7771a47d1e127cff46dcfd6", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 264, - "comment" : "special case hash", - "msg" : "33343437323533333433", - "sig" : "303d021c5c00db60178c8361092bdfb47fc9a47b33363d7e0d76e32520f79657021d00e1baf7ae7d81045793c73173f49d60bdfc8779942795d9d082b3ca11", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 265, - "comment" : "special case hash", - "msg" : "333638323634333138", - "sig" : "303d021c46f69b6a99717949eee74092a0c1438a290a2cd82fe1e10d8f37e88b021d0099a5f59f09bd980a066233523397846987a8a1bfdde355062d140a4b", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 266, - "comment" : "special case hash", - "msg" : "33323631313938363038", - "sig" : "303e021d00e643d8085a22706fa0e6540f3d5e169ad8cc49b4bfe98e325321c705021d00f95bd423f9cafe0cedfec6fd97871536d71b2ac58dfb2f7ab8952d4b", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 267, - "comment" : "special case hash", - "msg" : "39363738373831303934", - "sig" : "303e021d00e65fb9bcdd791f141ccff2b3cfbf45d84f8c6272021a68dde8c36bc8021d00df6e08c74b5e36b7772658f02515ae0ea813b64df24f3522ea15fb15", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 268, - "comment" : "special case hash", - "msg" : "34393538383233383233", - "sig" : "303e021d00a476d468221ef55611e8a724c9b4cd79c34f6940d5f665e3335f6231021d00bfddc18e7a008bc206c8e1ca6c878363e4138508e0c3a84a27eabe35", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 269, - "comment" : "special case hash", - "msg" : "383234363337383337", - "sig" : "303c021c1b393477941879271873a8c043a77caadb9957fcdd263a6ac978e4ba021c270060d5f356ebb6d185772baa78b878af6807378e0d5c532da0a4a7", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 270, - "comment" : "special case hash", - "msg" : "3131303230383333373736", - "sig" : "303e021d00b2eda8c969d4b1bdd31867fd1f92d547b406840c257f2f80dfbdc4e3021d00e6297b059ce64ef04de9715a8f686a9f73980865066a94975b7f8117", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 271, - "comment" : "special case hash", - "msg" : "313333383731363438", - "sig" : "303d021d00938189a18a4bff5712ac99c2b8e92c218af3e4d4e3a84b906b0f704e021c7bb3e538f0b70664dad462ab14b0ed416c86ac6e9060fe760dabb715", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 272, - "comment" : "special case hash", - "msg" : "333232313434313632", - "sig" : "303e021d00bb7c1d8120d2aa7765b16eeac44282de605fb2a1665657dea4492935021d00e0a8adb3a143883f981ea1323fa6f1d347845be2b8dcc6cd5cc93ee5", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 273, - "comment" : "special case hash", - "msg" : "3130363836363535353436", - "sig" : "303c021c74a4c51dd60c7118467be29652060f39af94f8c0eb7f15c64771010c021c6102ec0c9257e607af3f3ff7490b54e78111f422bec11ba01277171f", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 274, - "comment" : "special case hash", - "msg" : "3632313535323436", - "sig" : "303d021c625da18d676f02fae9dbcb3092265909488fb95d662569d7746b9687021d00c4f1ec831e36604d604b630fd0b1999cd09960862294251d85e5873d", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 275, - "comment" : "special case hash", - "msg" : "37303330383138373734", - "sig" : "303d021d008ee0d4a31fd1c4d854d75c14151926899dde1c7332fd4769443d213d021c4b8278b89ba4f8fbd7dcc6affe4c12156f7409909416989685dd5a39", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 276, - "comment" : "special case hash", - "msg" : "35393234353233373434", - "sig" : "303e021d00bdde45fc9ebb3749c9fb2c25bf02e2a217ccc112f8e65499eeffb6a1021d00becd6b88ef2bee872ebc0e2b805a56066e19179fce9f0dc0df3f6378", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 277, - "comment" : "special case hash", - "msg" : "31343935353836363231", - "sig" : "303d021c50186e023a1f5053fcb4d0473039b1b2cdeba569719a4ebabdd675c8021d00f8fb893c1b6b5b827b5f3f4bb5eab75b6212bb56a5a39bb35c127a1c", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 278, - "comment" : "special case hash", - "msg" : "34303035333134343036", - "sig" : "303e021d00d3b454639b0fb3da93b20d55be8609e40902cb4a608f3b9064c0deb7021d00ec7aa9637fd71b543e5243faab4c7a2edc2c48e982c5ac017807f19a", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 279, - "comment" : "special case hash", - "msg" : "33303936343537353132", - "sig" : "303d021d00c202abbd98e03809de842bdef268a1c616a7306da69a87abaf03169c021c7e7e04823af8ed6836fd2ac011e47de8e1bef91ed1da5144893fc259", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 280, - "comment" : "special case hash", - "msg" : "32373834303235363230", - "sig" : "303d021c2e4b76638816cce057a4a27a49258dcb5437ae97739f27ebc0973c0b021d00e9f6c0b64e764ad39dd92b576e11c23e5994b02095cb2a4720c8662c", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 281, - "comment" : "special case hash", - "msg" : "32363138373837343138", - "sig" : "303c021c7e0f48761089aa4c7ecd5a7ac5380836b1e5d381d3400174d15df98b021c0c3df50060e3a6714aa565a33d784e7b16ac87bebfb3c2255cfd832c", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 282, - "comment" : "special case hash", - "msg" : "31363432363235323632", - "sig" : "303c021c4d6f7408508eb0814dcd48007f0efd9e2b91cdac4030540cc678de19021c1e74f8dc34d13613ef42462fe88981cbe2489be10e4cdae975a1b38e", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 283, - "comment" : "special case hash", - "msg" : "36383234313839343336", - "sig" : "303d021d00967f2c5d304c7932eaaa1682197945e66cc912b703824776ef16ad7a021c73957001d9037c63d6471c809a2388383ad695137c622cd5f5584414", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 284, - "comment" : "special case hash", - "msg" : "343834323435343235", - "sig" : "303d021c49260804bb2ceae4b9cee63b02ea60173ec3f4f90167627c0bb39888021d00c9eb022f96db3e90fe0ff617730a629f342e02fb208d6836cbbdc7d3", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 285, - "comment" : "Signature generated without truncating the hash", - "msg" : "313233343030", - "sig" : "303d021d00f3e712597a4b22632c5f8eb9f2845882bb03a139735f80af8826fc56021c62865bd91c0903511a481d607eb6b5fe28f6f6c89295681a3e8d55d8", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0493b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92", - "wx" : "0093b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2", - "wy" : "482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000493b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEk7TCjwMtAPgOd0ke3BWDWZCe6eMKcye3\nQhnl4kgsGa41yyivyblcoe162RyBLV/M60vt2/GhbZI=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 286, - "comment" : "k*G has a large x-coordinate", - "msg" : "313233343030", - "sig" : "3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 287, - "comment" : "r too large", - "msg" : "313233343030", - "sig" : "303e021d00fffffffffffffffffffffffffffffffefffffffffffffffffffffffe021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948", - "wx" : "00da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789", - "wy" : "00ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE2pJ/S6iLY5v1M0Ih0vVNjvnMwaESX60Y\nx7+3iaxRrlPebYNKnbOUe43UxqwrCEuFSWv6cthraUg=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 288, - "comment" : "r,s are large", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0420888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fcde00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1", - "wx" : "20888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fc", - "wy" : "00de00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000420888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fcde00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEIIiOHA9WlMTANjs2SCvrbh5mSbPTsm8S\nf+u2/N4AwvPY5KfooLr9QXyW0+gcl1lGovNoaqOdNfE=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 289, - "comment" : "r and s^-1 have a large Hamming weight", - "msg" : "313233343030", - "sig" : "303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c3d5052691b8dc89debad360466f2a39e82e8ae2aefb77c3c92ad7cd1", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "049545c86f032c5df255a4490bb0b83eca201181792ad74246874db229405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04", - "wx" : "009545c86f032c5df255a4490bb0b83eca201181792ad74246874db229", - "wy" : "405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00049545c86f032c5df255a4490bb0b83eca201181792ad74246874db229405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAElUXIbwMsXfJVpEkLsLg+yiARgXkq10JG\nh02yKUBSZMKDBjMntw9MK+WrTS6UB7hm4SHWFF0STAQ=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 290, - "comment" : "r and s^-1 have a large Hamming weight", - "msg" : "313233343030", - "sig" : "303d021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021d00bf19ab4d3ebf5a1a49d765909308daa88c2b7be3969db552ea30562b", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965", - "wx" : "579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8", - "wy" : "00df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEV51T851RCb1EDj4+fv1gN0CWM0j/nHLA\nOw/muN8C8TPs1gsHKggSrcdScI8r6djJrVlT2Me/OWU=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 291, - "comment" : "small r and s", - "msg" : "313233343030", - "sig" : "3006020103020101", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a", - "wx" : "00d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628", - "wy" : "00acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE0qFMgQbYnzU2+uva/NRoD2WrS/IkMWTK\nFGS2KKyvK+5S5iMdPJgPUvjhiaQcPjoF5ZEZXshkIXo=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 292, - "comment" : "small r and s", - "msg" : "313233343030", - "sig" : "3006020103020103", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5", - "wx" : "00e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4", - "wy" : "326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE6JJHkVOtE+pcpF1MMj6/H8PNDN94fDQw\naj95pDJsqWRfK1F2CNwfCLeoTPxh5v9o0U8n0gQ8fvU=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 293, - "comment" : "small r and s", - "msg" : "313233343030", - "sig" : "3006020103020104", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 294, - "comment" : "r is larger than n", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a40020104", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "042b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103ad465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219", - "wx" : "2b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103a", - "wy" : "00d465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00042b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103ad465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEKw6sNcCylPbUNdyv+oYzsBIwBUZcMAgK\n28wQOtRlpjv7cdSu4JMoaX/hCIdTZG2DabjcEDIXwhk=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 295, - "comment" : "s is larger than n", - "msg" : "313233343030", - "sig" : "3022020103021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c6f00c4", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7afd73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c", - "wx" : "00d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7af", - "wy" : "00d73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7afd73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE0VbgHjO+zt6PT7SulSHXUef463lcoAhX\n2y/Xr9c6RQ7GDmqSGKhDGHBofglolE9txf/rMORpO3w=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 296, - "comment" : "small r and s^-1", - "msg" : "313233343030", - "sig" : "302302020100021d00c993264c993264c993264c99326411d2e55b3214a8d67528812a55ab", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a304f7d3c74e617dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c", - "wx" : "00f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a304f7d3c74e6", - "wy" : "17dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a304f7d3c74e617dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE8pOoorSv8L7ZXGY7Nkr+aXeNON1+ejBP\nfTx05hff0J54A8RDmmwHXLV5zeZS0D91Wf9YhGMS+kw=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 297, - "comment" : "smallish r and s^-1", - "msg" : "313233343030", - "sig" : "302702072d9b4d347952cc021c3e85d56474b5c55fbe86608442a84b2bf093b7d75f53a47250e1c70c", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954", - "wx" : "00d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317", - "wy" : "00d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE1N3wA7KYy6p9LtxYSyi0dKdhYu1LWw9i\nIsVDF9Tk/gMPF4+0qkptf2EmXs1+8TwxNga400GouVQ=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 298, - "comment" : "100-bit r and small s^-1", - "msg" : "313233343030", - "sig" : "302d020d1033e67e37b32b445580bf4efb021c02fd02fd02fd02fd02fd02fd02fd0043a4fd2da317247308c74dc6b8", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "048a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce89668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0", - "wx" : "008a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce8", - "wy" : "009668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce89668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEilvwAo8ePraEHe57j4c/aLDFYOWS4xgg\ndPUc6JZowyIktltoSXE9NeOs8XhoYuZbWmZLR6CYyqA=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 299, - "comment" : "small r and 100 bit s^-1", - "msg" : "313233343030", - "sig" : "302302020100021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a", - "wx" : "00b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137", - "wy" : "00f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtT5WmxjpNhVn5XE+5p7L55SZEbAldUai\nTD3RN/KagzNM/xxE2MDDO22tuFaMAk+h+7aUzZ5wX1o=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 300, - "comment" : "100-bit r and s^-1", - "msg" : "313233343030", - "sig" : "302e020d062522bbd3ecbe7c39e93e7c24021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0477f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c978129f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7", - "wx" : "77f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c97812", - "wy" : "009f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000477f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c978129f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEd/Pr9SclyAmsuxmt8JMSaio6BlymVMIg\nmcl4Ep8ZSNI8UVjsKt/0Vesv7fEHXU7CLWYJd0JKEPc=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 301, - "comment" : "r and s^-1 are close to n", - "msg" : "313233343030", - "sig" : "303d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29bd021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f31736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699", - "wx" : "00a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f3", - "wy" : "1736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f31736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEp/e5nlzcb+yJKO/3c8zfO2ixnUPNtBgJ\n4Zxg8xc2t6DBKpwtcGZxkSkVFCs+Bcie861Je9bDRpk=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 302, - "comment" : "s == 1", - "msg" : "313233343030", - "sig" : "3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 303, - "comment" : "s == 0", - "msg" : "313233343030", - "sig" : "3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020100", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "049cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f6921c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6", - "wx" : "009cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f69", - "wy" : "21c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00049cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f6921c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEnPAAELSthmNvbMcPtYw7mVwNEuRvxY4k\nsNKPaSHIqKMgzEUMyxXr1xYX9O0l2000E/vfFX0x27Y=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 304, - "comment" : "point at infinity during verify", - "msg" : "313233343030", - "sig" : "303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04ae9b3636b8547232df438559b5a109e0238a73a76afc25d070ea27427210a69de44ad645b1b03845040f46fce238e92c131a71e4b184c01f", - "wx" : "00ae9b3636b8547232df438559b5a109e0238a73a76afc25d070ea2742", - "wy" : "7210a69de44ad645b1b03845040f46fce238e92c131a71e4b184c01f" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ae9b3636b8547232df438559b5a109e0238a73a76afc25d070ea27427210a69de44ad645b1b03845040f46fce238e92c131a71e4b184c01f", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAErps2NrhUcjLfQ4VZtaEJ4COKc6dq/CXQ\ncOonQnIQpp3kStZFsbA4RQQPRvziOOksExpx5LGEwB8=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 305, - "comment" : "edge case for signature malleability", - "msg" : "313233343030", - "sig" : "303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "048d57d4fce62757791888c1938076fd766daeb2ec9f1bda8ad5df4809aade924d7ea3ae5abbd0719a7d4865759da654cf76cf7ec031277108", - "wx" : "008d57d4fce62757791888c1938076fd766daeb2ec9f1bda8ad5df4809", - "wy" : "00aade924d7ea3ae5abbd0719a7d4865759da654cf76cf7ec031277108" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048d57d4fce62757791888c1938076fd766daeb2ec9f1bda8ad5df4809aade924d7ea3ae5abbd0719a7d4865759da654cf76cf7ec031277108", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEjVfU/OYnV3kYiMGTgHb9dm2usuyfG9qK\n1d9ICarekk1+o65au9Bxmn1IZXWdplTPds9+wDEncQg=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 306, - "comment" : "edge case for signature malleability", - "msg" : "313233343030", - "sig" : "303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0410518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c83f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9", - "wx" : "10518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c8", - "wy" : "3f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000410518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c83f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEEFGOt6kmtfe2W+gB7Jsqv3atziXGFS5F\nKjUSyD8yK5q1fqg1KtKb65nvNWtxNDL8xK7zH5AwRdk=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 307, - "comment" : "u1 == 1", - "msg" : "313233343030", - "sig" : "303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "048a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd3badfbb8a4c6fd80e66510957927c78a2aa02ecef62816d0356b49c3", - "wx" : "008a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd", - "wy" : "3badfbb8a4c6fd80e66510957927c78a2aa02ecef62816d0356b49c3" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd3badfbb8a4c6fd80e66510957927c78a2aa02ecef62816d0356b49c3", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEil3+3J3Ry5pDnIiz3UcrLmYXP3hmhV22\nu2wS/Tut+7ikxv2A5mUQlXknx4oqoC7O9igW0DVrScM=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 308, - "comment" : "u1 == n - 1", - "msg" : "313233343030", - "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c44a5ad0bd0636d9e12bc9e0a6bdc74bfe082087ae8b61cbd54b8103f", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0483a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4", - "wx" : "0083a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff", - "wy" : "1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000483a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEg6Wfw98pXoTCkLMtC1UKBvmUVvwimOSm\njE8r/xs09IPbMNs6UdgohzLBB9ixqFjNVMOTbhtcEaQ=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 309, - "comment" : "u2 == 1", - "msg" : "313233343030", - "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0458bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a75be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977", - "wx" : "58bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a7", - "wy" : "5be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000458bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a75be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEWLraV4ogXW4XByLI7Wx3FQEf4z1+uoae\n0dRIp1vkcwwdLS74geAvAookG319Ow0LSpwFZfy0mXc=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 310, - "comment" : "u2 == n - 1", - "msg" : "313233343030", - "sig" : "303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00aaaaaaaaaaaaaaaaaaaaaaaaaaaa0f17407b4ad40d3e1b8392e81c29", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "047fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d", - "wx" : "7fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c", - "wy" : "0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00047fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEf8x5m5Gf6Xic4B3ZICcxy32BUVi8bLhG\nh2AkfA+dKVfg3V5MQBJL1eDdG+QcA4/OLNHcgU4K830=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 311, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0093c8c651653430cb4f1675fc86b5e82ca04ff2ab1501674476aac169", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "043ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780", - "wx" : "3ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674", - "wy" : "00fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEPd1o9p0L/UetGTcPo9xy6yWCaMK183aI\nUhUWdPvg4VXZTSNzoBpecPGhBSWee4sdL99Nujz0x4A=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 312, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d009df50acc33b3625a2d5940dd13dbb97d1f7dd56afff8b7de7545127c", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "041cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891", - "wx" : "1cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37", - "wy" : "00b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00041cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEHLH1ZMKev2CjQrO8M8iUXLJ5xsGgEiVc\nh04cN7dRkas7K7cwkU6/oUCAQQlwtx6vT+AeLUi+mJE=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 313, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00dce8c223f235699d1f5d2dcde4809d013390b59129f783239525c08f", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0444e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304", - "wx" : "44e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36", - "wy" : "477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000444e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEROMJ62huevfx4swX/VZUKziRCzt5COpU\n+wONNkd+gp1MgzLlsp80StJ6IcGNqySjHOeYW2OiEwQ=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 314, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c074aae944ee7a7d544a5ad0bd06366f872d2250ba3018a63d2a7f2e6", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e110129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8", - "wx" : "00c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e1", - "wy" : "10129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e110129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExygGRULLUUL17v5jgSTc16GtCzVVhCpH\n3VEI4RASndh469RzEyds7Ib1IeqVhc0QWz3EIRQZk7g=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 315, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00aae944ee7a7d544a5ad0bd0636d9455f4e83de0f186f89bca56b3c5c", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d63099667220cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108", - "wx" : "00c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d6309966722", - "wy" : "0cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d63099667220cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExGwa09PQ346cD1JcIc6Nge+dZil/RC1j\nCZZnIgz6IlOqMamNiWa4WWm/nIGcAZKS72pTrB2yoQg=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 316, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c55d289dcf4faa894b5a17a0c6db3741bbc4ecbe01d01ea33ee7a4e7b", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33caa967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12", - "wx" : "00b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33ca", - "wy" : "00a967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33caa967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEt7LkjB5g4gkl9Nm2vmAN2DeGqTbJv6sA\nY5wzyqlny8ZQcHOaM3nagNVIQ6GNnBGimjIjSgswPBI=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 317, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c4ee7a7d544a5ad0bd0636d9e12bc561ce04faaf1312bba3a15601ebc", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27ec30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0", - "wx" : "00f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27e", - "wy" : "00c30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27ec30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE9KPUWYh1r38nQbvWexcztlQbxTJbO8tN\nMmfCfsML8yL1ikXGwqos7VXxddHL9yp8W/xGTXT2ZsA=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 318, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c361b9cd74d65e79a5874c501bca4973b20347ec97f6de10072d8b46a", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0456d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd116cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141", - "wx" : "56d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd11", - "wy" : "6cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000456d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd116cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEVtHlwdZk9s4vwfy5N6fOIxopSGq/Nsc/\nd6K9EWyygsnXxvwF85nBg+iA6jYu3wQ80o/6yflPIUE=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 319, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c3739ae9acbcf34b0e98a0379492e764068fd92fedbc200e5b168d4", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0430bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd", - "wx" : "30bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5", - "wy" : "00f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000430bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEMLzoxrfxu7oEC40SHYXVUWesmbLizxz6\nyLAYtfHDhMNb4K4wmly1WrqYI0PSEl8tSlWdjFRTWc0=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 320, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00a252d685e831b6cf095e4f0535edc5b1609d7c5c7e49a301588a1d3e", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49", - "wx" : "00e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5", - "wy" : "539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE6H5TipeM8YeQi+snpKJH1JaoQh2rH+ef\nh0TStVObn4/ovdz3yXxExVpPwi9NePapYUR6W2E7XEk=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 321, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00ee746111f91ab4ce8fae96e6f23fd9d20a24d2e79eea563478c0f566", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f02816c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c", - "wx" : "113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f0281", - "wy" : "6c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f02816c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEETosxXyO594RvEXhRUbHKilyW5pyGBFK\nwx8CgWx2W5pGsCFTEqMpL1l5yY03s1iDuqFWKBsbrow=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 322, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffffb2364ae85014b149b86c741eb8be", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0423dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74ad661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951", - "wx" : "23dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74a", - "wy" : "00d661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000423dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74ad661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEI92cPxpLR4sB+ixemX0Eggc7MpGN5Evl\ng9z3StZhpe1Xmi8J0v9W1rgPJlaNk6I3ymREsMrceVE=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 323, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00855f5b2dc8e46ec428a593f73219cf65dae793e8346e30cc3701309c", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256dfe09e092318e39303dca03688e4ecf300300784312d617e5088c584c", - "wx" : "00bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256d", - "wy" : "00fe09e092318e39303dca03688e4ecf300300784312d617e5088c584c" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256dfe09e092318e39303dca03688e4ecf300300784312d617e5088c584c", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEu85LF9RdJKHIC8jsqYw1nV4eRYBYoAuV\nBkMlbf4J4JIxjjkwPcoDaI5OzzADAHhDEtYX5QiMWEw=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 324, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2db5f61aea817276af2064e104c7a30e32034cb526dd0aacfa56566f", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04035f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a495347bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85", - "wx" : "035f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a4953", - "wy" : "47bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004035f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a495347bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEA19YRGwb2+qlZmCol+v5ZfLRiCDHzQYw\n8EpJU0e9+upgCR9AXgmSnLLA4vbu1T4Icbf+DNWhXYU=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 325, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0084a6c7513e5f48c07fffffffffff8713f3cba1293e4f3e95597fe6bd", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002", - "wx" : "00911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279", - "wy" : "508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEkRwAM+rEYzJpHLeSDElQ7tVzVHYeEIGh\n6p8SeVCOv3z9Pqtdq97hvhTOgpax/CCs+qwW94JMYAI=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 326, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c7513e5f48c07ffffffffffffff9d21fd1b31544cb13ca86a75b25e", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0462b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555", - "wx" : "62b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3", - "wy" : "124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000462b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEYrKrtwu5x+/ftXGB9DO2R1HxCBMNzhgN\naZLn0xJLOqilPl7t9yqmfm7cxx8Z425q0dCZpZ/9lVU=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 327, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d8ea27cbe9180fffffffffffffff3a43fa3662a899627950d4eb64bc", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "040f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1", - "wx" : "0f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6", - "wy" : "00defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00040f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAED3WTMOeZJ1Kq5qhfe7BZl4S+pT4oj/fu\njVPV5t7+YXNiOA6S+aI8T9zDTglxOqucxEEZQY9vL9E=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 328, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3e5f48c07fffffffffffffffffffc724968c0ecf9ed783744a7337b3", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "048f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138", - "wx" : "008f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d", - "wy" : "3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEjy7aQnQqsx9dTPZmiS0dYj79Oyb335qn\nApboDTvq8jXP6kH625jFM6j961hB1p7mX25xkUcR8Tg=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 329, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00bfffffffffffffffffffffffffff3d87bb44c833bb384d0f224ccdde", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "042bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c095b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f", - "wx" : "2bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c09", - "wy" : "5b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00042bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c095b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEK89DcbMZppHtDi4MSlWoqbmH3shrhjYh\n6XucCVuGYKdMyWSmrwMR7caxzZgPnHvzpsm3+RMqCy8=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 330, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffff646c95d0a029629370d8e83d717f", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015", - "wx" : "00a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec", - "wy" : "3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEpvJSVo9vvRrgReYCNENZwMIWkRcjdI+a\nPn+t7Dt278dboDC/594t7WhpkeYYPUAkGgW0eWk8cBU=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 331, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e1520", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe82ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a", - "wx" : "00a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe8", - "wy" : "2ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe82ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEp0wcOjHH1JOrLAr4nPXmiGIcqUZtK6HY\ndhw/6Cug0I9Mn3aFbCtxOMjx54C2lZmSsWzN/ZJfSzo=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 332, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0096dafb0d7540b93b5790327082635cd8895e1e799d5d19f92b594056", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f280562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627", - "wx" : "034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f2", - "wy" : "0080562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f280562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEA06nJ5glfzPyT2TElDj8Q+j2fdxxcP0S\nfixD8oBWKsybSfLX/MiUIdKl2y6o3QNh+0jYl9RhJic=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 333, - "comment" : "point duplication during verification", - "msg" : "313233343030", - "sig" : "303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c3f552f1c2b01651edf5902650fe9ab046f71999ac928edc0087bdb13", - "result" : "valid", - "flags" : [ - "PointDuplication" - ] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f27fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da", - "wx" : "034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f2", - "wy" : "7fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f27fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEA06nJ5glfzPyT2TElDj8Q+j2fdxxcP0S\nfixD8n+p1TNktg0oAzdr3i1aJNBXIvyeBLcnaCue2do=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 334, - "comment" : "duplication bug", - "msg" : "313233343030", - "sig" : "303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c3f552f1c2b01651edf5902650fe9ab046f71999ac928edc0087bdb13", - "result" : "invalid", - "flags" : [ - "PointDuplication" - ] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "043672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb67ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79", - "wx" : "3672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb6", - "wy" : "7ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb67ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAENnK6lxjmDQDqtClcgZ6jZqd43W/WIfqW\nZSWctnrl6EfurqZ0vutjY3npaPeSZVAuQUodRE8Ernk=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 335, - "comment" : "comparison with point at infinity ", - "msg" : "313233343030", - "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0433eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648051749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a", - "wx" : "33eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648", - "wy" : "051749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000433eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648051749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEM+7vv8dyKRNuVrV1FEhj7ZC0wPip4xWB\nbW3mSAUXSd0RSAwUH7WhlGMTFjwBQSZbaKJiFry5k2o=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 336, - "comment" : "extreme value for k and edgecase s", - "msg" : "313233343030", - "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04bda03b24b62243c61e288b6ea1e99a2886f700944eb1b8f0466cffd61c712a3aaace69331989b707e69e8de39d7cd1aeb65d97ad1800bf7f", - "wx" : "00bda03b24b62243c61e288b6ea1e99a2886f700944eb1b8f0466cffd6", - "wy" : "1c712a3aaace69331989b707e69e8de39d7cd1aeb65d97ad1800bf7f" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bda03b24b62243c61e288b6ea1e99a2886f700944eb1b8f0466cffd61c712a3aaace69331989b707e69e8de39d7cd1aeb65d97ad1800bf7f", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvaA7JLYiQ8YeKItuoemaKIb3AJROsbjw\nRmz/1hxxKjqqzmkzGYm3B+aejeOdfNGutl2XrRgAv38=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 337, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "047abba0cbff134ddcf54d04846f954b882ca9faefdfe818898bfb378b792f10b57970ae57bb4fb01c08886848855aeb1984d3d6fcb2b412df", - "wx" : "7abba0cbff134ddcf54d04846f954b882ca9faefdfe818898bfb378b", - "wy" : "792f10b57970ae57bb4fb01c08886848855aeb1984d3d6fcb2b412df" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00047abba0cbff134ddcf54d04846f954b882ca9faefdfe818898bfb378b792f10b57970ae57bb4fb01c08886848855aeb1984d3d6fcb2b412df", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEerugy/8TTdz1TQSEb5VLiCyp+u/f6BiJ\ni/s3i3kvELV5cK5Xu0+wHAiIaEiFWusZhNPW/LK0Et8=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 338, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04f68d99e28653b9ba3e7cedb3b78165f5a54fbe90d4b9f88497977e16234da3eaa0178a51b5b0c208ef0818df6f6578793c1af1787026b8da", - "wx" : "00f68d99e28653b9ba3e7cedb3b78165f5a54fbe90d4b9f88497977e16", - "wy" : "234da3eaa0178a51b5b0c208ef0818df6f6578793c1af1787026b8da" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004f68d99e28653b9ba3e7cedb3b78165f5a54fbe90d4b9f88497977e16234da3eaa0178a51b5b0c208ef0818df6f6578793c1af1787026b8da", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE9o2Z4oZTubo+fO2zt4Fl9aVPvpDUufiE\nl5d+FiNNo+qgF4pRtbDCCO8IGN9vZXh5PBrxeHAmuNo=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 339, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04065d9ef133ce81c2d6b66e928360f9527f8f36b5badd35b5f10934272004852755f77440a0b08b9f165489c0696e8b4981d6d04a285b0fd1", - "wx" : "065d9ef133ce81c2d6b66e928360f9527f8f36b5badd35b5f1093427", - "wy" : "2004852755f77440a0b08b9f165489c0696e8b4981d6d04a285b0fd1" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004065d9ef133ce81c2d6b66e928360f9527f8f36b5badd35b5f10934272004852755f77440a0b08b9f165489c0696e8b4981d6d04a285b0fd1", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEBl2e8TPOgcLWtm6Sg2D5Un+PNrW63TW1\n8Qk0JyAEhSdV93RAoLCLnxZUicBpbotJgdbQSihbD9E=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 340, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c249249249249249249249249249227ce201a6b76951f982e7ae89852", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04d6cea09472ede574ce1e0546c9acd0e1cd8cba9b121df29e89d5092e83904ebfb902ea61c987dc0508e0c9a7e563e2609feaf79140ab91d6", - "wx" : "00d6cea09472ede574ce1e0546c9acd0e1cd8cba9b121df29e89d5092e", - "wy" : "0083904ebfb902ea61c987dc0508e0c9a7e563e2609feaf79140ab91d6" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d6cea09472ede574ce1e0546c9acd0e1cd8cba9b121df29e89d5092e83904ebfb902ea61c987dc0508e0c9a7e563e2609feaf79140ab91d6", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE1s6glHLt5XTOHgVGyazQ4c2MupsSHfKe\nidUJLoOQTr+5AuphyYfcBQjgyaflY+Jgn+r3kUCrkdY=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 341, - "comment" : "extreme value for k", - "msg" : "313233343030", - "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb80e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98", - "wx" : "00c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb8", - "wy" : "0e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb80e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExSCxgAOzVglBR+4vnfEXhXK+2De9iUQ7\nJevOuA4uk6mY+7q+ghkupMhWUc8JqVqw3C49l17nvpg=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 342, - "comment" : "extreme value for k and edgecase s", - "msg" : "313233343030", - "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "049dd0b99bb7a830bcc7d55abac42912d525b063c50cf377ca5771a26ca141fccf0793c2ba2469a946c2d4ed26344052c63a6d7e7797ce96c3", - "wx" : "009dd0b99bb7a830bcc7d55abac42912d525b063c50cf377ca5771a26c", - "wy" : "00a141fccf0793c2ba2469a946c2d4ed26344052c63a6d7e7797ce96c3" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00049dd0b99bb7a830bcc7d55abac42912d525b063c50cf377ca5771a26ca141fccf0793c2ba2469a946c2d4ed26344052c63a6d7e7797ce96c3", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEndC5m7eoMLzH1Vq6xCkS1SWwY8UM83fK\nV3GibKFB/M8Hk8K6JGmpRsLU7SY0QFLGOm1+d5fOlsM=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 343, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "043dab9f1b19e715d174a7360920375d569a181f055e66f01391871b6f47a6d87c23a5b6a1e3d0a9721302cc02cce35f35dea08e22619be521", - "wx" : "3dab9f1b19e715d174a7360920375d569a181f055e66f01391871b6f", - "wy" : "47a6d87c23a5b6a1e3d0a9721302cc02cce35f35dea08e22619be521" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043dab9f1b19e715d174a7360920375d569a181f055e66f01391871b6f47a6d87c23a5b6a1e3d0a9721302cc02cce35f35dea08e22619be521", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEPaufGxnnFdF0pzYJIDddVpoYHwVeZvAT\nkYcbb0em2Hwjpbah49CpchMCzALM41813qCOImGb5SE=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 344, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0456dde1ba58ea31053b2535c66623344c24c72d214af5be6982e89100e771084806143e86f2b31bdaf62280f5b311d0d2bdbb385b20fc6c87", - "wx" : "56dde1ba58ea31053b2535c66623344c24c72d214af5be6982e89100", - "wy" : "00e771084806143e86f2b31bdaf62280f5b311d0d2bdbb385b20fc6c87" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000456dde1ba58ea31053b2535c66623344c24c72d214af5be6982e89100e771084806143e86f2b31bdaf62280f5b311d0d2bdbb385b20fc6c87", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEVt3huljqMQU7JTXGZiM0TCTHLSFK9b5p\nguiRAOdxCEgGFD6G8rMb2vYigPWzEdDSvbs4WyD8bIc=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 345, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0494efe1387fc0447d7dbcb53739a0e4e0ddec181d382caea645b1a6124414a6b1c78908d0fa206f8f2de950ad4a14d1ce94d9cddbe32e4601", - "wx" : "0094efe1387fc0447d7dbcb53739a0e4e0ddec181d382caea645b1a612", - "wy" : "4414a6b1c78908d0fa206f8f2de950ad4a14d1ce94d9cddbe32e4601" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000494efe1387fc0447d7dbcb53739a0e4e0ddec181d382caea645b1a6124414a6b1c78908d0fa206f8f2de950ad4a14d1ce94d9cddbe32e4601", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAElO/hOH/ARH19vLU3OaDk4N3sGB04LK6m\nRbGmEkQUprHHiQjQ+iBvjy3pUK1KFNHOlNnN2+MuRgE=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 346, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c249249249249249249249249249227ce201a6b76951f982e7ae89852", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "046286803b952976ee1897013695d3ef2cbb6f977142a042b236572577722a6ce9ad3e3fd28e451833496c63b8ab70538877215f204942bf59", - "wx" : "6286803b952976ee1897013695d3ef2cbb6f977142a042b236572577", - "wy" : "722a6ce9ad3e3fd28e451833496c63b8ab70538877215f204942bf59" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00046286803b952976ee1897013695d3ef2cbb6f977142a042b236572577722a6ce9ad3e3fd28e451833496c63b8ab70538877215f204942bf59", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEYoaAO5Updu4YlwE2ldPvLLtvl3FCoEKy\nNlcld3IqbOmtPj/SjkUYM0lsY7ircFOIdyFfIElCv1k=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 347, - "comment" : "extreme value for k", - "msg" : "313233343030", - "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34", - "wx" : "00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21", - "wy" : "00bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtw4MvWu0v38yE5C5SgPB01bCESI0MoDW\nEVwdIb03Y4i19yP7TCLf5s1DdaBaB0dkRNWBmYUAfjQ=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 348, - "comment" : "testing point duplication", - "msg" : "313233343030", - "sig" : "303d021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe021c249249249249249249249249249227ce201a6b76951f982e7ae89851", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 349, - "comment" : "testing point duplication", - "msg" : "313233343030", - "sig" : "303c021c44a5ad0bd0636d9e12bc9e0a6bdc74bfe082087ae8b61cbd54b8103f021c249249249249249249249249249227ce201a6b76951f982e7ae89851", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd", - "wx" : "00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21", - "wy" : "42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtw4MvWu0v38yE5C5SgPB01bCESI0MoDW\nEVwdIULInHdKCNwEs90gGTK8il6l+Libuyp+Znr/gc0=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 350, - "comment" : "testing point duplication", - "msg" : "313233343030", - "sig" : "303d021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe021c249249249249249249249249249227ce201a6b76951f982e7ae89851", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 351, - "comment" : "testing point duplication", - "msg" : "313233343030", - "sig" : "303c021c44a5ad0bd0636d9e12bc9e0a6bdc74bfe082087ae8b61cbd54b8103f021c249249249249249249249249249227ce201a6b76951f982e7ae89851", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176", - "wx" : "4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466", - "wy" : "00ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAETCRmcGWKHUH113vOJGy+OGrCKEjiabnU\nzWfEZt3ZRxU9ObLUJTOkYN7yaIBAjK8t091I/oiM0XY=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 352, - "comment" : "pseudorandom signature", - "msg" : "", - "sig" : "303d021c0364e7d96832614a80216e730c353534d4bffd2c26649c0b4b0e2628021d008f40064b412fe38c5ba9cf664e6172ed48e6e79f0fe5e31a54985dfc", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 353, - "comment" : "pseudorandom signature", - "msg" : "4d7367", - "sig" : "303d021d00f4b68df62b9238363ccc1bbee00deb3fb2693f7894178e14eeac596a021c7f51c9451adacd2bcbc721f7df0643d7cd18a6b52064b507e1912f23", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 354, - "comment" : "pseudorandom signature", - "msg" : "313233343030", - "sig" : "303d021d00b2970cdec29c70294a18bbc49985efa33acc0af509c326a3977a35e8021c0cea3ed8ebaaf6ee6aef6049a23cbc39f61fcf8fc6be4bab13385579", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 355, - "comment" : "pseudorandom signature", - "msg" : "0000000000000000000000000000000000000000", - "sig" : "303d021c7e7b0eb7da8c68a7072b11404ee95a5c407fbfe3d69646802e28ae77021d00d409a2f6bbaae59bb60fc0a092b12fa4e67dc8d088cf19a833322fd6", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000", - "wx" : "00aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf", - "wy" : "008a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAErtb8rSQAxNlOVdu2sBLOPUwrRoQ/vpnU\nKJ5uz4okqJ5xND19FR0ljSy2kDScLVazZt0QpgAAAAA=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 356, - "comment" : "y-coordinate of the public key has many trailing 0's", - "msg" : "4d657373616765", - "sig" : "303c021c519bf185ff4635271961fa491be257231deeea9c53a6ede3b4a89ed1021c486bdad484a6a3134e1471cf56a9df0fac50f773b3e37d6f327617d7", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 357, - "comment" : "y-coordinate of the public key has many trailing 0's", - "msg" : "4d657373616765", - "sig" : "303d021c09fd644898b7cb5d018b52234e7b4ef2b54789afd0ce9c434e9e5515021d00f19309532164ea2053cae55df7bdcbab536c83ea7bfe6fe10d60c1ab", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 358, - "comment" : "y-coordinate of the public key has many trailing 0's", - "msg" : "4d657373616765", - "sig" : "303d021d00ec919d4e283ccf1f71a9e3c0f781a36758d3f38b1b78a87a74288e80021c4c4663044a73c79bd88f0dc245ab1a32f89f06f40a704b31e9fabc51", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff", - "wx" : "00bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1", - "wy" : "73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvxns/kP/4on2mfR5MWFFuaf3Nwuezlqx\nISF08XPVKJSa6RQvgYut5xqWBAeWO+C2SCpqYP////8=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 359, - "comment" : "y-coordinate of the public key has many trailing 1's", - "msg" : "4d657373616765", - "sig" : "303e021d00c51760478447217597ecc6f4001bd45088d53c90f53103608bf88aea021d00a201253aa903f9781e8992101d7171d2dd3a5d48c44d8e1d544cd6d7", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 360, - "comment" : "y-coordinate of the public key has many trailing 1's", - "msg" : "4d657373616765", - "sig" : "303c021c76be0112674ec29128823e1af7512e6143872fef30a64e2f1799bd56021c187e503e1a48c27b549fe0a4ce5e581e242c8663fc9efb02d6f2b193", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 361, - "comment" : "y-coordinate of the public key has many trailing 1's", - "msg" : "4d657373616765", - "sig" : "303c021c36245ef126b5b51e459f84eaaad5a495061f0471dc8c23f1c5f16282021c39e31d72a06ba8e14fcf95778e07bc16a2628e39449da8857d506edc", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0", - "wx" : "26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000", - "wy" : "00eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEJuWr8TXLVOqqFraeSwspInU0Toignfbf\ngAAAAOq4kd5U4/Jv9Qq5ifMz2sVRWD1GiuYjxZZDSvA=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 362, - "comment" : "x-coordinate of the public key has many trailing 0's", - "msg" : "4d657373616765", - "sig" : "303c021c258682975df8bca7f203f771ebeb478ef637360c860fc386cfb21745021c7663e70188047e41469a2a35c8c330dd900f2340ba82aafd22962a96", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 363, - "comment" : "x-coordinate of the public key has many trailing 0's", - "msg" : "4d657373616765", - "sig" : "303e021d0085c98614f36c0d66f8d87834cae978611b7b4eebf59a46bea1b89ae9021d00d1a18e378dda840e06b60f6279bf0a2231d9fa2d8d2c31e88bc1bdd7", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 364, - "comment" : "x-coordinate of the public key has many trailing 0's", - "msg" : "4d657373616765", - "sig" : "303e021d00ca7b7432ba41ff2112e1116fffde89bbd68f5ce67fe5513d16c8e6f7021d00e421b7599e0180798acc2006451603cda2db1d582741116e6033ce5f", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd", - "wx" : "00ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff", - "wy" : "41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE7GJ/NFVF0D+Mbb0I5XVScRZWf+N1+eyq\n/////0G/cFaX1fcWvPeHGNU5O2OphpH0ofJCRjdVOP0=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 365, - "comment" : "x-coordinate of the public key has many trailing 1's", - "msg" : "4d657373616765", - "sig" : "303c021c19397fe5d3ecabf80fc624c1bf379564387517c185087dc97d605069021c33b5773e9aaf6c34cb612cfc81efd3bf9c22224e8c4fa1bfccf5c501", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 366, - "comment" : "x-coordinate of the public key has many trailing 1's", - "msg" : "4d657373616765", - "sig" : "303d021c70f24f5c164164bfbb8459aa12a981aa312dbcf00204326ebaaabdc8021d00f5cebee8caedae8662c43501665084b45d2f494fb70d603043543dc4", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 367, - "comment" : "x-coordinate of the public key has many trailing 1's", - "msg" : "4d657373616765", - "sig" : "303d021c0bf2d86ecaa8b56aca5e8f8ebcb45081d078a14555b75f5be8e9b132021d009a55b3ce4734849966b5034ccd9b19f76407ee0241c3f58e7b8fc89a", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5", - "wx" : "15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a", - "wy" : "762d28f1fdc219184f81681fbff566d465b5f1f31e872df5" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFQFuUrNkctU2R3YF+4Bd05AwgqBi0eow\nr55VWgAAAAB2LSjx/cIZGE+BaB+/9WbUZbXx8x6HLfU=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 368, - "comment" : "y-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303e021d00bfc5dc4434cd09369610687d38d2d418b63fd475dea246a456b25a3a021d00b171dfa6cf722f20816370a868785da842b37bac31d7b78e6751fc50", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 369, - "comment" : "y-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303e021d008fdbe8da646c5642d767c7dbeb3872b1edab6e37365805f0e94ce0a9021d00bcf35ab81222883dd3526cb0cf93138f4687cd0b10c2b0a126385161", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 370, - "comment" : "y-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303d021d00e23a11275848fd4f8b6f4ac4fc305eae981d3b7dc453e5a980c46422021c1a875693f24a03ea1614c4c3bbd0dd7221429f22b337ea7d98348ca4", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c", - "wx" : "15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a", - "wy" : "00ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFQFuUrNkctU2R3YF+4Bd05AwgqBi0eow\nr55VWv////+J0tcOAj3m57B+l99ACpkrmkoODOF40gw=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 371, - "comment" : "y-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303d021c76645164ff9af3a1a9205fda2eef326d2bffc795dcc4829547fe01dd021d00b65bba503719314b27734dd06b1395d540af8396029b78b84e0149eb", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 372, - "comment" : "y-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303c021c32fa0ca7e07f1f86ac350734994e1f31b6da9c82f93dced2b983c29c021c7b7891282206a45711bdfcb2a102b5d289df84ff5778548603574004", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 373, - "comment" : "y-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303d021c2d5492478ca64e5111dfd8521867b6477b7e78227849ad090b855694021d00a532f5a2fa3594af81cd5928b81b4057da717be5fb42a3a86c68190d", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1", - "wx" : "00f7e4713d085112112c37cdf4601ff688da796016b71a727a", - "wy" : "00de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEAAAAAPfkcT0IURIRLDfN9GAf9ojaeWAW\ntxpyet5ansFlBUzJh/nch+mZG5Lk+mScplXurp8qMOE=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 374, - "comment" : "x-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303d021c191eee5daf55cd499e8539cb2cff797cfec5d566d2027bf9f8d64693021d00dadfeae8131f64d96b94fd340197caa2bc04818554812feef3343070", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 375, - "comment" : "x-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303e021d00e0e2c08180b8a207ee9105a7d379fa112368e8370fa09dfde4a45c45021d00c717bc0860e016e7ce48f8fe6a299b36906a6055adad93b416ce8838", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 376, - "comment" : "x-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303d021c1b919ef93532292743bb2e1b7b4894fd847c6e5de52a08e1b0f2dcfb021d00c2d30d6b7594d8dbd261491ae1d58779505b075b64e5564dc97a418b", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e", - "wx" : "00ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725", - "wy" : "0086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE/////+rffO6NNNBM8iyPfeNWdPsvUB0k\nKnb3JYbECTCdOY5gzh4KTJ4FqdMmJ1d+jOLMfzr6LD4=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 377, - "comment" : "x-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303d021d00e75db49ed33ff2885ea6100cc95b8fe1b9242ea4248db07bcac2e020021c796c866142ae8eb75bb0499c668c6fe45497692fbcc66b37c2e4624f", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 378, - "comment" : "x-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303c021c1f81cd924362ec825890307b9b3936e0d8f728a7c84bdb43c5cf0433021c39d3e46a03040ad41ac026b18e0629f6145e3dc8d1e6bbe200c8482b", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 379, - "comment" : "x-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303c021c00fda613aa67ca42673ad4309f3f0f05b2569f3dee63f4aa9cc54cf3021c1e5a64b68a37e5b201c918303dc7a40439aaeacf019c5892a8f6d0ce", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc", - "wx" : "00b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1", - "wy" : "0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsAE8b7/28J/s2hwmPvZTmdTPmJyl/E+P\n/w/p4QAAAAAOKrDoSV6FnrKvsAdp1uf+YmoRkWfAtrw=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 380, - "comment" : "y-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303e021d00b932b3f7e6467e1ec7a561f31160248c7f224550a8508788634b53ce021d00a0c5312acf9e801aff6d6fc98550cfa712bbf65937165a36f2c32dc9", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 381, - "comment" : "y-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303d021d00e509593fb09245ee8226ce72786b0cc352be555a7486be628f4fd00c021c0b7abde0061b1e07bf13319150a4ff6a464abab636ab4e297b0d7633", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 382, - "comment" : "y-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303c021c6e54f941204d4639b863c98a65b7bee318d51ab1900a8f345eac6f07021c0da5054829214ecde5e10579b36a2fe6426c24b064ed77c38590f25c", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945", - "wx" : "00b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1", - "wy" : "00fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsAE8b7/28J/s2hwmPvZTmdTPmJyl/E+P\n/w/p4f/////x1U8XtqF6YU1QT/eWKRgBnZXubpg/SUU=\n-----END PUBLIC KEY-----", - "sha" : "SHA-256", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 383, - "comment" : "y-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303d021d0085ea4ab3ffdc992330c0ca8152faf991386bce82877dbb239ba654f6021c0806c6baf0ebea4c1aaa190e7d4325d46d1f7789d550632b70b5fc9b", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 384, - "comment" : "y-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303d021c44d53debb646b73485402eab2d099081b97b1243c025b624f0dd67ea021d00e5de789a7d4b77eac6d7bba41658e6e4dc347dabed2f9680c04a6f55", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 385, - "comment" : "y-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303c021c1526eb2f657ebea9af4ca184b975c02372c88e24e835f3f5774c0e12021c1f1ecce38ee52372cb201907794de17b6d6c1afa13c316c51cb07bc7", - "result" : "valid", - "flags" : [] - } - ] - } - ] -} diff --git a/tests/ecdsa_secp224r1_sha512_test.json b/tests/ecdsa_secp224r1_sha512_test.json deleted file mode 100644 index 313a6b36..00000000 --- a/tests/ecdsa_secp224r1_sha512_test.json +++ /dev/null @@ -1,5002 +0,0 @@ -{ - "algorithm" : "ECDSA", - "generatorVersion" : "0.8r12", - "numberOfTests" : 454, - "header" : [ - "Test vectors of type EcdsaVerify are meant for the verification", - "of ASN encoded ECDSA signatures." - ], - "notes" : { - "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.", - "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.", - "MissingZero" : "Some implementations of ECDSA and DSA incorrectly encode r and s by not including leading zeros in the ASN encoding of integers when necessary. Hence, some implementations (e.g. jdk) allow signatures with incorrect ASN encodings assuming that the signature is otherwise valid.", - "PointDuplication" : "Some implementations of ECDSA do not handle duplication and points at infinity correctly. This is a test vector that has been specially crafted to check for such an omission." - }, - "schema" : "ecdsa_verify_schema.json", - "testGroups" : [ - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5", - "wx" : "00eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7", - "wy" : "00eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE6tqTvhCyRJ4ei7WDBdUgCAE8VxB8GiCj\nF6bLp+ymcjQMA9HS4JZjKGaR31UGn6JUkMndn5wLsrU=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 1, - "comment" : "signature malleability", - "msg" : "313233343030", - "sig" : "303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c394766fb67a65fe0af6c154f7cbd285ea180b4c6150cdafafb0f6f0f", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 2, - "comment" : "Legacy:ASN encoding of s misses leading 0", - "msg" : "313233343030", - "sig" : "303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021cc6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "acceptable", - "flags" : [ - "MissingZero" - ] - }, - { - "tcId" : 3, - "comment" : "valid", - "msg" : "313233343030", - "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 4, - "comment" : "long form encoding of length of sequence", - "msg" : "313233343030", - "sig" : "30813d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 5, - "comment" : "length of sequence contains leading 0", - "msg" : "313233343030", - "sig" : "3082003d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 6, - "comment" : "wrong length of sequence", - "msg" : "313233343030", - "sig" : "303e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 7, - "comment" : "wrong length of sequence", - "msg" : "313233343030", - "sig" : "303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 8, - "comment" : "uint32 overflow in length of sequence", - "msg" : "313233343030", - "sig" : "3085010000003d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 9, - "comment" : "uint64 overflow in length of sequence", - "msg" : "313233343030", - "sig" : "308901000000000000003d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 10, - "comment" : "length of sequence = 2**31 - 1", - "msg" : "313233343030", - "sig" : "30847fffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 11, - "comment" : "length of sequence = 2**32 - 1", - "msg" : "313233343030", - "sig" : "3084ffffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 12, - "comment" : "length of sequence = 2**40 - 1", - "msg" : "313233343030", - "sig" : "3085ffffffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 13, - "comment" : "length of sequence = 2**64 - 1", - "msg" : "313233343030", - "sig" : "3088ffffffffffffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 14, - "comment" : "incorrect length of sequence", - "msg" : "313233343030", - "sig" : "30ff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 15, - "comment" : "indefinite length without termination", - "msg" : "313233343030", - "sig" : "3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 16, - "comment" : "indefinite length without termination", - "msg" : "313233343030", - "sig" : "303d0280691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 17, - "comment" : "indefinite length without termination", - "msg" : "313233343030", - "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab028000c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 18, - "comment" : "removing sequence", - "msg" : "313233343030", - "sig" : "", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 19, - "comment" : "lonely sequence tag", - "msg" : "313233343030", - "sig" : "30", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 20, - "comment" : "appending 0's to sequence", - "msg" : "313233343030", - "sig" : "303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 21, - "comment" : "prepending 0's to sequence", - "msg" : "313233343030", - "sig" : "303f0000021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 22, - "comment" : "appending unused 0's to sequence", - "msg" : "313233343030", - "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 23, - "comment" : "appending null value to sequence", - "msg" : "313233343030", - "sig" : "303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0500", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 24, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "3042498177303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 25, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "30412500303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 26, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "303f303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0004deadbeef", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 27, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "30422221498177021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 28, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "304122202500021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 29, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "3045221e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0004deadbeef021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 30, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "3042021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2222498177021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 31, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab22212500021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 32, - "comment" : "including garbage", - "msg" : "313233343030", - "sig" : "3045021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab221f021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0004deadbeef", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 33, - "comment" : "including undefined tags", - "msg" : "313233343030", - "sig" : "3045aa00bb00cd00303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 34, - "comment" : "including undefined tags", - "msg" : "313233343030", - "sig" : "3043aa02aabb303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 35, - "comment" : "including undefined tags", - "msg" : "313233343030", - "sig" : "30452224aa00bb00cd00021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 36, - "comment" : "including undefined tags", - "msg" : "313233343030", - "sig" : "30432222aa02aabb021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 37, - "comment" : "including undefined tags", - "msg" : "313233343030", - "sig" : "3045021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2225aa00bb00cd00021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 38, - "comment" : "including undefined tags", - "msg" : "313233343030", - "sig" : "3043021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2223aa02aabb021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 39, - "comment" : "truncated length of sequence", - "msg" : "313233343030", - "sig" : "3081", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 40, - "comment" : "using composition with indefinite length", - "msg" : "313233343030", - "sig" : "3080303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 41, - "comment" : "using composition with indefinite length", - "msg" : "313233343030", - "sig" : "30412280021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 42, - "comment" : "using composition with indefinite length", - "msg" : "313233343030", - "sig" : "3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2280021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 43, - "comment" : "using composition with wrong tag", - "msg" : "313233343030", - "sig" : "3080313d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 44, - "comment" : "using composition with wrong tag", - "msg" : "313233343030", - "sig" : "30412280031c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 45, - "comment" : "using composition with wrong tag", - "msg" : "313233343030", - "sig" : "3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2280031d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 46, - "comment" : "Replacing sequence with NULL", - "msg" : "313233343030", - "sig" : "0500", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 47, - "comment" : "changing tag value of sequence", - "msg" : "313233343030", - "sig" : "2e3d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 48, - "comment" : "changing tag value of sequence", - "msg" : "313233343030", - "sig" : "2f3d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 49, - "comment" : "changing tag value of sequence", - "msg" : "313233343030", - "sig" : "313d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 50, - "comment" : "changing tag value of sequence", - "msg" : "313233343030", - "sig" : "323d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 51, - "comment" : "changing tag value of sequence", - "msg" : "313233343030", - "sig" : "ff3d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 52, - "comment" : "dropping value of sequence", - "msg" : "313233343030", - "sig" : "3000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 53, - "comment" : "using composition for sequence", - "msg" : "313233343030", - "sig" : "3041300102303c1c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 54, - "comment" : "truncated sequence", - "msg" : "313233343030", - "sig" : "303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 55, - "comment" : "truncated sequence", - "msg" : "313233343030", - "sig" : "303c1c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 56, - "comment" : "indefinite length", - "msg" : "313233343030", - "sig" : "3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 57, - "comment" : "indefinite length with truncated delimiter", - "msg" : "313233343030", - "sig" : "3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e00", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 58, - "comment" : "indefinite length with additional element", - "msg" : "313233343030", - "sig" : "3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e05000000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 59, - "comment" : "indefinite length with truncated element", - "msg" : "313233343030", - "sig" : "3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e060811220000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 60, - "comment" : "indefinite length with garbage", - "msg" : "313233343030", - "sig" : "3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000fe02beef", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 61, - "comment" : "indefinite length with nonempty EOC", - "msg" : "313233343030", - "sig" : "3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0002beef", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 62, - "comment" : "prepend empty sequence", - "msg" : "313233343030", - "sig" : "303f3000021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 63, - "comment" : "append empty sequence", - "msg" : "313233343030", - "sig" : "303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e3000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 64, - "comment" : "append garbage with high tag number", - "msg" : "313233343030", - "sig" : "3040021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2ebf7f00", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 65, - "comment" : "sequence of sequence", - "msg" : "313233343030", - "sig" : "303f303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 66, - "comment" : "truncated sequence: removed last 1 elements", - "msg" : "313233343030", - "sig" : "301e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 67, - "comment" : "repeating element in sequence", - "msg" : "313233343030", - "sig" : "305c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 68, - "comment" : "long form encoding of length of integer", - "msg" : "313233343030", - "sig" : "303e02811c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 69, - "comment" : "long form encoding of length of integer", - "msg" : "313233343030", - "sig" : "303e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02811d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 70, - "comment" : "length of integer contains leading 0", - "msg" : "313233343030", - "sig" : "303f0282001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 71, - "comment" : "length of integer contains leading 0", - "msg" : "313233343030", - "sig" : "303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0282001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 72, - "comment" : "wrong length of integer", - "msg" : "313233343030", - "sig" : "303d021d691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 73, - "comment" : "wrong length of integer", - "msg" : "313233343030", - "sig" : "303d021b691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 74, - "comment" : "wrong length of integer", - "msg" : "313233343030", - "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021e00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 75, - "comment" : "wrong length of integer", - "msg" : "313233343030", - "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 76, - "comment" : "uint32 overflow in length of integer", - "msg" : "313233343030", - "sig" : "30420285010000001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 77, - "comment" : "uint32 overflow in length of integer", - "msg" : "313233343030", - "sig" : "3042021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0285010000001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 78, - "comment" : "uint64 overflow in length of integer", - "msg" : "313233343030", - "sig" : "3046028901000000000000001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 79, - "comment" : "uint64 overflow in length of integer", - "msg" : "313233343030", - "sig" : "3046021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab028901000000000000001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 80, - "comment" : "length of integer = 2**31 - 1", - "msg" : "313233343030", - "sig" : "304102847fffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 81, - "comment" : "length of integer = 2**31 - 1", - "msg" : "313233343030", - "sig" : "3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02847fffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 82, - "comment" : "length of integer = 2**32 - 1", - "msg" : "313233343030", - "sig" : "30410284ffffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 83, - "comment" : "length of integer = 2**32 - 1", - "msg" : "313233343030", - "sig" : "3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0284ffffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 84, - "comment" : "length of integer = 2**40 - 1", - "msg" : "313233343030", - "sig" : "30420285ffffffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 85, - "comment" : "length of integer = 2**40 - 1", - "msg" : "313233343030", - "sig" : "3042021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0285ffffffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 86, - "comment" : "length of integer = 2**64 - 1", - "msg" : "313233343030", - "sig" : "30450288ffffffffffffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 87, - "comment" : "length of integer = 2**64 - 1", - "msg" : "313233343030", - "sig" : "3045021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0288ffffffffffffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 88, - "comment" : "incorrect length of integer", - "msg" : "313233343030", - "sig" : "303d02ff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 89, - "comment" : "incorrect length of integer", - "msg" : "313233343030", - "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02ff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 90, - "comment" : "removing integer", - "msg" : "313233343030", - "sig" : "301f021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 91, - "comment" : "lonely integer tag", - "msg" : "313233343030", - "sig" : "302002021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 92, - "comment" : "lonely integer tag", - "msg" : "313233343030", - "sig" : "301f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 93, - "comment" : "appending 0's to integer", - "msg" : "313233343030", - "sig" : "303f021e691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 94, - "comment" : "appending 0's to integer", - "msg" : "313233343030", - "sig" : "303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021f00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 95, - "comment" : "prepending 0's to integer", - "msg" : "313233343030", - "sig" : "303f021e0000691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 96, - "comment" : "prepending 0's to integer", - "msg" : "313233343030", - "sig" : "303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021f000000c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [ - "BER" - ] - }, - { - "tcId" : 97, - "comment" : "appending unused 0's to integer", - "msg" : "313233343030", - "sig" : "303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 98, - "comment" : "appending null value to integer", - "msg" : "313233343030", - "sig" : "303f021e691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0500021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 99, - "comment" : "appending null value to integer", - "msg" : "313233343030", - "sig" : "303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021f00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0500", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 100, - "comment" : "truncated length of integer", - "msg" : "313233343030", - "sig" : "30210281021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 101, - "comment" : "truncated length of integer", - "msg" : "313233343030", - "sig" : "3020021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0281", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 102, - "comment" : "Replacing integer with NULL", - "msg" : "313233343030", - "sig" : "30210500021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 103, - "comment" : "Replacing integer with NULL", - "msg" : "313233343030", - "sig" : "3020021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0500", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 104, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303d001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 105, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303d011c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 106, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303d031c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 107, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303d041c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 108, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303dff1c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 109, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 110, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab011d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 111, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab031d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 112, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab041d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 113, - "comment" : "changing tag value of integer", - "msg" : "313233343030", - "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92abff1d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 114, - "comment" : "dropping value of integer", - "msg" : "313233343030", - "sig" : "30210200021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 115, - "comment" : "dropping value of integer", - "msg" : "313233343030", - "sig" : "3020021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0200", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 116, - "comment" : "using composition for integer", - "msg" : "313233343030", - "sig" : "30412220020169021b1c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 117, - "comment" : "using composition for integer", - "msg" : "313233343030", - "sig" : "3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2221020100021cc6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 118, - "comment" : "modify first byte of integer", - "msg" : "313233343030", - "sig" : "303d021c6b1c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 119, - "comment" : "modify first byte of integer", - "msg" : "313233343030", - "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d02c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 120, - "comment" : "modify last byte of integer", - "msg" : "313233343030", - "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf922b021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 121, - "comment" : "modify last byte of integer", - "msg" : "313233343030", - "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbbae", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 122, - "comment" : "truncated integer", - "msg" : "313233343030", - "sig" : "303c021b691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 123, - "comment" : "truncated integer", - "msg" : "313233343030", - "sig" : "303c021b1c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 124, - "comment" : "truncated integer", - "msg" : "313233343030", - "sig" : "303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 125, - "comment" : "leading ff in integer", - "msg" : "313233343030", - "sig" : "303e021dff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 126, - "comment" : "leading ff in integer", - "msg" : "313233343030", - "sig" : "303e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021eff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 127, - "comment" : "replaced integer by infinity", - "msg" : "313233343030", - "sig" : "3022090180021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 128, - "comment" : "replaced integer by infinity", - "msg" : "313233343030", - "sig" : "3021021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab090180", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 129, - "comment" : "replacing integer with zero", - "msg" : "313233343030", - "sig" : "3022020100021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 130, - "comment" : "replacing integer with zero", - "msg" : "313233343030", - "sig" : "3021021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab020100", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 131, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303e021d01691c723dd6a7f5d11b8c8e8bd08173428bc48a2c3f031caaec3bbce8021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 132, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303e021dff691c723dd6a7f5d11b8c8e8bd08345fcca52a9b01748ca203383686e021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 133, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303d021c96e38dc229580a2ee47371742f7da36054f46611d4da0c9a70206d55021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 134, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303e021d0096e38dc229580a2ee47371742f7cba0335ad564fe8b735dfcc7c9792021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 135, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303e021dfe96e38dc229580a2ee47371742f7e8cbd743b75d3c0fce35513c44318021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 136, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303e021d01691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 137, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303e021d0096e38dc229580a2ee47371742f7da36054f46611d4da0c9a70206d55021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 138, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d01c6b899049859a01f5093eab0834104e71ff12bb612ad778fbda8e56b", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 139, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021cc6b899049859a01f5093eab08342d7a15e7f4b39eaf3250504f090f1", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 140, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021dff394766fb67a65fe0af6c154f7cbe11bbc0c7c488012fb1b59eb344d2", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 141, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021dfe394766fb67a65fe0af6c154f7cbefb18e00ed449ed52887042571a95", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 142, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d01c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 143, - "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group", - "msg" : "313233343030", - "sig" : "303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c394766fb67a65fe0af6c154f7cbe11bbc0c7c488012fb1b59eb344d2", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 144, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3006020100020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 145, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3006020100020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 146, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30060201000201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 147, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 148, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 149, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 150, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 151, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 152, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3008020100090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 153, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3006020100090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 154, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3006020101020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 155, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3006020101020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 156, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30060201010201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 157, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 158, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 159, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 160, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 161, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 162, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3008020101090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 163, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3006020101090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 164, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30060201ff020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 165, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30060201ff020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 166, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30060201ff0201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 167, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 168, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 169, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 170, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 171, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 172, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30080201ff090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 173, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "30060201ff090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 174, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 175, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 176, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 177, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 178, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 179, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 180, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 181, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 182, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 183, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 184, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 185, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 186, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c0201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 187, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 188, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 189, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 190, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 191, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 192, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 193, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 194, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 195, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 196, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e0201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 197, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 198, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 199, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 200, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 201, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 202, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 203, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 204, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 205, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 206, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000010201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 207, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 208, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 209, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 210, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 211, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 212, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3024021d00ffffffffffffffffffffffffffffffff000000000000000000000001090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 213, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 214, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020100", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 215, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020101", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 216, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000020201ff", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 217, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 218, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 219, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 220, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000001", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 221, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000002", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 222, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3024021d00ffffffffffffffffffffffffffffffff000000000000000000000002090380fe01", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 223, - "comment" : "Signature with special case values for r and s", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002090142", - "result" : "invalid", - "flags" : [ - "EdgeCase" - ] - }, - { - "tcId" : 224, - "comment" : "Signature encoding contains wrong types.", - "msg" : "313233343030", - "sig" : "30060201010c0130", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 225, - "comment" : "Signature encoding contains wrong types.", - "msg" : "313233343030", - "sig" : "30050201010c00", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 226, - "comment" : "Signature encoding contains wrong types.", - "msg" : "313233343030", - "sig" : "30090c0225730c03732573", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 227, - "comment" : "Signature encoding contains wrong types.", - "msg" : "313233343030", - "sig" : "30080201013003020100", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 228, - "comment" : "Signature encoding contains wrong types.", - "msg" : "313233343030", - "sig" : "3003020101", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 229, - "comment" : "Signature encoding contains wrong types.", - "msg" : "313233343030", - "sig" : "3006020101010100", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 230, - "comment" : "Edge case for Shamir multiplication", - "msg" : "3639313930", - "sig" : "303c021c326bc06353f7f9c9f77b8f4b55464e8619944e7879402cca572e041a021c221a25eb9cc8dd66fdf156b2f6ab601ab6d9c509247f8de5d2671a96", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 231, - "comment" : "special case hash", - "msg" : "33393439313934313732", - "sig" : "303c021c3b3008ed596b7fa276498def40d96b1eb2ffb731a44050ffb732e4e6021c6dbb08c56db737e9392ff4f3a54d8b806d70af226ecf413b3465de55", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 232, - "comment" : "special case hash", - "msg" : "35333637363431383737", - "sig" : "303d021d00d1fe269c3061e4b94604e8d612d70887068cc7d5232cd5a9b72923a1021c3c1cbc027d33fb2451d52dce3a828a8c7ecc490a28a94e5e5bb2c4d7", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 233, - "comment" : "special case hash", - "msg" : "35363731343831303935", - "sig" : "303d021c04586134cc679295dd93499311c4a8af37cb94dadbae18d8ee279b9b021d00bf9170a1b65b665664cf567d40a995ce252a23d6a9f962b05e364486", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 234, - "comment" : "special case hash", - "msg" : "3131323037313732393039", - "sig" : "303d021d00c1f51009b935b4773374364ec3eed72a24b70926e0349c77862f3475021c46df3d98f104ba6602f8041a5bf5495fb240e103d1bd17f2fa878923", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 235, - "comment" : "special case hash", - "msg" : "3131323938303334323336", - "sig" : "303e021d00e822242872f1ecf338a4f773df87b67e9b21bb283acac7d66b26551e021d0094d4e0fc3c6359994a6eaedddd1533f490f72ef85139f8d3b39cf07b", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 236, - "comment" : "special case hash", - "msg" : "39383736303239363833", - "sig" : "303c021c7fd45528eb7bfc3710e273c4468f0b50ebf93f94cd0e7a602a4929a6021c46613dd1ffd85df8d71f3498001721fda4982c27a1c291359b05b1b8", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 237, - "comment" : "special case hash", - "msg" : "3230323034323936353139", - "sig" : "303d021c36d137b69171a486933b50138d1db1842724766afd25c85b0032daf5021d008e700de21f2fc350a34c7cc19054cf371ecab6f7331ccecf68fca0f4", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 238, - "comment" : "special case hash", - "msg" : "31343531363639313830", - "sig" : "303e021d00da3b436908f5a82f26bc17a8577ad2a782946e3a7587b01d253b1dd0021d00a6544e38f24e8117370c049b5d1f6712ea14337a94511224df4496a3", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 239, - "comment" : "special case hash", - "msg" : "31303933363835393531", - "sig" : "303c021c4314a2bd139d47be3d9fd9ebdd72a06a220219c7596b944178ee6f5f021c0e6f1d2f57c699654e9c705d7b8fa3c1ccb0f939f6368bed246b2e10", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 240, - "comment" : "special case hash", - "msg" : "36323139353630323031", - "sig" : "303d021c6a25643464682679d84970c603927f4a8ca83e7ef9715dd1ed84c28f021d00932b78d165c225a5253e6201c0b1ded0898ba24de44b23233eb78054", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 241, - "comment" : "special case hash", - "msg" : "35363832343734333033", - "sig" : "303c021c476aaa58677d9e60477cffd026c43248e2cf3cc21e8fdccb75ceefad021c7799fc7af8f9b929203faf899bb5ca1aecf2492555157282dfde790d", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 242, - "comment" : "special case hash", - "msg" : "33373336353331373836", - "sig" : "303d021c63a98614a1421e2ebb278de53b61618bafc757122647affd358c667a021d008edba806e0a7e438ca35f98405a8ad2d5c3e8cc2d5c4384233aef0a5", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 243, - "comment" : "special case hash", - "msg" : "34373935393033373932", - "sig" : "303e021d00880b5238a014f8b44655b83c175880eb1e8307899a824ea3e07dbd6d021d00a4724c8649fd74e5bc8d7fe6a9067a1376fb8e08dbdaed68980b0f50", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 244, - "comment" : "special case hash", - "msg" : "39333939363131303037", - "sig" : "303e021d00f8743588234634dd9891f4f2f40f4e46b77f97b82dc5dbe234aa6b5d021d0080656e5262bc25e158f3b78f51ae0d6a41cc8cca1aa457221b2eb7fb", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 245, - "comment" : "special case hash", - "msg" : "31303837343931313835", - "sig" : "303d021c2a2357e3d8fe34434582be4dabd58b77b388d1d52adcc664f45dece4021d0094be3a369b7c2788df4587ec5bd4163c4cbc40b77de1a85e8bcfb251", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 246, - "comment" : "special case hash", - "msg" : "33323336363738353030", - "sig" : "303d021d00b6b0c0aba6c611300ecad8816242c415f183a2bd4d46cd7769033d9b021c7750b24be02f22dc0b656fe4af377413f9453dff99226915dbb6e08f", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 247, - "comment" : "special case hash", - "msg" : "31343438393937373033", - "sig" : "303d021d00a5c1a75c2779f3eb83a65e295927cce4288e9d5c2132a4c7ca92526e021c10fe30f0be33a785385137b57d806140a402b9bd3c1df1b57de6da63", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 248, - "comment" : "special case hash", - "msg" : "35373134363332383037", - "sig" : "303d021d00b92b5521d1a7abe77e8524dbd3001121cf83c08017e3917bc58b5d1c021c224b113779017f6a522171edf930f1b5d4f5e7dedc6d2d514fd7883c", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 249, - "comment" : "special case hash", - "msg" : "323236343837343932", - "sig" : "303e021d00ebd3ecf3aa64cdcdd171585a141a4a673a8d5de0ca087dfcdf62432e021d00e0f1a0f7b8f5ac4a42632f87156ad1094079393b03f2051a9fd60249", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 250, - "comment" : "special case hash", - "msg" : "35333533343439343739", - "sig" : "303d021c6c3854297e1f267b64a28e0cd6148e0fadcf85bc8d5c23947543bcb8021d00aa0594ee11312f5d4767d296e5ca83df68072811f81a8d27e178ca5d", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 251, - "comment" : "special case hash", - "msg" : "34373837333033383830", - "sig" : "303c021c785ac8c956d7797ae67498775b3c446c41735eb15f3430b49f6a09f2021c5710879ab83994e809c8d2cbd6f2ac5c205b4b8d6226e98be03e7967", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 252, - "comment" : "special case hash", - "msg" : "32323332313935383233", - "sig" : "303e021d00f1f3d016693125ba73981c8f9a1748e5dce1d9634355f26fa536190e021d00b574e97def60dcd0e9177106483791b2edb4ab0342b9f5ebb957d5b0", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 253, - "comment" : "special case hash", - "msg" : "3130373339333931393137", - "sig" : "303e021d00e64f3371522cb1a5f0d1511b152b20e01deca0b3284786853cac279a021d00c9a2e5f4ffde22b9d4ed0179ce74fff408ea918dda7685c7980ae61a", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 254, - "comment" : "special case hash", - "msg" : "31383831303237333135", - "sig" : "303d021c1f99dd6ef72feeeda6c123baa4fabb126d7dedb64130fae3f4230797021d00e441ec51dca6271b043e95753c4043d7cb4e76fdc13d6aea45fbf243", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 255, - "comment" : "special case hash", - "msg" : "36303631363933393037", - "sig" : "303d021d008637a09627c52766bf96f0b6cea6f2ac3eb303001c5f6fe6d628e4ba021c10b66c599455d40077bb865ed43e2c2cc403473baa6d63b16be48c84", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 256, - "comment" : "special case hash", - "msg" : "38383935323237303934", - "sig" : "303c021c52a010a23e4f9ebb459bbe9f3057e6c19761fb99d25c9b16b8f007d8021c526dc1f34444de00447ba23c76950f2c159579d548b6335d127ea321", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 257, - "comment" : "special case hash", - "msg" : "31353830323334303934", - "sig" : "303d021d00fc49caaada528f3357e5a264f2e7f970ca1b15ca5fee28741d1202ac021c175e884d10d0bfd20b39311ce2c53083da167d1f3dfeb990e59ed628", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 258, - "comment" : "special case hash", - "msg" : "33393635393931353132", - "sig" : "303d021d00d95d539a85c9edacd4e02ede27b0e0b737099612d166c637c83a9f34021c59936a2b90b7f3f3da83f64dec8e347a3bfa57baadf9acea18c071d8", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 259, - "comment" : "special case hash", - "msg" : "32323838373332313938", - "sig" : "303c021c1895e65593d71e5635cce022dda19bd155bb9a7f2e307e5ce9127ade021c121b487c320c544dcdd471d46fcde2ce5dc9d17fda70544c4eab50a2", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 260, - "comment" : "special case hash", - "msg" : "32323330383837333139", - "sig" : "303d021d00b5f4c85b13b51a5da81a236f1105937f3d98856d2aeb57101b6b499c021c3be74ae770fa6467f76a742eb9e504a815a4a60e74b38bcaa89f9b06", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 261, - "comment" : "special case hash", - "msg" : "313239303536393337", - "sig" : "303c021c07a57197667a0c40423d4811ff96384c9330467e8a28eaa4c0d519f4021c011062c8694494baaed24ff610e1e4227efb59a163c33fafd40100f9", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 262, - "comment" : "special case hash", - "msg" : "32373438363536343338", - "sig" : "303c021b7f718615ba1d0a9d27a8c5a678a6225ffe1233ed8b417c9343b310021d00cf6a87e4496725c6a2612f4034ddf4b31c7435e2fc3a163e92d463ba", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 263, - "comment" : "special case hash", - "msg" : "37353833353032363034", - "sig" : "303e021d00ba8f95a4363c493a9f78bb61dbefaa9587d028bb8344420de2b0cf21021d00b3798c2d6e27a2591c2edc18320b78bf11df194b11b3fb498c595232", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 264, - "comment" : "special case hash", - "msg" : "32333237373534323739", - "sig" : "303c021c596b74077801db2e889d3b2aaa3990fe180abc152d48528385ca955d021c38bffd416f779843fad389750003eb0708112a4834c554f476a3e0d1", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 265, - "comment" : "special case hash", - "msg" : "373735353038353834", - "sig" : "303d021d008547f62967523a06c9690e5ff66c3f2254cda28f09ffccc222433d39021c3d9ebf664ee551bb7b33157d6c6c5fd456bda3d4ae460215ec1a5f94", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 266, - "comment" : "special case hash", - "msg" : "3137393832363438333832", - "sig" : "303d021d0090ee3fab9c6ce373a1b35fc135fe878280ee25e58a4bd7529e91b4f0021c6451e7526505b44e88472b46eda3fd2679824dcdfc445e67f35ea382", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 267, - "comment" : "special case hash", - "msg" : "32333936373737333635", - "sig" : "303c021c0a530530b6a9238d2d1a3cf468986c87f3b208f61ea0486d53140c17021c5f027a73f31a5cc2bee81ff0019477c542fd782ecde0e551fcd37e93", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 268, - "comment" : "special case hash", - "msg" : "35393938313035383031", - "sig" : "303e021d00beab4abd23df5e2acfff07c82e245dfa7d587d0238c2c9ab9c88a96a021d0098c6507635536840edf604f9baae6408ce4d3fbee694db3abd825011", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 269, - "comment" : "special case hash", - "msg" : "3136363737383237303537", - "sig" : "303d021c3ec8c36335cb98fa07b983c35b7fc256f44a5aa192d6087595145a15021d00c32b7a47ac6271f4593562bbbf91f9e07395a5e4d46970495cf29f05", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 270, - "comment" : "special case hash", - "msg" : "323036323134333632", - "sig" : "303d021d00bd635a741f1f2a1d9ac1698baf5cfc491d5e3f8e15f1cacbe4ffe4dc021c4bb606cf7cc11d0d7d96b83966f42276095ccc445882ed5afddabf1e", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 271, - "comment" : "special case hash", - "msg" : "36383432343936303435", - "sig" : "303d021d00812c08622c0a09d949b7628585c4f4f2db4c5591b5da148ff46d5cd4021c2104f9bc9d0079acb3077d2db58f388119500c5322cb9b5389b5c5d7", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 272, - "comment" : "special case hash", - "msg" : "33323639383937333231", - "sig" : "303e021d00fa4e1c8b0006f269c855eb495fa3a113f643fa8b1fef2b08ab145994021d00fe85b8b522c7f9e8943e0f62643395bd1fcdabc892c315d108b75f65", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 273, - "comment" : "special case hash", - "msg" : "31333837333234363932", - "sig" : "303e021d008c1d9b7911bacb6b4a09582648b992d46a1832eb006178c0c77fcb10021d00becbe12b99f243766da5bdad07461b9226a8298672b4f1adb35357ef", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 274, - "comment" : "special case hash", - "msg" : "34313138383837353336", - "sig" : "303c021c78850a40530aa258e478e7c547d3a5e4944d3524f1676443e4dfb37d021c687058e1ca478f52a30c9a3f8e2eea9d8c40599cd47ef66b9430d17d", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 275, - "comment" : "special case hash", - "msg" : "393838363036353435", - "sig" : "303c021c066e7268a6abefe1b4b916ca51c3e958e40dc78c3661313e0ed2e77d021c6404d8a332a837f2ab6bd13e3ee4aad1e9307d449e7f9b7d6332030c", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 276, - "comment" : "special case hash", - "msg" : "32343739313135383435", - "sig" : "303c021c4eca73709a67c41603ca5af494c8132483ffc2e0bf171b52de5a5e81021c2c79137cd2add3ce3a76792270e347221a3ad786eafc2682b39bcf95", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 277, - "comment" : "special case hash", - "msg" : "35303736383837333637", - "sig" : "303d021c0178512f8844984222393a63263e0a009601869e632f07eb7470aa05021d00e32657cded1122cee0a4f66ff50a32da1f05de4c5e217acdf5eb6fe2", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 278, - "comment" : "special case hash", - "msg" : "393838353036393637", - "sig" : "303d021d00e2c7bf1222ca23a56492873c2d3fa6c7030cc166d693142dcea272b6021c715a4c82fda4404217dea6c0bbf3ac24f8faa2b435fbc6d51a32c4a8", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 279, - "comment" : "special case hash", - "msg" : "32373231333036313331", - "sig" : "303c021c49886a8c26c91d649cbfecda6ce8d1441e764c66f5d81dceedb6c5ba021c4370d8bcd4f052fac9491d62850b6a6a85d5acc44d9248c3dff30bf2", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 280, - "comment" : "special case hash", - "msg" : "33323034313031363535", - "sig" : "303e021d00e1ae225e1aeca40747ff3e7ad1f75eb9bc90d637160a7f58ce12e591021d00b97cbea3a9323110315760b7e2ede496514b30f0eec521ffeb07a634", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 281, - "comment" : "special case hash", - "msg" : "33313530363830393530", - "sig" : "303d021d008a93b87b46512544fb9a7af5c41e3aa72e40235ef87ccb7108daae48021c157db617ac697df407af7a11626c52a1af7ef189514da39918c43010", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 282, - "comment" : "special case hash", - "msg" : "31373237343630313033", - "sig" : "303e021d00ebdebe6388b9f460fce6d84faa67ded1e864ef09e77ea3ce58a5deff021d00be5052033eb40380c2b1325fe97dcc55841e147a89f02a296b4505ef", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 283, - "comment" : "special case hash", - "msg" : "3134353731343631323235", - "sig" : "303e021d00e85d0667972d003c82afb9e18b702357119b4f38401a5ebdfcbea88c021d00eb7b3e5268a4ce6280f72d7e9a3d74e5cac50b1c3a5296cdb5a49d82", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 284, - "comment" : "special case hash", - "msg" : "34313739353136303930", - "sig" : "303c021c3d243581c0874fd4eb4d80f896c5067429ad455314881951ab5ec6e3021c0ec47aba08ccba88c1a6ddc289f595bda08dc2dd34d12dcefb68094d", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 285, - "comment" : "special case hash", - "msg" : "35383932373133303534", - "sig" : "303d021c75c966bbdcef9157d47a134231229f9f5ee8ce458775fc747d4509bd021d00e344fa716e2088d95a55d02a978a416da10f22a5cccf35a2863227cf", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 286, - "comment" : "special case hash", - "msg" : "33383936313832323937", - "sig" : "303e021d00cfdf599e986d770b73784d97149f9945fd16d22c302bb796156e7fb4021d00c6409785047b0083f008771b40db8502583208b61c8984671acb0929", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 287, - "comment" : "special case hash", - "msg" : "38323833333436373332", - "sig" : "303e021d00c53c4aeec8f2e7a5cc0e885a6031aa1a6c1b7b7fec83b5084cbe291f021d00b0e6d10a8fd86f958c3b0f4662ed8ca0d6eadbc892aac4200fcf8315", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 288, - "comment" : "special case hash", - "msg" : "33333636393734383931", - "sig" : "303d021c2386550d6e75350bcc32507bfc9beb9c26d72ff82f671c1f5282e98b021d00a55b8de808c4359fb529b80a80d9fc6eddb5ce08082c3b677c689991", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 289, - "comment" : "special case hash", - "msg" : "32313939313533323239", - "sig" : "303d021c1fbd192d955ce02b64a3be5bb21bef22b53a6c6f9576d8f889b09e4e021d00f5a9b673a4ee5aabf1ca8e8289f25b62a3e08b956f7418c03e2d3031", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 290, - "comment" : "special case hash", - "msg" : "35363030333136383232", - "sig" : "303d021d00b80ffba451db9fc2194e450bdd43bc0f53a7d0f4a78900c09fb8d9bc021c0124eeeab9035b6c845959e70b04d1e187d554807d6751afabcc1802", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 291, - "comment" : "special case hash", - "msg" : "383639363531363935", - "sig" : "303c021c187fb026ade3ad16dd4b2813e8ebda433cb6cc3af1615bedf486a9e2021c6fbee53fa884d296f34f7719f74919434d1b7090c485eeed2fb8fd6c", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 292, - "comment" : "special case hash", - "msg" : "36353833393236333732", - "sig" : "303d021d00e598a16fe12da79e9814f6985c9a9334010f287dc9e38de857ca5fc0021c19e0ed54f0e08ad091a163b4c7b86d0634da2c86a7a8991f5d8706d8", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 293, - "comment" : "special case hash", - "msg" : "3133323035303135373235", - "sig" : "303d021d00b31a10480e397c8aa46f52a0f2fb5c22ebc0534fba156718b50cf6ea021c602004df4b47a2065130ca3b05f1eb02d0b37b79b04b1eb799408346", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 294, - "comment" : "special case hash", - "msg" : "35303835333330373931", - "sig" : "303e021d00bc47e242d19dcc6321913980d73923e430bc6623d219529d586619b6021d0081397dd2f52811b534ed754a937d904f04a7de278fa3bc8926de6946", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 295, - "comment" : "special case hash", - "msg" : "37383636383133313139", - "sig" : "303c021c5be0e0dfb26b1caa88f866504aa8e76f035a82abe00028d962bcfafa021c3c3c1df06026123471bed324ca79c51b28b3d10b1ce877cef21b852d", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 296, - "comment" : "special case hash", - "msg" : "32303832353339343239", - "sig" : "303e021d00fe79d0cfe455724792cb5ab0580ad4f2918c1403ec12f0bdd2ce6528021d00f1357cd4afc402994ab868b0163f41701e0f00e561fdd97e0db6f7b9", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 297, - "comment" : "special case hash", - "msg" : "3130303635393536363937", - "sig" : "303d021c1858c5d857124cd703e7c2f5e99d5025d6d979539c6f50b1d00fbd34021d00d94a5adb6d9c5001162620415541d49334fb929bc86a350ca4591195", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 298, - "comment" : "special case hash", - "msg" : "33303234313831363034", - "sig" : "303e021d00e6b2ec967cfa25f57234b9ef1d87c5945502cbbd5831c862f00774d1021d00caea26368bffc8e562b2bd03aa6c9dc41c529659fefe6597fce9cd9c", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 299, - "comment" : "special case hash", - "msg" : "37373637383532383734", - "sig" : "303d021d00a59b438b2472074a93a289b33f5b13e604977dd3ab4d744d08e1061b021c699574a17dc8c7298c9321ca78552e5128ea801d056f387ba42f7a09", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 300, - "comment" : "special case hash", - "msg" : "353434313939393734", - "sig" : "303d021c748481709c6882c4a130193834a57f4bc714906211ec6cc12c400dff021d00eec6c9d5a06786f821a8117eec3dc025ed3ac74e39e98a16a4aa285c", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 301, - "comment" : "special case hash", - "msg" : "35383433343830333931", - "sig" : "303e021d00bc8991b506997403e123136a9c140a4336364733b0815f40d1dbd5fe021d00819503ea3b4c07fc157f948f6949705d560a881fc1c6af4b7391765c", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 302, - "comment" : "special case hash", - "msg" : "373138383932363239", - "sig" : "303c021c1caece75c8e31bb0c5cceb0842f23683b8557a97036574ea88ceeabd021c645ad3276aaee22b693647f00dce5f91a03b678b789b667cd3b8e751", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 303, - "comment" : "special case hash", - "msg" : "31373433323233343433", - "sig" : "303c021c3a7d582068aaecaba945203bc445b3312e5cb40886522987aced68d0021c39b3c612b6743a13bb2ffb83514d690cfcb9a7055e3a993cb0863938", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 304, - "comment" : "special case hash", - "msg" : "32343036303035393336", - "sig" : "303e021d00f773c49fd0645716d16e559e22c39101df266cdfa7cb61ce46f85280021d00df6109fd77a241031cf03b376e001d8a3cd2a6b646edbf9e578133f1", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 305, - "comment" : "special case hash", - "msg" : "31363134303336393838", - "sig" : "303c021c79cf893f66f7faa5ca08553ea03456107e7bb391a5e51260cedaea84021c32e8e3509468da7216c59975d4f3d5493848a03f864b2332044e68d1", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 306, - "comment" : "special case hash", - "msg" : "32303935343235363835", - "sig" : "303d021c025ecd1a7ab765fbfd25a6d7cd3c461e17f465e6958bce9f492b7a5a021d00a1ca95038603d302761e416935acbd6b716a316c9b79c57d4053cb79", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 307, - "comment" : "special case hash", - "msg" : "31303038303938393833", - "sig" : "303d021c3d14a4c21ba4dbd338fdd8b15fcdd0a9228f157cfaf2b09dd4f2aa67021d00e1640e8bd2a6110dc18d6f290b7325814710c0dc88b76f127c5e9e21", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 308, - "comment" : "special case hash", - "msg" : "31353734313437393237", - "sig" : "303c021c258dce916ef78b9d8a87beaf6edd35bcccc08c5de488586e1b7b749a021c4ff500db4d665c7062179c099b2985a814f99fbfa44a3a709024d589", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 309, - "comment" : "special case hash", - "msg" : "32383636373731353232", - "sig" : "303e021d00cecf0aec5357749f357c459575298a3384dc4ac381438ff99acd9993021d00da7adb092a6890e0918c235a62d4a949b0cae5e57856975108fb2b91", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 310, - "comment" : "special case hash", - "msg" : "31363934323830373837", - "sig" : "303d021d00d77f2e547fd68d5db314901da1ff7ecaf3d0c17ec047a974a7cec33e021c443a97afdf882272bf0233c8c4a8d23c9352ad89b1770c26240f6650", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 311, - "comment" : "special case hash", - "msg" : "39393231363932353638", - "sig" : "303e021d00d5dcf93e6e1b93323ea2642d3405a7423cb04f59c03420193f394886021d00ddd5842e4928ee4b5d77d43d4a4bfc7f991c899727b75fc941b52995", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 312, - "comment" : "special case hash", - "msg" : "3131363039343339373938", - "sig" : "303d021d00a9bc3ebc6ee34421326711ce29518d02bd403ead806a3e4502efa0ce021c12610b89a61689a8eb6e062d2524278155fe499ffecc0e0d940d48a7", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 313, - "comment" : "special case hash", - "msg" : "37313836313632313030", - "sig" : "303e021d00c703c508784ef71b596dcd61c5b01b45c6c69d2b36a5a3b7701e5976021d00f05444a777204118f3ac2afc92d0212831bf7002158e7c656f4c07db", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 314, - "comment" : "special case hash", - "msg" : "33323934333437313737", - "sig" : "303e021d0080674b740b64d383677c049a6f4baeb214f4a6b5933033853e634578021d009b3a804c75ed790e31966bc25730b7428af8c73c65fb503c06c597eb", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 315, - "comment" : "special case hash", - "msg" : "3138353134343535313230", - "sig" : "303c021c7ed658c30f4a0dcc894c39f9320f59a185509ffee45eac6023577c7c021c47ac94a501806d5adffea9fcf3ccd8cf79f3cc47eca9fe38fc4886b4", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 316, - "comment" : "special case hash", - "msg" : "343736303433393330", - "sig" : "303d021c397f669cc399a91da96c16efd233f6fe60d1b7caa397cc257843b30b021d00f19375fe66eae4738ec9dc5b7ef51cb33d4cb258f36944d37dd245cb", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 317, - "comment" : "special case hash", - "msg" : "32353637333738373431", - "sig" : "303c021c537ec369b3f0d891e166f6c74e5d73dd2c4822210c5fe5f978c34072021c0b183c48b5f6e69245cb76e1e2c39663eedfb74ba9538739ac495ff5", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 318, - "comment" : "special case hash", - "msg" : "35373339393334393935", - "sig" : "303d021d00d0ed7159cc3a79988f3c279287ca8ed10bb8f02c8b5a6204aead1223021c75ee1e5c00e81899bfa8545edcc64fdf707dae1f61d976d2f0883777", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 319, - "comment" : "special case hash", - "msg" : "33343738333636313339", - "sig" : "303e021d00cf43329a9781db8044a920758e58399866fe7748c0f5d6a3bcdcbcbd021d00d9740d2dd716290ad4160345bcd4af03af01c44b610b1e5953199075", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 320, - "comment" : "special case hash", - "msg" : "363439303532363032", - "sig" : "303e021d008ab2e92c8c9143f9d8da3bdb1d935cce3ab60ae99b3ccfe863b15d14021d0088c89302e8a9c591c6ed16b1ae46f966004d0b2685449842e291d742", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 321, - "comment" : "special case hash", - "msg" : "34373633383837343936", - "sig" : "303d021c04f60f8450b448198cf7981116de06d4c4888cd26be3a5947092238f021d00cb23fcb33c14f089c2ae030146d68fa65eb9b086fa792f95be8ecf35", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 322, - "comment" : "special case hash", - "msg" : "353739303230303830", - "sig" : "303e021d00f270f7a70a96a0f916c7530c6dea7178e6c087ddbcc60aacd8a7c553021d008b2c378554121365a180ad4edf1a12e566ba55eeabf525356783e603", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 323, - "comment" : "special case hash", - "msg" : "35333434373837383438", - "sig" : "303e021d0085ad01b236ca4a5451969242e16165d322428235a2af8fdcd6c4c7b9021d008eb2998c5e0aaf279793caff59a266ca2068d94ebf77bae81fd0fb6a", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 324, - "comment" : "special case hash", - "msg" : "3139323636343130393230", - "sig" : "303d021d00cffdb8d64b5b84b490ff73d77e51cc7797bf67c5ee0a4999def17230021c3baf4b34e1a35e9606a460b395063a554264a9c43cc302ab5abf473e", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 325, - "comment" : "special case hash", - "msg" : "33373033393135373035", - "sig" : "303c021c66cda58a5a6ddb9476e36dbad5df542be88d7e447bdc3dfe1d9e8b2c021c0d99d387486a964ebab4e29bad583e46a5a200391d1065768a4e35fd", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 326, - "comment" : "special case hash", - "msg" : "3831353435373730", - "sig" : "303c021c3200761902825bd353908accd2be6b482645646971f96dc490706a37021c3ed77899efdbe418370fa7998df3b7c924bed6864535277f805c894f", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 327, - "comment" : "special case hash", - "msg" : "313935353330333737", - "sig" : "303e021d00ba0eff0ee46aa9fca5ab8ad64aee4037931d3ad0b953d404ef9f7bdc021d00afdf21df0dcbe39c2f5fa9ef7e1a2bca87d1213d1eca438929ad8982", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 328, - "comment" : "special case hash", - "msg" : "31323637383130393033", - "sig" : "303e021d00a20c6883fc6ec1ca4bb378ac88ed670a742a6284113d5fa3182a1858021d00e0a73b913b94163175d264224cc70736f2fb8e8d58e914b18c921323", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 329, - "comment" : "special case hash", - "msg" : "3131313830373230383135", - "sig" : "303e021d00f2f4af956b0c5409949d377e9bc68e4f1abef7969b518f8beacf27db021d00df3a7b5993d2393ade70a2cfc1e8671a78ca4fecb56425a661a2d2fc", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 330, - "comment" : "special case hash", - "msg" : "38333831383639323930", - "sig" : "303c021c331a1a553494f8524adb4e8a722d558965fb703ae432bf3cbdb255c2021c5ab6e3dee6a2516fc4e0ac88e6dfc81d2bc37c98949cc03e521d389d", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 331, - "comment" : "special case hash", - "msg" : "33313331323837323737", - "sig" : "303e021d00867135558e06e19796ebce8e3555c607a6607d46f7c8da6b8552ffc1021d008e827e8b9a4f74efeec7d7ba5c23428fde0227df55a1efc179a353b1", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 332, - "comment" : "special case hash", - "msg" : "3134333331393236353338", - "sig" : "303d021c6746903ca095bfd3f6378a70092723483ca190b2392d8b1ad337969f021d00f33bfae0835c23a80ec9f33ce9a9035c192836a0b2fadd347d803f96", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 333, - "comment" : "special case hash", - "msg" : "333434393038323336", - "sig" : "303d021c7fc0d8739ecfe349e506e71203a6e60e628a1bb0c67d5e574cb8831c021d00cf8bb1557152c57550a0fde6571456fa752782f7f92f7bb235dde39f", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 334, - "comment" : "special case hash", - "msg" : "36383239383335393239", - "sig" : "303e021d00b4486e3139e0b1542892db3d3f51b0524894e19cb00cd07b03ee9c97021d00ad9728d77a8b7b4fa435b3345847860c332d65d8152aa6503ab18755", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 335, - "comment" : "special case hash", - "msg" : "33343435313538303233", - "sig" : "303e021d00afbbdc8e50e801ecbd2e3705079717f4f9d69f3b3d85215aeecb4fbc021d00eceadd4e2cc9cea10b56d16a03fa551fec3eb808bd8d9f0926d14ed3", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 336, - "comment" : "special case hash", - "msg" : "3132363937393837363434", - "sig" : "303d021c4a762f7d146f9eafff5ad11a6978260c818b801c3488dd60411f5cf6021d009ea77512585620ef2cfae8b8c9d8171229a32197e1949561bb75a049", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 337, - "comment" : "special case hash", - "msg" : "333939323432353533", - "sig" : "303d021c227fe52b579833feee16c287d29273e2256df68aff0b94d2752d877b021d00bd79935e5faa8e9356622fea0135ecf796daf60333d5ab125f71e512", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 338, - "comment" : "special case hash", - "msg" : "31363031393737393737", - "sig" : "303e021d00cd5365983eb165db39ba0c66c3a45b2ce1370c9ad14a9aa76dd4633a021d00a8c77ce42ab1c888a6b5d04b71139fd882328622e15e80252e5cf7da", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 339, - "comment" : "special case hash", - "msg" : "3130383738373535313435", - "sig" : "303c021c54d6d44373f7dfc98455a22cd39a0b320fabc33215216b37365b5a16021c29cc690f2467c02e07bc416ad47204975af8c5c3346973f2b03ded3d", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 340, - "comment" : "special case hash", - "msg" : "37303034323532393939", - "sig" : "303c021c2f5048c9ef9f30da7cb3fe4624552200f9e57a46d79db0484a0d9cf2021c06dad3a4682725852869a1a459bec865661e1a38a9e546eeaac7cb84", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 341, - "comment" : "special case hash", - "msg" : "31353635333235323833", - "sig" : "303e021d00abbf0a02332fbea779899d31d3abd2d22c9c02d4058ced639bf06c45021d00cce0570f3812e5cfcb23376c554c7fc35dbcfeb623a7958c664ac6a4", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 342, - "comment" : "special case hash", - "msg" : "3233383236333432333530", - "sig" : "303d021c1c30cb8bc21087b77eb1216ee8629e3676d925f1ae15077cc631da4f021d00ee998157bdefb77d1044e983a6afec7d91a23d95c937fc5c6548c989", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 343, - "comment" : "special case hash", - "msg" : "31343437383437303635", - "sig" : "303c021c43ee11a7ab62e2125e765c2ce5d4f84704183539810512268d87f195021c65897e54025777659ee802b39c6bfd5ccc5706a9d1b38f95c078abaf", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 344, - "comment" : "special case hash", - "msg" : "3134323630323035353434", - "sig" : "303e021d00a1fe3f4d3f43aaa3dcafa79ed99fbc045c11c352caacd89f0f63847e021d00ca2e37bd2c13b9fb3f8a55b7a67eb034240395abd39fecde75141336", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 345, - "comment" : "special case hash", - "msg" : "31393933383335323835", - "sig" : "303e021d00bd290286ca08485ea4137010c67203c2455e7b669d153c6be40087c7021d0097dd7502ba3637f33baea5b2398647ad24c0fe35072bd963149b5aa0", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 346, - "comment" : "special case hash", - "msg" : "34323932313533353233", - "sig" : "303e021d00c917269a5a4ce80b7fe54a8bed49326b50527a4d2fb0a3093182b5a5021d00a195ec0e69e3172e854e87dd651b44433fcd7dcbb7bd59515d2afe8e", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 347, - "comment" : "special case hash", - "msg" : "34343539393031343936", - "sig" : "303c021c0b7b5aab8364dd4b11001a0b986d5aa4fb61ee720237417a7f63722f021c7f13b411e645e819fed1b925ebe807d9560b44d0ba1b75bd2fbd1294", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 348, - "comment" : "special case hash", - "msg" : "31333933393731313731", - "sig" : "303c021c505b974f8ecf07b60ffdbd2b2df9324de92b39476eb763a4c25f126a021c1c36ed1dee772c724205f717c383f49a87a5bc3caa0ef81360f9d800", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 349, - "comment" : "special case hash", - "msg" : "32333930363936343935", - "sig" : "303d021c24219e49b98a9b64e56d21c908c870eb88b447d9f1ddb735083d6df2021d00bc4d7644faeff1e134443b2bb3bb2a20e2a4a7c193180626127ce937", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 350, - "comment" : "special case hash", - "msg" : "3131343436303536323634", - "sig" : "303d021c083246081cf2f8c5e1cd42b60450fc6cac3b0ab03d38bdd271cd7370021d008d117ec32dbf939394499f7dbc2ab77290e9222d6d60ea02ce45c58a", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 351, - "comment" : "special case hash", - "msg" : "363835303034373530", - "sig" : "303c021c24916961dd0d168c2878ca4fd065b81311c03b7f23f8416f4a23b14b021c1e37e3c03b2333b33bbb2ebe05b031042af19315adfdccdfc8d078ee", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 352, - "comment" : "special case hash", - "msg" : "3232323035333630363139", - "sig" : "303e021d008df5468b123b92477a5c57ea86c54c5c9e41d119370dc18922aa8303021d0086bdf06b75f4d49d02c5806926f5d01b1a4f6a8146664a03fa820772", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 353, - "comment" : "special case hash", - "msg" : "36323135363635313234", - "sig" : "303d021d00f65bf16f7ced97b0cdc22b08c62ef811306813134b001bc51140e828021c3a9b7c008cdaf803368df9ee50e274c7a9f9369344d9918e0c08dba9", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 354, - "comment" : "Signature generated without truncating the hash", - "msg" : "313233343030", - "sig" : "303c021c6239877430e268f1a3ada2c90357247c6ca6687f49023bed0fb5b597021c355c60c09f0dacb9d74b7ccde71806c50fda8750c6ecb7abba910ac7", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "044408e5c95e332ab6c2823a63959391d60a6d69c59eb1f7bd272206b9f5278e901fb4773aeeb2d8255ba4df3cf3db7e0557dbc6134c55f3a6", - "wx" : "4408e5c95e332ab6c2823a63959391d60a6d69c59eb1f7bd272206b9", - "wy" : "00f5278e901fb4773aeeb2d8255ba4df3cf3db7e0557dbc6134c55f3a6" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00044408e5c95e332ab6c2823a63959391d60a6d69c59eb1f7bd272206b9f5278e901fb4773aeeb2d8255ba4df3cf3db7e0557dbc6134c55f3a6", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAERAjlyV4zKrbCgjpjlZOR1gptacWesfe9\nJyIGufUnjpAftHc67rLYJVuk3zzz234FV9vGE0xV86Y=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 355, - "comment" : "k*G has a large x-coordinate", - "msg" : "313233343030", - "sig" : "3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 356, - "comment" : "r too large", - "msg" : "313233343030", - "sig" : "303e021d00fffffffffffffffffffffffffffffffefffffffffffffffffffffffe021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04315a83008dba00b351c3f9fca0811c3ae1884fa9a2a75e6d5e71f269504bbe6a25be253b582efab4b8b9e61372767a7a3a423c0943127296", - "wx" : "315a83008dba00b351c3f9fca0811c3ae1884fa9a2a75e6d5e71f269", - "wy" : "504bbe6a25be253b582efab4b8b9e61372767a7a3a423c0943127296" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004315a83008dba00b351c3f9fca0811c3ae1884fa9a2a75e6d5e71f269504bbe6a25be253b582efab4b8b9e61372767a7a3a423c0943127296", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEMVqDAI26ALNRw/n8oIEcOuGIT6mip15t\nXnHyaVBLvmolviU7WC76tLi55hNydnp6OkI8CUMScpY=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 357, - "comment" : "r,s are large", - "msg" : "313233343030", - "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "042f6983b6e9f8ef96c2d981f69be54b06591ed73fe40c8a546b936a7971bf57726c26c811d7625a9d851951c1fffe236b0eb3b896bc4c98ef", - "wx" : "2f6983b6e9f8ef96c2d981f69be54b06591ed73fe40c8a546b936a79", - "wy" : "71bf57726c26c811d7625a9d851951c1fffe236b0eb3b896bc4c98ef" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00042f6983b6e9f8ef96c2d981f69be54b06591ed73fe40c8a546b936a7971bf57726c26c811d7625a9d851951c1fffe236b0eb3b896bc4c98ef", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEL2mDtun475bC2YH2m+VLBlke1z/kDIpU\na5NqeXG/V3JsJsgR12JanYUZUcH//iNrDrO4lrxMmO8=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 358, - "comment" : "r and s^-1 have a large Hamming weight", - "msg" : "313233343030", - "sig" : "303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c3d5052691b8dc89debad360466f2a39e82e8ae2aefb77c3c92ad7cd1", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04d1f515971cc9391153569c2befa1f915e2931110757760ebd7e61f8641c3db8beea20b13205389dcc4ba8a6af4d6da2604cacd7184ec9dbc", - "wx" : "00d1f515971cc9391153569c2befa1f915e2931110757760ebd7e61f86", - "wy" : "41c3db8beea20b13205389dcc4ba8a6af4d6da2604cacd7184ec9dbc" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d1f515971cc9391153569c2befa1f915e2931110757760ebd7e61f8641c3db8beea20b13205389dcc4ba8a6af4d6da2604cacd7184ec9dbc", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE0fUVlxzJORFTVpwr76H5FeKTERB1d2Dr\n1+YfhkHD24vuogsTIFOJ3MS6imr01tomBMrNcYTsnbw=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 359, - "comment" : "r and s^-1 have a large Hamming weight", - "msg" : "313233343030", - "sig" : "303d021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021d00bf19ab4d3ebf5a1a49d765909308daa88c2b7be3969db552ea30562b", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04e8f90a717714f0158d9521f18c14ae8c83bf1eeba115c46cbdabb20b66f50ac13461c02da02edfe4296a1f543dde7b4359f905e04193d3cf", - "wx" : "00e8f90a717714f0158d9521f18c14ae8c83bf1eeba115c46cbdabb20b", - "wy" : "66f50ac13461c02da02edfe4296a1f543dde7b4359f905e04193d3cf" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e8f90a717714f0158d9521f18c14ae8c83bf1eeba115c46cbdabb20b66f50ac13461c02da02edfe4296a1f543dde7b4359f905e04193d3cf", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE6PkKcXcU8BWNlSHxjBSujIO/HuuhFcRs\nvauyC2b1CsE0YcAtoC7f5ClqH1Q93ntDWfkF4EGT088=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 360, - "comment" : "small r and s", - "msg" : "313233343030", - "sig" : "3006020103020101", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04723bc0c9b7ce6ea784ec075036cede90452c76576bd8fb5be4dc0fb1cf405820d92f48552b551c7b11f49406dc892fd659971ae7f9e74b59", - "wx" : "723bc0c9b7ce6ea784ec075036cede90452c76576bd8fb5be4dc0fb1", - "wy" : "00cf405820d92f48552b551c7b11f49406dc892fd659971ae7f9e74b59" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004723bc0c9b7ce6ea784ec075036cede90452c76576bd8fb5be4dc0fb1cf405820d92f48552b551c7b11f49406dc892fd659971ae7f9e74b59", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEcjvAybfObqeE7AdQNs7ekEUsdldr2Ptb\n5NwPsc9AWCDZL0hVK1UcexH0lAbciS/WWZca5/nnS1k=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 361, - "comment" : "small r and s", - "msg" : "313233343030", - "sig" : "3006020103020103", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04a0dcce127084f955a4e49a7c86b9b91b05ae7afd6eb07225a6541d88f10a1d4fef93934967bb6c5d8792bbd47ab3abb406899a00b1c91b4a", - "wx" : "00a0dcce127084f955a4e49a7c86b9b91b05ae7afd6eb07225a6541d88", - "wy" : "00f10a1d4fef93934967bb6c5d8792bbd47ab3abb406899a00b1c91b4a" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a0dcce127084f955a4e49a7c86b9b91b05ae7afd6eb07225a6541d88f10a1d4fef93934967bb6c5d8792bbd47ab3abb406899a00b1c91b4a", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEoNzOEnCE+VWk5Jp8hrm5GwWuev1usHIl\nplQdiPEKHU/vk5NJZ7tsXYeSu9R6s6u0BomaALHJG0o=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 362, - "comment" : "small r and s", - "msg" : "313233343030", - "sig" : "3006020103020104", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 363, - "comment" : "r is larger than n", - "msg" : "313233343030", - "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a40020104", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04e10abc9fe15bcc63f009e161aaee26602415bcb45bc6c99ce7ab2b10fbebff4e4de0dfaaf04594dd603cee80b5d9ab78b6707608a95e574d", - "wx" : "00e10abc9fe15bcc63f009e161aaee26602415bcb45bc6c99ce7ab2b10", - "wy" : "00fbebff4e4de0dfaaf04594dd603cee80b5d9ab78b6707608a95e574d" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e10abc9fe15bcc63f009e161aaee26602415bcb45bc6c99ce7ab2b10fbebff4e4de0dfaaf04594dd603cee80b5d9ab78b6707608a95e574d", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE4Qq8n+FbzGPwCeFhqu4mYCQVvLRbxsmc\n56srEPvr/05N4N+q8EWU3WA87oC12at4tnB2CKleV00=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 364, - "comment" : "s is larger than n", - "msg" : "313233343030", - "sig" : "3022020103021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c6f00c4", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04fbfabe6c640856ae5dcdc9e4b706fb3db23ddca46b80b9057ab9e44f6b62d4697977ffe19bf3185083b1ede2161aa5725401a8f57851fc82", - "wx" : "00fbfabe6c640856ae5dcdc9e4b706fb3db23ddca46b80b9057ab9e44f", - "wy" : "6b62d4697977ffe19bf3185083b1ede2161aa5725401a8f57851fc82" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004fbfabe6c640856ae5dcdc9e4b706fb3db23ddca46b80b9057ab9e44f6b62d4697977ffe19bf3185083b1ede2161aa5725401a8f57851fc82", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE+/q+bGQIVq5dzcnktwb7PbI93KRrgLkF\nernkT2ti1Gl5d//hm/MYUIOx7eIWGqVyVAGo9XhR/II=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 365, - "comment" : "small r and s^-1", - "msg" : "313233343030", - "sig" : "302302020100021d00c993264c993264c993264c99326411d2e55b3214a8d67528812a55ab", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0491a85b3c5e90b409f6b8d3bca9117a54a40f4162b388bb9367fd6439f1cedf20ab52eb7154b7ea1f2934a9c8292906e18a0e572002cd2f7c", - "wx" : "0091a85b3c5e90b409f6b8d3bca9117a54a40f4162b388bb9367fd6439", - "wy" : "00f1cedf20ab52eb7154b7ea1f2934a9c8292906e18a0e572002cd2f7c" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000491a85b3c5e90b409f6b8d3bca9117a54a40f4162b388bb9367fd6439f1cedf20ab52eb7154b7ea1f2934a9c8292906e18a0e572002cd2f7c", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEkahbPF6QtAn2uNO8qRF6VKQPQWKziLuT\nZ/1kOfHO3yCrUutxVLfqHyk0qcgpKQbhig5XIALNL3w=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 366, - "comment" : "smallish r and s^-1", - "msg" : "313233343030", - "sig" : "302702072d9b4d347952cc021c3e85d56474b5c55fbe86608442a84b2bf093b7d75f53a47250e1c70c", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04d1ca7a5c1aa086b2951c1ac14e005f0072fb28383973a05117f9652cce523c05ebe94991c47fecd241d0a07e86c88ab3c620eae792aba3d1", - "wx" : "00d1ca7a5c1aa086b2951c1ac14e005f0072fb28383973a05117f9652c", - "wy" : "00ce523c05ebe94991c47fecd241d0a07e86c88ab3c620eae792aba3d1" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d1ca7a5c1aa086b2951c1ac14e005f0072fb28383973a05117f9652cce523c05ebe94991c47fecd241d0a07e86c88ab3c620eae792aba3d1", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE0cp6XBqghrKVHBrBTgBfAHL7KDg5c6BR\nF/llLM5SPAXr6UmRxH/s0kHQoH6GyIqzxiDq55Kro9E=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 367, - "comment" : "100-bit r and small s^-1", - "msg" : "313233343030", - "sig" : "302d020d1033e67e37b32b445580bf4efb021c02fd02fd02fd02fd02fd02fd02fd0043a4fd2da317247308c74dc6b8", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "043565af2a481f9390e71d7642717d0427e02e5e7de8a3c0c1ffd5f33e9474547e0d54dcaae85494c74faa23394a056e41c2839638b8523b72", - "wx" : "3565af2a481f9390e71d7642717d0427e02e5e7de8a3c0c1ffd5f33e", - "wy" : "009474547e0d54dcaae85494c74faa23394a056e41c2839638b8523b72" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043565af2a481f9390e71d7642717d0427e02e5e7de8a3c0c1ffd5f33e9474547e0d54dcaae85494c74faa23394a056e41c2839638b8523b72", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAENWWvKkgfk5DnHXZCcX0EJ+AuXn3oo8DB\n/9XzPpR0VH4NVNyq6FSUx0+qIzlKBW5BwoOWOLhSO3I=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 368, - "comment" : "small r and 100 bit s^-1", - "msg" : "313233343030", - "sig" : "302302020100021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0429c694790fbd23777cfde434badcb061a326a5534264bcfe193c716c178a943f7bd4fb132565ba602358b13433a5217ac04cc035566c73f8", - "wx" : "29c694790fbd23777cfde434badcb061a326a5534264bcfe193c716c", - "wy" : "178a943f7bd4fb132565ba602358b13433a5217ac04cc035566c73f8" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000429c694790fbd23777cfde434badcb061a326a5534264bcfe193c716c178a943f7bd4fb132565ba602358b13433a5217ac04cc035566c73f8", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEKcaUeQ+9I3d8/eQ0utywYaMmpVNCZLz+\nGTxxbBeKlD971PsTJWW6YCNYsTQzpSF6wEzANVZsc/g=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 369, - "comment" : "100-bit r and s^-1", - "msg" : "313233343030", - "sig" : "302e020d062522bbd3ecbe7c39e93e7c24021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "048fd43aac8556f4665fd4c13f4e151140f42a395763c5da247a398f979687d24a9fcd6b20a59451c348a6364d0ffaf0ecfe164313db6594ab", - "wx" : "008fd43aac8556f4665fd4c13f4e151140f42a395763c5da247a398f97", - "wy" : "009687d24a9fcd6b20a59451c348a6364d0ffaf0ecfe164313db6594ab" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048fd43aac8556f4665fd4c13f4e151140f42a395763c5da247a398f979687d24a9fcd6b20a59451c348a6364d0ffaf0ecfe164313db6594ab", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEj9Q6rIVW9GZf1ME/ThURQPQqOVdjxdok\nejmPl5aH0kqfzWsgpZRRw0imNk0P+vDs/hZDE9tllKs=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 370, - "comment" : "r and s^-1 are close to n", - "msg" : "313233343030", - "sig" : "303d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29bd021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04c2ae0e357a43f97549a725ae3704449051c96bf3633355c35b6eb7e96a84dfb6d4517d1de46b18786a506178724bf4ae4f9e418c75ab17ef", - "wx" : "00c2ae0e357a43f97549a725ae3704449051c96bf3633355c35b6eb7e9", - "wy" : "6a84dfb6d4517d1de46b18786a506178724bf4ae4f9e418c75ab17ef" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c2ae0e357a43f97549a725ae3704449051c96bf3633355c35b6eb7e96a84dfb6d4517d1de46b18786a506178724bf4ae4f9e418c75ab17ef", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEwq4ONXpD+XVJpyWuNwREkFHJa/NjM1XD\nW2636WqE37bUUX0d5GsYeGpQYXhyS/SuT55BjHWrF+8=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 371, - "comment" : "s == 1", - "msg" : "313233343030", - "sig" : "3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 372, - "comment" : "s == 0", - "msg" : "313233343030", - "sig" : "3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020100", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04961617d9855f202fd600b584abe94a46674927cfdc6333c5be56ce7b89b4150d9ccdfbd77e7682ca862c0c3e96d89c918b7d3b7bbb92ff43", - "wx" : "00961617d9855f202fd600b584abe94a46674927cfdc6333c5be56ce7b", - "wy" : "0089b4150d9ccdfbd77e7682ca862c0c3e96d89c918b7d3b7bbb92ff43" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004961617d9855f202fd600b584abe94a46674927cfdc6333c5be56ce7b89b4150d9ccdfbd77e7682ca862c0c3e96d89c918b7d3b7bbb92ff43", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAElhYX2YVfIC/WALWEq+lKRmdJJ8/cYzPF\nvlbOe4m0FQ2czfvXfnaCyoYsDD6W2JyRi307e7uS/0M=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 373, - "comment" : "point at infinity during verify", - "msg" : "313233343030", - "sig" : "303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "048db53fe4168df43ee538bc9d758b8c26fa433fb0101bcbad039585de2310dfc20835379ea406993036fd4bb0f67d14760e1eb414c32dd1f3", - "wx" : "008db53fe4168df43ee538bc9d758b8c26fa433fb0101bcbad039585de", - "wy" : "2310dfc20835379ea406993036fd4bb0f67d14760e1eb414c32dd1f3" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048db53fe4168df43ee538bc9d758b8c26fa433fb0101bcbad039585de2310dfc20835379ea406993036fd4bb0f67d14760e1eb414c32dd1f3", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEjbU/5BaN9D7lOLyddYuMJvpDP7AQG8ut\nA5WF3iMQ38IINTeepAaZMDb9S7D2fRR2Dh60FMMt0fM=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 374, - "comment" : "edge case for signature malleability", - "msg" : "313233343030", - "sig" : "303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "040b7fa61983e7a227f738847d457f3e8cf0a4085c312fb6dcec822570ee7434ce2ff3fbcc1d0960379876e9dd5bed28aad576eea233a44b0d", - "wx" : "0b7fa61983e7a227f738847d457f3e8cf0a4085c312fb6dcec822570", - "wy" : "00ee7434ce2ff3fbcc1d0960379876e9dd5bed28aad576eea233a44b0d" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00040b7fa61983e7a227f738847d457f3e8cf0a4085c312fb6dcec822570ee7434ce2ff3fbcc1d0960379876e9dd5bed28aad576eea233a44b0d", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEC3+mGYPnoif3OIR9RX8+jPCkCFwxL7bc\n7IIlcO50NM4v8/vMHQlgN5h26d1b7Siq1XbuojOkSw0=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 375, - "comment" : "edge case for signature malleability", - "msg" : "313233343030", - "sig" : "303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151f", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0455b212919cd6886b13cd7a2556430ce442e86942f1bf6e4618ae363e795c664ae960ee1106308b7dba91240ab0c3ef8beb7d0a4d7a102a7f", - "wx" : "55b212919cd6886b13cd7a2556430ce442e86942f1bf6e4618ae363e", - "wy" : "795c664ae960ee1106308b7dba91240ab0c3ef8beb7d0a4d7a102a7f" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000455b212919cd6886b13cd7a2556430ce442e86942f1bf6e4618ae363e795c664ae960ee1106308b7dba91240ab0c3ef8beb7d0a4d7a102a7f", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEVbISkZzWiGsTzXolVkMM5ELoaULxv25G\nGK42PnlcZkrpYO4RBjCLfbqRJAqww++L630KTXoQKn8=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 376, - "comment" : "u1 == 1", - "msg" : "313233343030", - "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04c0288a63ce32263f3651198dab801c896fb9308362fc40e35959e14010d00bd1c228cfb6a5faa647387804e34fa1a7f9fcc472c05ea2eeda", - "wx" : "00c0288a63ce32263f3651198dab801c896fb9308362fc40e35959e140", - "wy" : "10d00bd1c228cfb6a5faa647387804e34fa1a7f9fcc472c05ea2eeda" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c0288a63ce32263f3651198dab801c896fb9308362fc40e35959e14010d00bd1c228cfb6a5faa647387804e34fa1a7f9fcc472c05ea2eeda", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEwCiKY84yJj82URmNq4AciW+5MINi/EDj\nWVnhQBDQC9HCKM+2pfqmRzh4BONPoaf5/MRywF6i7to=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 377, - "comment" : "u1 == n - 1", - "msg" : "313233343030", - "sig" : "303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00bc07ff041506dc73a75086a4325211e696eb6b31da8ff5c2c728d38d", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "040c8e2cb5f6a903e1cccf3ac2d465f1d0dc3452237fd9e8a4df5d5341d044ca8ceecb54a1b951270971e5ab4eb226116c48c553499d1a4899", - "wx" : "0c8e2cb5f6a903e1cccf3ac2d465f1d0dc3452237fd9e8a4df5d5341", - "wy" : "00d044ca8ceecb54a1b951270971e5ab4eb226116c48c553499d1a4899" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00040c8e2cb5f6a903e1cccf3ac2d465f1d0dc3452237fd9e8a4df5d5341d044ca8ceecb54a1b951270971e5ab4eb226116c48c553499d1a4899", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEDI4stfapA+HMzzrC1GXx0Nw0UiN/2eik\n311TQdBEyozuy1ShuVEnCXHlq06yJhFsSMVTSZ0aSJk=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 378, - "comment" : "u2 == 1", - "msg" : "313233343030", - "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "041ff6b9901784d88b25527b3702622a2734b83d8a0fed0f740bb784e20e83ee0aa82933dcdc637a3760606a04974c2dc75f12095f8fdaf003", - "wx" : "1ff6b9901784d88b25527b3702622a2734b83d8a0fed0f740bb784e2", - "wy" : "0e83ee0aa82933dcdc637a3760606a04974c2dc75f12095f8fdaf003" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00041ff6b9901784d88b25527b3702622a2734b83d8a0fed0f740bb784e20e83ee0aa82933dcdc637a3760606a04974c2dc75f12095f8fdaf003", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEH/a5kBeE2IslUns3AmIqJzS4PYoP7Q90\nC7eE4g6D7gqoKTPc3GN6N2BgagSXTC3HXxIJX4/a8AM=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 379, - "comment" : "u2 == n - 1", - "msg" : "313233343030", - "sig" : "303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00aaaaaaaaaaaaaaaaaaaaaaaaaaaa0f17407b4ad40d3e1b8392e81c29", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04b21faca17b68058752d943a81f853b800562df8b2172e150953c624201c2c0f5ed3b342956cacd26f9097562d0fb0a3ddab91c5ae7e90c01", - "wx" : "00b21faca17b68058752d943a81f853b800562df8b2172e150953c6242", - "wy" : "01c2c0f5ed3b342956cacd26f9097562d0fb0a3ddab91c5ae7e90c01" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b21faca17b68058752d943a81f853b800562df8b2172e150953c624201c2c0f5ed3b342956cacd26f9097562d0fb0a3ddab91c5ae7e90c01", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsh+soXtoBYdS2UOoH4U7gAVi34shcuFQ\nlTxiQgHCwPXtOzQpVsrNJvkJdWLQ+wo92rkcWufpDAE=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 380, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00c152aafea3a8612ec83a7dc9448e6600ae6a772d75ad2caf19f9390e", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04f49278419e4f506889b0168b1fce1f87ee5b61efa0e73c7833eeb29cb1b334f81be8f05f3b2e98d38b030cff57947b96135ec4465c5e53f3", - "wx" : "00f49278419e4f506889b0168b1fce1f87ee5b61efa0e73c7833eeb29c", - "wy" : "00b1b334f81be8f05f3b2e98d38b030cff57947b96135ec4465c5e53f3" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004f49278419e4f506889b0168b1fce1f87ee5b61efa0e73c7833eeb29cb1b334f81be8f05f3b2e98d38b030cff57947b96135ec4465c5e53f3", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE9JJ4QZ5PUGiJsBaLH84fh+5bYe+g5zx4\nM+6ynLGzNPgb6PBfOy6Y04sDDP9XlHuWE17ERlxeU/M=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 381, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c4e158ef86cc53054f1635c74e65508206048929315e097a59f1519e2", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0475c6a886e22bc04b996d4a19575ce0c6686b449b6e05ef1301bd8ba233ab29f65df2d4144da2b21e90359a064765c95e325bb7e54ca28e40", - "wx" : "75c6a886e22bc04b996d4a19575ce0c6686b449b6e05ef1301bd8ba2", - "wy" : "33ab29f65df2d4144da2b21e90359a064765c95e325bb7e54ca28e40" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000475c6a886e22bc04b996d4a19575ce0c6686b449b6e05ef1301bd8ba233ab29f65df2d4144da2b21e90359a064765c95e325bb7e54ca28e40", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEdcaohuIrwEuZbUoZV1zgxmhrRJtuBe8T\nAb2LojOrKfZd8tQUTaKyHpA1mgZHZcleMlu35UyijkA=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 382, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00e2ac0b24512e84f6fb015620d689d30d14736cf00c18838753c3814f", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04f554014cc14f319c18f5fa6cd739249075ff35ba3b2afdab5329ef0fd2c501f25a704addbd85c0e022748956e5998d99c387fbfd343c89e0", - "wx" : "00f554014cc14f319c18f5fa6cd739249075ff35ba3b2afdab5329ef0f", - "wy" : "00d2c501f25a704addbd85c0e022748956e5998d99c387fbfd343c89e0" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004f554014cc14f319c18f5fa6cd739249075ff35ba3b2afdab5329ef0fd2c501f25a704addbd85c0e022748956e5998d99c387fbfd343c89e0", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE9VQBTMFPMZwY9fps1zkkkHX/Nbo7Kv2r\nUynvD9LFAfJacErdvYXA4CJ0iVblmY2Zw4f7/TQ8ieA=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 383, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c5221f3c2de0c6fbc07ff04150679b57f57512b814f413aebafe731", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04bcfa8db704aca56feb23bd4b4049213233aa652045a0a81a2e0da64c091b359f7be7ae00a0e9777d9510f847430b5dfda878e66d4fb0d62f", - "wx" : "00bcfa8db704aca56feb23bd4b4049213233aa652045a0a81a2e0da64c", - "wy" : "091b359f7be7ae00a0e9777d9510f847430b5dfda878e66d4fb0d62f" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bcfa8db704aca56feb23bd4b4049213233aa652045a0a81a2e0da64c091b359f7be7ae00a0e9777d9510f847430b5dfda878e66d4fb0d62f", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvPqNtwSspW/rI71LQEkhMjOqZSBFoKga\nLg2mTAkbNZ97564AoOl3fZUQ+EdDC139qHjmbU+w1i8=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 384, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c221f3c2de0c6fbc07ff041506dc71b5a312063d87beb4c30c289210f", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "049fd4d828ae98056be58fa69eaf9cde98ca0ed9b415d6463fa1864d9fb2a5e41f10e8789450217daafd259f204aed87b0e26100f43f7c5bad", - "wx" : "009fd4d828ae98056be58fa69eaf9cde98ca0ed9b415d6463fa1864d9f", - "wy" : "00b2a5e41f10e8789450217daafd259f204aed87b0e26100f43f7c5bad" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00049fd4d828ae98056be58fa69eaf9cde98ca0ed9b415d6463fa1864d9fb2a5e41f10e8789450217daafd259f204aed87b0e26100f43f7c5bad", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEn9TYKK6YBWvlj6aer5zemMoO2bQV1kY/\noYZNn7Kl5B8Q6HiUUCF9qv0lnyBK7Yew4mEA9D98W60=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 385, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c443e785bc18df780ffe082a0db8e36b46240c7b0f7d698618512421e", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "046123a33969f2e036fc27885f55755d391cb0c2d3fafb0c4056c1995da03bb490047e88fe7e608912a6205b65f950a8a0a360362d3339e62c", - "wx" : "6123a33969f2e036fc27885f55755d391cb0c2d3fafb0c4056c1995d", - "wy" : "00a03bb490047e88fe7e608912a6205b65f950a8a0a360362d3339e62c" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00046123a33969f2e036fc27885f55755d391cb0c2d3fafb0c4056c1995da03bb490047e88fe7e608912a6205b65f950a8a0a360362d3339e62c", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEYSOjOWny4Db8J4hfVXVdORywwtP6+wxA\nVsGZXaA7tJAEfoj+fmCJEqYgW2X5UKigo2A2LTM55iw=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 386, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00c2de0c6fbc07ff041506dc73a74fd50136878b7e1341521b2f880b19", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04a10b7aa7785b2f2791b1d4c43e127aab5669612d740b38abaa0d306ec178f216fad379ad80baa0eac57bf9a56d446d685576371b74762382", - "wx" : "00a10b7aa7785b2f2791b1d4c43e127aab5669612d740b38abaa0d306e", - "wy" : "00c178f216fad379ad80baa0eac57bf9a56d446d685576371b74762382" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a10b7aa7785b2f2791b1d4c43e127aab5669612d740b38abaa0d306ec178f216fad379ad80baa0eac57bf9a56d446d685576371b74762382", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEoQt6p3hbLyeRsdTEPhJ6q1ZpYS10Czir\nqg0wbsF48hb603mtgLqg6sV7+aVtRG1oVXY3G3R2I4I=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 387, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d009f56aa80ae2bcf689be2c11b5db7e3a28983b4a7590692edcf5f8db6", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04e012c23c6867e9553313d0179e9db953de7c368cdb59abe05f1c52bad352a57bb59c45159352c114eeb696ec3b79caa835ef5c2ae71ddcfa", - "wx" : "00e012c23c6867e9553313d0179e9db953de7c368cdb59abe05f1c52ba", - "wy" : "00d352a57bb59c45159352c114eeb696ec3b79caa835ef5c2ae71ddcfa" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e012c23c6867e9553313d0179e9db953de7c368cdb59abe05f1c52bad352a57bb59c45159352c114eeb696ec3b79caa835ef5c2ae71ddcfa", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE4BLCPGhn6VUzE9AXnp25U958NozbWavg\nXxxSutNSpXu1nEUVk1LBFO62luw7ecqoNe9cKucd3Po=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 388, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3ead55015c579ed137c58236bb70b0a2324e79109e2ffc964262f12f", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04b9ccd7f0f3594954aa729bda4be883e107e7f1226465b64c2ca7105789829d787016c5c118d3ba3317a2da0a0daaf56d3004c10962333a9f", - "wx" : "00b9ccd7f0f3594954aa729bda4be883e107e7f1226465b64c2ca71057", - "wy" : "0089829d787016c5c118d3ba3317a2da0a0daaf56d3004c10962333a9f" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b9ccd7f0f3594954aa729bda4be883e107e7f1226465b64c2ca7105789829d787016c5c118d3ba3317a2da0a0daaf56d3004c10962333a9f", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEuczX8PNZSVSqcpvaS+iD4Qfn8SJkZbZM\nLKcQV4mCnXhwFsXBGNO6Mxei2goNqvVtMATBCWIzOp8=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 389, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00de03ff820a836e39d3a8435219289444bbd22db7f7368f8411c27ee5", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04321a17de024fe89c1864e128b9e0af3e6b48800a70d6e802b8b6dffeb1a8ae96911ddbdeb83948a992b1b0fe316679c64814b6a45ec56fe9", - "wx" : "321a17de024fe89c1864e128b9e0af3e6b48800a70d6e802b8b6dffe", - "wy" : "00b1a8ae96911ddbdeb83948a992b1b0fe316679c64814b6a45ec56fe9" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004321a17de024fe89c1864e128b9e0af3e6b48800a70d6e802b8b6dffeb1a8ae96911ddbdeb83948a992b1b0fe316679c64814b6a45ec56fe9", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEMhoX3gJP6JwYZOEoueCvPmtIgApw1ugC\nuLbf/rGorpaRHdveuDlIqZKxsP4xZnnGSBS2pF7Fb+k=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 390, - "comment" : "edge case for u1", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00f15605922897427b7d80ab106b4474d7fa962e970ffad666580fd5c6", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0408842f19b114d16be27bb4b6971377ed6b1d0915e133a9ebf01674ee4c97738b6912ff71553c4a747c782eddd9d2a20fbeae38864d217859", - "wx" : "08842f19b114d16be27bb4b6971377ed6b1d0915e133a9ebf01674ee", - "wy" : "4c97738b6912ff71553c4a747c782eddd9d2a20fbeae38864d217859" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000408842f19b114d16be27bb4b6971377ed6b1d0915e133a9ebf01674ee4c97738b6912ff71553c4a747c782eddd9d2a20fbeae38864d217859", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAECIQvGbEU0Wvie7S2lxN37WsdCRXhM6nr\n8BZ07kyXc4tpEv9xVTxKdHx4Lt3Z0qIPvq44hk0heFk=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 391, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffffb2364ae85014b149b86c741eb8be", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0484d651596fd2348f1bb5c8ae9d22c8b21c4f7509240b609abad5cc243196b67b4cfaffaf0dce25ab00bfeaa1a64821332efa6dedd87cc9e7", - "wx" : "0084d651596fd2348f1bb5c8ae9d22c8b21c4f7509240b609abad5cc24", - "wy" : "3196b67b4cfaffaf0dce25ab00bfeaa1a64821332efa6dedd87cc9e7" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000484d651596fd2348f1bb5c8ae9d22c8b21c4f7509240b609abad5cc243196b67b4cfaffaf0dce25ab00bfeaa1a64821332efa6dedd87cc9e7", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEhNZRWW/SNI8btciunSLIshxPdQkkC2Ca\nutXMJDGWtntM+v+vDc4lqwC/6qGmSCEzLvpt7dh8yec=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 392, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00855f5b2dc8e46ec428a593f73219cf65dae793e8346e30cc3701309c", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "048fbe39e75bc4fd8a15e4b52e4bbebe2047d54385a7117e17a4d0b2b207abdb40824538e5787c718d6548583f523f6b5bbfa239a7f622c8a0", - "wx" : "008fbe39e75bc4fd8a15e4b52e4bbebe2047d54385a7117e17a4d0b2b2", - "wy" : "07abdb40824538e5787c718d6548583f523f6b5bbfa239a7f622c8a0" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048fbe39e75bc4fd8a15e4b52e4bbebe2047d54385a7117e17a4d0b2b207abdb40824538e5787c718d6548583f523f6b5bbfa239a7f622c8a0", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEj74551vE/YoV5LUuS76+IEfVQ4WnEX4X\npNCysger20CCRTjleHxxjWVIWD9SP2tbv6I5p/YiyKA=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 393, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2db5f61aea817276af2064e104c7a30e32034cb526dd0aacfa56566f", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04c336b340bc99d46c2c52df5428b6a0c4eb2da76c423530f767cc7652f3ab9981bd05d2955123935a379cbb2d4361a17d19878673e1e17dcc", - "wx" : "00c336b340bc99d46c2c52df5428b6a0c4eb2da76c423530f767cc7652", - "wy" : "00f3ab9981bd05d2955123935a379cbb2d4361a17d19878673e1e17dcc" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c336b340bc99d46c2c52df5428b6a0c4eb2da76c423530f767cc7652f3ab9981bd05d2955123935a379cbb2d4361a17d19878673e1e17dcc", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEwzazQLyZ1GwsUt9UKLagxOstp2xCNTD3\nZ8x2UvOrmYG9BdKVUSOTWjecuy1DYaF9GYeGc+Hhfcw=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 394, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0084a6c7513e5f48c07fffffffffff8713f3cba1293e4f3e95597fe6bd", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04816fdcf370827e3f7771564e1aa73ed73e62556deadad89711cef663edcda0ea42235f4c9a8c13f787351ffe5ceb32f15fc0ccb24e0a409c", - "wx" : "00816fdcf370827e3f7771564e1aa73ed73e62556deadad89711cef663", - "wy" : "00edcda0ea42235f4c9a8c13f787351ffe5ceb32f15fc0ccb24e0a409c" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004816fdcf370827e3f7771564e1aa73ed73e62556deadad89711cef663edcda0ea42235f4c9a8c13f787351ffe5ceb32f15fc0ccb24e0a409c", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEgW/c83CCfj93cVZOGqc+1z5iVW3q2tiX\nEc72Y+3NoOpCI19MmowT94c1H/5c6zLxX8DMsk4KQJw=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 395, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c7513e5f48c07ffffffffffffff9d21fd1b31544cb13ca86a75b25e", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "046429d2b7b07ab0d5ea352902df0efc036d7270a0a6ed39f635d04f394f7932883bc45394151324aab26ae29bbd7385fa6a42c3db84432897", - "wx" : "6429d2b7b07ab0d5ea352902df0efc036d7270a0a6ed39f635d04f39", - "wy" : "4f7932883bc45394151324aab26ae29bbd7385fa6a42c3db84432897" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00046429d2b7b07ab0d5ea352902df0efc036d7270a0a6ed39f635d04f394f7932883bc45394151324aab26ae29bbd7385fa6a42c3db84432897", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEZCnSt7B6sNXqNSkC3w78A21ycKCm7Tn2\nNdBPOU95Mog7xFOUFRMkqrJq4pu9c4X6akLD24RDKJc=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 396, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d8ea27cbe9180fffffffffffffff3a43fa3662a899627950d4eb64bc", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04288f38fd77dd1603ff0275cb11cba280ae3408affa6a760f396f1a1ec84ca6fd772c6ac6cc523cc72c2e7e95eb6a36a66b5cca5a58ba078a", - "wx" : "288f38fd77dd1603ff0275cb11cba280ae3408affa6a760f396f1a1e", - "wy" : "00c84ca6fd772c6ac6cc523cc72c2e7e95eb6a36a66b5cca5a58ba078a" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004288f38fd77dd1603ff0275cb11cba280ae3408affa6a760f396f1a1ec84ca6fd772c6ac6cc523cc72c2e7e95eb6a36a66b5cca5a58ba078a", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEKI84/XfdFgP/AnXLEcuigK40CK/6anYP\nOW8aHshMpv13LGrGzFI8xywufpXrajama1zKWli6B4o=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 397, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3e5f48c07fffffffffffffffffffc724968c0ecf9ed783744a7337b3", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04c769c138f9d71ffff113273b71a4afde4f9996a1c4be658a3903cf7f430e512b868b37bb96bc17a09b0ab01b262f2e23f34f00418f6b63d6", - "wx" : "00c769c138f9d71ffff113273b71a4afde4f9996a1c4be658a3903cf7f", - "wy" : "430e512b868b37bb96bc17a09b0ab01b262f2e23f34f00418f6b63d6" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c769c138f9d71ffff113273b71a4afde4f9996a1c4be658a3903cf7f430e512b868b37bb96bc17a09b0ab01b262f2e23f34f00418f6b63d6", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEx2nBOPnXH//xEyc7caSv3k+ZlqHEvmWK\nOQPPf0MOUSuGize7lrwXoJsKsBsmLy4j808AQY9rY9Y=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 398, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00bfffffffffffffffffffffffffff3d87bb44c833bb384d0f224ccdde", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0475f007c11b93e6f46e9a815cb765990a8305d3ad8d22c76fe6b257cc71b5c1951b5d464c66df7c290cf0a4f156bbf52f1e41a79dc63abce5", - "wx" : "75f007c11b93e6f46e9a815cb765990a8305d3ad8d22c76fe6b257cc", - "wy" : "71b5c1951b5d464c66df7c290cf0a4f156bbf52f1e41a79dc63abce5" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000475f007c11b93e6f46e9a815cb765990a8305d3ad8d22c76fe6b257cc71b5c1951b5d464c66df7c290cf0a4f156bbf52f1e41a79dc63abce5", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEdfAHwRuT5vRumoFct2WZCoMF062NIsdv\n5rJXzHG1wZUbXUZMZt98KQzwpPFWu/UvHkGnncY6vOU=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 399, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffff646c95d0a029629370d8e83d717f", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "041255fb94a0f20e6faa2505c394cc3c39f07def4107127dffc4dacb6eea73c1044544a1496560bd1b049ff615e68ae0d483220327569884e1", - "wx" : "1255fb94a0f20e6faa2505c394cc3c39f07def4107127dffc4dacb6e", - "wy" : "00ea73c1044544a1496560bd1b049ff615e68ae0d483220327569884e1" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00041255fb94a0f20e6faa2505c394cc3c39f07def4107127dffc4dacb6eea73c1044544a1496560bd1b049ff615e68ae0d483220327569884e1", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEElX7lKDyDm+qJQXDlMw8OfB970EHEn3/\nxNrLbupzwQRFRKFJZWC9GwSf9hXmiuDUgyIDJ1aYhOE=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 400, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e1520", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04f656a632a0804cf688446b261208f793373c5ff4454bd1e0a882113f30a25d6f586e02dd4dcbf73d96af3e483b7acb5f8f4c06450dec1982", - "wx" : "00f656a632a0804cf688446b261208f793373c5ff4454bd1e0a882113f", - "wy" : "30a25d6f586e02dd4dcbf73d96af3e483b7acb5f8f4c06450dec1982" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004f656a632a0804cf688446b261208f793373c5ff4454bd1e0a882113f30a25d6f586e02dd4dcbf73d96af3e483b7acb5f8f4c06450dec1982", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE9lamMqCATPaIRGsmEgj3kzc8X/RFS9Hg\nqIIRPzCiXW9YbgLdTcv3PZavPkg7estfj0wGRQ3sGYI=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 401, - "comment" : "edge case for u2", - "msg" : "313233343030", - "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0096dafb0d7540b93b5790327082635cd8895e1e799d5d19f92b594056", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3f074d20e1da7232d279461732bc1bae0c5416ab9d696308622e7ffe8", - "wx" : "008fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3", - "wy" : "00f074d20e1da7232d279461732bc1bae0c5416ab9d696308622e7ffe8" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3f074d20e1da7232d279461732bc1bae0c5416ab9d696308622e7ffe8", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEj7Vy3k2vdnAmJM5O2BnQJnYiJOilQhW/\ngbICo/B00g4dpyMtJ5RhcyvBuuDFQWq51pYwhiLn/+g=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 402, - "comment" : "point duplication during verification", - "msg" : "313233343030", - "sig" : "303e021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021d00ec0ce3fa725c1027475a5f5bf4ee980de61c3b4875afe8b654b24ee2", - "result" : "valid", - "flags" : [ - "PointDuplication" - ] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a30f8b2df1e258dcd2d86b9e8cd43e451e3abe95462969cf79dd180019", - "wx" : "008fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3", - "wy" : "0f8b2df1e258dcd2d86b9e8cd43e451e3abe95462969cf79dd180019" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a30f8b2df1e258dcd2d86b9e8cd43e451e3abe95462969cf79dd180019", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEj7Vy3k2vdnAmJM5O2BnQJnYiJOilQhW/\ngbICow+LLfHiWNzS2GuejNQ+RR46vpVGKWnPed0YABk=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 403, - "comment" : "duplication bug", - "msg" : "313233343030", - "sig" : "303e021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021d00ec0ce3fa725c1027475a5f5bf4ee980de61c3b4875afe8b654b24ee2", - "result" : "invalid", - "flags" : [ - "PointDuplication" - ] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04e5462d3a838d4a14de96a7b0b1071eb622ae6e71ede8f95ff01c2121368e3a90d8584e194616d3211a7541f6a0960339cab28e8bfd6b1dfd", - "wx" : "00e5462d3a838d4a14de96a7b0b1071eb622ae6e71ede8f95ff01c2121", - "wy" : "368e3a90d8584e194616d3211a7541f6a0960339cab28e8bfd6b1dfd" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e5462d3a838d4a14de96a7b0b1071eb622ae6e71ede8f95ff01c2121368e3a90d8584e194616d3211a7541f6a0960339cab28e8bfd6b1dfd", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE5UYtOoONShTelqewsQcetiKubnHt6Plf\n8BwhITaOOpDYWE4ZRhbTIRp1QfaglgM5yrKOi/1rHf0=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 404, - "comment" : "comparison with point at infinity ", - "msg" : "313233343030", - "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "045d97670c1f121f7f1ba541505609f20143b312a7bb49d376690e1831c1b4567141a7b534e21bd2f706ae034169ab9c3f8536147904de8c5f", - "wx" : "5d97670c1f121f7f1ba541505609f20143b312a7bb49d376690e1831", - "wy" : "00c1b4567141a7b534e21bd2f706ae034169ab9c3f8536147904de8c5f" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00045d97670c1f121f7f1ba541505609f20143b312a7bb49d376690e1831c1b4567141a7b534e21bd2f706ae034169ab9c3f8536147904de8c5f", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEXZdnDB8SH38bpUFQVgnyAUOzEqe7SdN2\naQ4YMcG0VnFBp7U04hvS9wauA0Fpq5w/hTYUeQTejF8=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 405, - "comment" : "extreme value for k and edgecase s", - "msg" : "313233343030", - "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04d2675278da2d7daa8373dd63b7aa46cb14766571c2d8098b83a102a5699b572d4b951497418a376930022d48fe59966b158fa08340e24b98", - "wx" : "00d2675278da2d7daa8373dd63b7aa46cb14766571c2d8098b83a102a5", - "wy" : "699b572d4b951497418a376930022d48fe59966b158fa08340e24b98" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d2675278da2d7daa8373dd63b7aa46cb14766571c2d8098b83a102a5699b572d4b951497418a376930022d48fe59966b158fa08340e24b98", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE0mdSeNotfaqDc91jt6pGyxR2ZXHC2AmL\ng6ECpWmbVy1LlRSXQYo3aTACLUj+WZZrFY+gg0DiS5g=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 406, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "045a5cd1162388348734dae20e2235ae2c464adef0a196f9aaf02482ca2ae94e8b9a024375036429b632ab485e02c5a9665b289b8a47bade8f", - "wx" : "5a5cd1162388348734dae20e2235ae2c464adef0a196f9aaf02482ca", - "wy" : "2ae94e8b9a024375036429b632ab485e02c5a9665b289b8a47bade8f" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00045a5cd1162388348734dae20e2235ae2c464adef0a196f9aaf02482ca2ae94e8b9a024375036429b632ab485e02c5a9665b289b8a47bade8f", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEWlzRFiOINIc02uIOIjWuLEZK3vChlvmq\n8CSCyirpTouaAkN1A2QptjKrSF4CxalmWyibike63o8=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 407, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04cacd93eb11a821de3d882bab7411e7c77f23c08da174189cc987dc41716fe378ab842161bc16def6e037d4ba9d30d8cb41ad30cf0656e50b", - "wx" : "00cacd93eb11a821de3d882bab7411e7c77f23c08da174189cc987dc41", - "wy" : "716fe378ab842161bc16def6e037d4ba9d30d8cb41ad30cf0656e50b" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004cacd93eb11a821de3d882bab7411e7c77f23c08da174189cc987dc41716fe378ab842161bc16def6e037d4ba9d30d8cb41ad30cf0656e50b", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEys2T6xGoId49iCurdBHnx38jwI2hdBic\nyYfcQXFv43irhCFhvBbe9uA31LqdMNjLQa0wzwZW5Qs=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 408, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04cf46960060453e55577f1bee6a9c4709e7cdcba45ca8020bb3536931ea4ec33309213864a1318aee0a86d8b6f0c1b9741cd6bd5dea4f4066", - "wx" : "00cf46960060453e55577f1bee6a9c4709e7cdcba45ca8020bb3536931", - "wy" : "00ea4ec33309213864a1318aee0a86d8b6f0c1b9741cd6bd5dea4f4066" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004cf46960060453e55577f1bee6a9c4709e7cdcba45ca8020bb3536931ea4ec33309213864a1318aee0a86d8b6f0c1b9741cd6bd5dea4f4066", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEz0aWAGBFPlVXfxvuapxHCefNy6RcqAIL\ns1NpMepOwzMJIThkoTGK7gqG2Lbwwbl0HNa9XepPQGY=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 409, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c249249249249249249249249249227ce201a6b76951f982e7ae89852", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0462f4eaf3797bdc3d5d8cfaa07b5af7060e131b183ca4eded4819e561bff3eadd7b55db2dc01bd20569e6c47c9212f9b2d6793795b51e4f6c", - "wx" : "62f4eaf3797bdc3d5d8cfaa07b5af7060e131b183ca4eded4819e561", - "wy" : "00bff3eadd7b55db2dc01bd20569e6c47c9212f9b2d6793795b51e4f6c" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000462f4eaf3797bdc3d5d8cfaa07b5af7060e131b183ca4eded4819e561bff3eadd7b55db2dc01bd20569e6c47c9212f9b2d6793795b51e4f6c", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEYvTq83l73D1djPqge1r3Bg4TGxg8pO3t\nSBnlYb/z6t17VdstwBvSBWnmxHySEvmy1nk3lbUeT2w=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 410, - "comment" : "extreme value for k", - "msg" : "313233343030", - "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04c4a4bf5ae0138587f50ab7a2c336a430527a86f59f9765c2f3f5488df9419bf9df5f121de3a32db17b49c72b606b2be5ce56acb565cc12b7", - "wx" : "00c4a4bf5ae0138587f50ab7a2c336a430527a86f59f9765c2f3f5488d", - "wy" : "00f9419bf9df5f121de3a32db17b49c72b606b2be5ce56acb565cc12b7" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c4a4bf5ae0138587f50ab7a2c336a430527a86f59f9765c2f3f5488df9419bf9df5f121de3a32db17b49c72b606b2be5ce56acb565cc12b7", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExKS/WuAThYf1CreiwzakMFJ6hvWfl2XC\n8/VIjflBm/nfXxId46MtsXtJxytgayvlzlastWXMErc=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 411, - "comment" : "extreme value for k and edgecase s", - "msg" : "313233343030", - "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04e7cb5ae54dbe619ab5069f14566236b3c6b0b44f1c4c531e66d89b3e64be7fdc18789629dfddf7158f8ff27abd553bfac3f7c874bccdc31b", - "wx" : "00e7cb5ae54dbe619ab5069f14566236b3c6b0b44f1c4c531e66d89b3e", - "wy" : "64be7fdc18789629dfddf7158f8ff27abd553bfac3f7c874bccdc31b" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e7cb5ae54dbe619ab5069f14566236b3c6b0b44f1c4c531e66d89b3e64be7fdc18789629dfddf7158f8ff27abd553bfac3f7c874bccdc31b", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE58ta5U2+YZq1Bp8UVmI2s8awtE8cTFMe\nZtibPmS+f9wYeJYp3933FY+P8nq9VTv6w/fIdLzNwxs=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 412, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0430db5d8279319cf5a3b6768a0c5e5c84752f6314f735d63f6c5650cdd32fb54f74d4a5088e6774a13201683642790d2e69e55e4f47612934", - "wx" : "30db5d8279319cf5a3b6768a0c5e5c84752f6314f735d63f6c5650cd", - "wy" : "00d32fb54f74d4a5088e6774a13201683642790d2e69e55e4f47612934" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000430db5d8279319cf5a3b6768a0c5e5c84752f6314f735d63f6c5650cdd32fb54f74d4a5088e6774a13201683642790d2e69e55e4f47612934", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEMNtdgnkxnPWjtnaKDF5chHUvYxT3NdY/\nbFZQzdMvtU901KUIjmd0oTIBaDZCeQ0uaeVeT0dhKTQ=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 413, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "047db27da4d67a2de0c78815809719bdf6976332c67ef0f3827df4adc22ab37aec2eed0d5e67acfd6a195f21032d9af71ce73e120fdda29f1a", - "wx" : "7db27da4d67a2de0c78815809719bdf6976332c67ef0f3827df4adc2", - "wy" : "2ab37aec2eed0d5e67acfd6a195f21032d9af71ce73e120fdda29f1a" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00047db27da4d67a2de0c78815809719bdf6976332c67ef0f3827df4adc22ab37aec2eed0d5e67acfd6a195f21032d9af71ce73e120fdda29f1a", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEfbJ9pNZ6LeDHiBWAlxm99pdjMsZ+8POC\nffStwiqzeuwu7Q1eZ6z9ahlfIQMtmvcc5z4SD92inxo=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 414, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04d1c19d46b517bb3bd7bdf074ff975c0dbd2bde10d1ad217e58ebc8c55ac898c040a185804ddb032b48103d6c8d12043d3a4fec93aba7a6d7", - "wx" : "00d1c19d46b517bb3bd7bdf074ff975c0dbd2bde10d1ad217e58ebc8c5", - "wy" : "5ac898c040a185804ddb032b48103d6c8d12043d3a4fec93aba7a6d7" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d1c19d46b517bb3bd7bdf074ff975c0dbd2bde10d1ad217e58ebc8c55ac898c040a185804ddb032b48103d6c8d12043d3a4fec93aba7a6d7", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE0cGdRrUXuzvXvfB0/5dcDb0r3hDRrSF+\nWOvIxVrImMBAoYWATdsDK0gQPWyNEgQ9Ok/sk6unptc=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 415, - "comment" : "extreme value for k and s^-1", - "msg" : "313233343030", - "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c249249249249249249249249249227ce201a6b76951f982e7ae89852", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04d95ac96ae9dbfb80911862e00a4cadbcb2359f499b53be007f0711c093d3da931acbb9242800dc521695b4f19ff2dffc3613f40bdb15c3cd", - "wx" : "00d95ac96ae9dbfb80911862e00a4cadbcb2359f499b53be007f0711c0", - "wy" : "0093d3da931acbb9242800dc521695b4f19ff2dffc3613f40bdb15c3cd" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d95ac96ae9dbfb80911862e00a4cadbcb2359f499b53be007f0711c093d3da931acbb9242800dc521695b4f19ff2dffc3613f40bdb15c3cd", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE2VrJaunb+4CRGGLgCkytvLI1n0mbU74A\nfwcRwJPT2pMay7kkKADcUhaVtPGf8t/8NhP0C9sVw80=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 416, - "comment" : "extreme value for k", - "msg" : "313233343030", - "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34", - "wx" : "00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21", - "wy" : "00bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtw4MvWu0v38yE5C5SgPB01bCESI0MoDW\nEVwdIb03Y4i19yP7TCLf5s1DdaBaB0dkRNWBmYUAfjQ=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 417, - "comment" : "testing point duplication", - "msg" : "313233343030", - "sig" : "303c021c43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0021c249249249249249249249249249227ce201a6b76951f982e7ae89851", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 418, - "comment" : "testing point duplication", - "msg" : "313233343030", - "sig" : "303d021d00bc07ff041506dc73a75086a4325211e696eb6b31da8ff5c2c728d38d021c249249249249249249249249249227ce201a6b76951f982e7ae89851", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd", - "wx" : "00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21", - "wy" : "42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtw4MvWu0v38yE5C5SgPB01bCESI0MoDW\nEVwdIULInHdKCNwEs90gGTK8il6l+Libuyp+Znr/gc0=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 419, - "comment" : "testing point duplication", - "msg" : "313233343030", - "sig" : "303c021c43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0021c249249249249249249249249249227ce201a6b76951f982e7ae89851", - "result" : "invalid", - "flags" : [] - }, - { - "tcId" : 420, - "comment" : "testing point duplication", - "msg" : "313233343030", - "sig" : "303d021d00bc07ff041506dc73a75086a4325211e696eb6b31da8ff5c2c728d38d021c249249249249249249249249249227ce201a6b76951f982e7ae89851", - "result" : "invalid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176", - "wx" : "4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466", - "wy" : "00ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAETCRmcGWKHUH113vOJGy+OGrCKEjiabnU\nzWfEZt3ZRxU9ObLUJTOkYN7yaIBAjK8t091I/oiM0XY=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 421, - "comment" : "pseudorandom signature", - "msg" : "", - "sig" : "303e021d00f72915d6d916014279616186869a01228fcd9f1b4078353018b399ab021d00b67f2b91eeeb910381f5b461a4a39c642aea4792013d4eb63da1832b", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 422, - "comment" : "pseudorandom signature", - "msg" : "4d7367", - "sig" : "303e021d00a5d179c336ccdc760dfddd913cdf8ea468d0f4686f7b2d3825698ed7021d00a77f12060a4d1b94b0d1c443eae3ad6e21b7eacfdf6fbf39a2b29658", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 423, - "comment" : "pseudorandom signature", - "msg" : "313233343030", - "sig" : "303e021d00b7c65dce56abe24fb4592ece5ac1e6ee8353431f7452409add736884021d00e5fe5db7988931026b937dc4ef983fe446ca134d29b94ac777cde317", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 424, - "comment" : "pseudorandom signature", - "msg" : "0000000000000000000000000000000000000000", - "sig" : "303d021c05c563d3a4bad874e4610adfa57777a59f995bfa06ef97bf125a4988021d0097ed68f546cf4bb4998524c18356f3af162d2bf2744be93357bc4b4b", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000", - "wx" : "00aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf", - "wy" : "008a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAErtb8rSQAxNlOVdu2sBLOPUwrRoQ/vpnU\nKJ5uz4okqJ5xND19FR0ljSy2kDScLVazZt0QpgAAAAA=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 425, - "comment" : "y-coordinate of the public key has many trailing 0's", - "msg" : "4d657373616765", - "sig" : "303e021d00c7a6f358b7d93815189ae5d2c3ab4d4e05f43176a52dd4fc5b48a34a021d00a2458512bb8dbe6f1bd6eb01d2d77d5624e8547bf87d85fc731c0c86", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 426, - "comment" : "y-coordinate of the public key has many trailing 0's", - "msg" : "4d657373616765", - "sig" : "303d021c5f56ca587d16664a20dad13df85a475978e5cee81a8d0f49faaf6158021d00b64ef59d79461fe1a09a5864907435f70bd75f183afb11903f560b7c", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 427, - "comment" : "y-coordinate of the public key has many trailing 0's", - "msg" : "4d657373616765", - "sig" : "303e021d00dd94f5b56e9947d007e7c8efd894a5c882f1d0b5dd56c32b5b266521021d00fbc883741bd27c59958ae17ba6e4a41ad1edeca9a3ba31c8f233b5ac", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff", - "wx" : "00bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1", - "wy" : "73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvxns/kP/4on2mfR5MWFFuaf3Nwuezlqx\nISF08XPVKJSa6RQvgYut5xqWBAeWO+C2SCpqYP////8=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 428, - "comment" : "y-coordinate of the public key has many trailing 1's", - "msg" : "4d657373616765", - "sig" : "303e021d008071e6682c6e8a32706dc7e411503946546b31fff27dcce188ae389f021d00dc396c797d44edf794432d1da091f8c762974d8ce1f06e08ca013622", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 429, - "comment" : "y-coordinate of the public key has many trailing 1's", - "msg" : "4d657373616765", - "sig" : "303c021c791624e5f234b8950d509d0b456ef6fa778b19dccd609d496b62a211021c6c51e846fa53d03d42f798e6bb90954f9a48c1794b47e84ac97b460a", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 430, - "comment" : "y-coordinate of the public key has many trailing 1's", - "msg" : "4d657373616765", - "sig" : "303c021b34befa1d25b756ce76b383a6e8753741c12a59266c2c7921ff6e8b021d00bc44e3823e4d807cbc92fa786a89e62a4b217b5fb0c0f1865d4a7e43", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0", - "wx" : "26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000", - "wy" : "00eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEJuWr8TXLVOqqFraeSwspInU0Toignfbf\ngAAAAOq4kd5U4/Jv9Qq5ifMz2sVRWD1GiuYjxZZDSvA=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 431, - "comment" : "x-coordinate of the public key has many trailing 0's", - "msg" : "4d657373616765", - "sig" : "303c021c224a38e733ebd3fac274ecc50ecef2e7c3189be2b9d093a8dcc6fa3a021c134fa5a4f923d296b3c6dd4683d249ccf0ad272890e4149c9a0d7415", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 432, - "comment" : "x-coordinate of the public key has many trailing 0's", - "msg" : "4d657373616765", - "sig" : "303d021c338d07d990879ad844e24c1788e362269d8aca70500357d385768227021d00f745cc4ebaaf1cd42830026a66e5b95564cdbee5edf853bb2cc91259", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 433, - "comment" : "x-coordinate of the public key has many trailing 0's", - "msg" : "4d657373616765", - "sig" : "303c021c689fce4b33d8212a663640a1ae0efaa7a7d7711beba719374fe634ee021c04bd9981fa52293063076f0fd70fc31875d580ef94f020d2f95440e0", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd", - "wx" : "00ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff", - "wy" : "41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE7GJ/NFVF0D+Mbb0I5XVScRZWf+N1+eyq\n/////0G/cFaX1fcWvPeHGNU5O2OphpH0ofJCRjdVOP0=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 434, - "comment" : "x-coordinate of the public key has many trailing 1's", - "msg" : "4d657373616765", - "sig" : "303c021c2a4287e01510e7fb5fed2e1ccc3f2a6929cf7d03850e49d7ae8a504a021c355c3915f3fa9637dc8001438a8c04e15d14934cabd430feb0cb5ba5", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 435, - "comment" : "x-coordinate of the public key has many trailing 1's", - "msg" : "4d657373616765", - "sig" : "303d021d00b5bf795a38adb052b401468ffcab81103d2d9fca2e15b8d08ab98ce8021c5ec0d2c6aec71888c941af324c7272bec192abb292f9df82a24e8a41", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 436, - "comment" : "x-coordinate of the public key has many trailing 1's", - "msg" : "4d657373616765", - "sig" : "303d021c100ed07f467133bf10917f7a15ab2bfda519bdbc2653b95955e22211021d00b38a081f7c2e2b775d1da868d0381c09ba1559c9613b5be7159363ad", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5", - "wx" : "15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a", - "wy" : "762d28f1fdc219184f81681fbff566d465b5f1f31e872df5" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFQFuUrNkctU2R3YF+4Bd05AwgqBi0eow\nr55VWgAAAAB2LSjx/cIZGE+BaB+/9WbUZbXx8x6HLfU=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 437, - "comment" : "y-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303c021c54e6add8ac910e52c6228fe3980d8f586218334d8d859ba9a3329917021c5836cc79ec88519eab4a6b2614c501628c9fee32fbafd93e32158409", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 438, - "comment" : "y-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303c021c1230d5409f379584b4d548b7bccba64baf81d512a9f2e6398c4e3a66021c1937a298f8cbdfa85b8e6fcf0a12be4966d80270cade85a0c37ee6f3", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 439, - "comment" : "y-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303e021d00862f43b044fb32adb45e00378ba083ae761c84452054f17b1341bf5b021d0095d8d8e5e3a6cc2b0a06c792252ca11a642257721831578520f96b9e", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c", - "wx" : "15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a", - "wy" : "00ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFQFuUrNkctU2R3YF+4Bd05AwgqBi0eow\nr55VWv////+J0tcOAj3m57B+l99ACpkrmkoODOF40gw=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 440, - "comment" : "y-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303d021d00cb5cabb1ca01b847a6bc70558d1e5d3a204d1741bbe800f4b159af35021c3580cc85f218394130bddf1c4eac04fe96f59f14fb436686950398be", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 441, - "comment" : "y-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303d021d00c9d83dc04cf4ee89c405045d0fd1d704f627ca5bbe350f40b826bbc1021c74fedc9e55045e9759f2124460fdfb991dc620cfee6effc0b4adaa9e", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 442, - "comment" : "y-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303d021c46dd65b6e7f10c0841841b01033a5befd3a0e78c85f1f390bb3cdf25021d00f33acea3d47cf0dd5273735b004104f6512ed641052509422c0325a7", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "0400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1", - "wx" : "00f7e4713d085112112c37cdf4601ff688da796016b71a727a", - "wy" : "00de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEAAAAAPfkcT0IURIRLDfN9GAf9ojaeWAW\ntxpyet5ansFlBUzJh/nch+mZG5Lk+mScplXurp8qMOE=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 443, - "comment" : "x-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303e021d00ddb4a7e400a1e98118f474722da3f421f65a76eec61f4f7b699faf07021d00db80cba199859cdfe916d6ab3deb91d76aaf0ed554c8f9ed7e5aa59d", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 444, - "comment" : "x-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303d021c4c260b546280604e4c80384721c9e803ef704e7fb70168e6730fc1f3021d00a8aceae219ac25c9f04231b4e0c171413db1d26df1c1e8430062eb2b", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 445, - "comment" : "x-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303e021d00f4098d2c0240e78fceabb0183df0b39e7ad3e7f5d6da1587fa09853c021d00d42412b2abaa614c95eb11f9b9346282ce3a1c93aac35ce7aa372f4a", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e", - "wx" : "00ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725", - "wy" : "0086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE/////+rffO6NNNBM8iyPfeNWdPsvUB0k\nKnb3JYbECTCdOY5gzh4KTJ4FqdMmJ1d+jOLMfzr6LD4=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 446, - "comment" : "x-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303d021c48ddc497f9a4732c677e46c0e2bdabec54fc9d27e46ab595056db4d9021d00b8219ebbfaebc2fe4311efab0c35d4392751351bcc1971e8d01941e4", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 447, - "comment" : "x-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303d021d00e1abaf51d27a6d7d4c9b28078325cac2d7ce3d5403916c68903760b7021c2c45a99e2770f782fee5ca1d713eaecf07e62d53c64b7cf93de9900d", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 448, - "comment" : "x-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303d021d00868cd127c99e1149f7fc8d878cdfa986b62e99addea281149611ff15021c16e5953820135b7d462ce5434ef85920e973eec9e4d14d7cb3cc2a3f", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc", - "wx" : "00b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1", - "wy" : "0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsAE8b7/28J/s2hwmPvZTmdTPmJyl/E+P\n/w/p4QAAAAAOKrDoSV6FnrKvsAdp1uf+YmoRkWfAtrw=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 449, - "comment" : "y-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303e021d00a375929718ec4e6ada9c9370c51df6bdaee7ebab2a70675d42a0b6b3021d009eaf4802efaf7ca082ffbf5ed774af43792d9b3fd711c6b1c36112ff", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 450, - "comment" : "y-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303d021d00d97b32f3bf8bc11ec2672dd6320418beeed99527a63fe4c52199ec61021c68dd9006b03319ccbe651d0bdaf84c63356f03cb007a6865ee3e0206", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 451, - "comment" : "y-coordinate of the public key is small", - "msg" : "4d657373616765", - "sig" : "303d021d008ee5794dc2e66f2584910ea1d8361e5b53db535adcf5c1c35e128309021c5d1d8b9b996c0a488e05af14421b86e9841f0cba706027fc827d4d95", - "result" : "valid", - "flags" : [] - } - ] - }, - { - "key" : { - "curve" : "secp224r1", - "keySize" : 224, - "type" : "EcPublicKey", - "uncompressed" : "04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945", - "wx" : "00b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1", - "wy" : "00fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945" - }, - "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945", - "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsAE8b7/28J/s2hwmPvZTmdTPmJyl/E+P\n/w/p4f/////x1U8XtqF6YU1QT/eWKRgBnZXubpg/SUU=\n-----END PUBLIC KEY-----", - "sha" : "SHA-512", - "type" : "EcdsaVerify", - "tests" : [ - { - "tcId" : 452, - "comment" : "y-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303d021c7999727c0cc02d88ef274012a762afcbb19e7fce19091a02acd00564021d00dbfacf67999f22c499d48a60a6fe4bbb746199c29957a1ec7a0900e0", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 453, - "comment" : "y-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303c021c5797c21c0162e42f69693c6c0244dfdf9218c01e9235760177b61a54021c5452c887b27fb342a8a00d27579c7195dddb73df399233ed0dea567b", - "result" : "valid", - "flags" : [] - }, - { - "tcId" : 454, - "comment" : "y-coordinate of the public key is large", - "msg" : "4d657373616765", - "sig" : "303d021c0eb9dc5d67bb0d4009544f8654977907dfe770e7fae4571d31d7b4fa021d00ab5cda53e868bff5198be4be3681b186cb0c1396d272c71f093f8b12", - "result" : "valid", - "flags" : [] - } - ] - } - ] -} diff --git a/tests/test_ec.ml b/tests/test_ec.ml index a9380769..bbdca574 100644 --- a/tests/test_ec.ml +++ b/tests/test_ec.ml @@ -282,102 +282,6 @@ let ecdsa = [ "ECDSA verify", `Quick, ecdsa_verify ; ] -let ecdsa_rfc6979_p224 = - (* A.2.4 - P 224 *) - let priv, pub = - let data = Cstruct.of_hex "F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1" in - match P224.Dsa.priv_of_cstruct data with - | Ok p -> p, P224.Dsa.pub_of_priv p - | Error _ -> assert false - in - let pub_rfc () = - let fst = Cstruct.create 1 in - Cstruct.set_uint8 fst 0 4; - let ux = Cstruct.of_hex "00CF08DA5AD719E42707FA431292DEA11244D64FC51610D94B130D6C" - and uy = Cstruct.of_hex "EEAB6F3DEBE455E3DBF85416F7030CBD94F34F2D6F232C69F3C1385A" - in - match P224.Dsa.pub_of_cstruct (Cstruct.concat [ fst ; ux ; uy ]) with - | Ok p -> - let pub_eq = - Cstruct.equal (P224.Dsa.pub_to_cstruct pub) (P224.Dsa.pub_to_cstruct p) - in - Alcotest.(check bool __LOC__ true pub_eq) - | Error _ -> Alcotest.fail "bad public key" - in - let case hash ~message ~k ~r ~s () = - let msg = - let h = Mirage_crypto.Hash.digest hash (Cstruct.of_string message) in - Cstruct.sub h 0 (min (Cstruct.length h) 28) - and k = Cstruct.of_hex k - in - let k' = - let module H = (val (Mirage_crypto.Hash.module_of hash)) in - let module K = P224.Dsa.K_gen (H) in - K.generate ~key:priv msg - in - Alcotest.(check bool __LOC__ true (Cstruct.equal k k')); - let sig_eq (r', s') = - Cstruct.equal (Cstruct.of_hex r) r' && Cstruct.equal (Cstruct.of_hex s) s' - in - let sig' = P224.Dsa.sign ~key:priv ~k msg in - Alcotest.(check bool __LOC__ true (sig_eq sig')) - in - let cases = [ - - case `SHA1 ~message:"sample" - ~k:"7EEFADD91110D8DE6C2C470831387C50D3357F7F4D477054B8B426BC" - ~r:"22226F9D40A96E19C4A301CE5B74B115303C0F3A4FD30FC257FB57AC" - ~s:"66D1CDD83E3AF75605DD6E2FEFF196D30AA7ED7A2EDF7AF475403D69"; - - case `SHA224 ~message:"sample" - ~k:"C1D1F2F10881088301880506805FEB4825FE09ACB6816C36991AA06D" - ~r:"1CDFE6662DDE1E4A1EC4CDEDF6A1F5A2FB7FBD9145C12113E6ABFD3E" - ~s:"A6694FD7718A21053F225D3F46197CA699D45006C06F871808F43EBC"; - - case `SHA256 ~message:"sample" - ~k:"AD3029E0278F80643DE33917CE6908C70A8FF50A411F06E41DEDFCDC" - ~r:"61AA3DA010E8E8406C656BC477A7A7189895E7E840CDFE8FF42307BA" - ~s:"BC814050DAB5D23770879494F9E0A680DC1AF7161991BDE692B10101"; - - case `SHA384 ~message:"sample" - ~k:"52B40F5A9D3D13040F494E83D3906C6079F29981035C7BD51E5CAC40" - ~r:"0B115E5E36F0F9EC81F1325A5952878D745E19D7BB3EABFABA77E953" - ~s:"830F34CCDFE826CCFDC81EB4129772E20E122348A2BBD889A1B1AF1D"; - - case `SHA512 ~message:"sample" - ~k:"9DB103FFEDEDF9CFDBA05184F925400C1653B8501BAB89CEA0FBEC14" - ~r:"074BD1D979D5F32BF958DDC61E4FB4872ADCAFEB2256497CDAC30397" - ~s:"A4CECA196C3D5A1FF31027B33185DC8EE43F288B21AB342E5D8EB084"; - - case `SHA1 ~message:"test" - ~k:"2519178F82C3F0E4F87ED5883A4E114E5B7A6E374043D8EFD329C253" - ~r:"DEAA646EC2AF2EA8AD53ED66B2E2DDAA49A12EFD8356561451F3E21C" - ~s:"95987796F6CF2062AB8135271DE56AE55366C045F6D9593F53787BD2"; - - case `SHA224 ~message:"test" - ~k:"DF8B38D40DCA3E077D0AC520BF56B6D565134D9B5F2EAE0D34900524" - ~r:"C441CE8E261DED634E4CF84910E4C5D1D22C5CF3B732BB204DBEF019" - ~s:"902F42847A63BDC5F6046ADA114953120F99442D76510150F372A3F4"; - - case `SHA256 ~message:"test" - ~k:"FF86F57924DA248D6E44E8154EB69F0AE2AEBAEE9931D0B5A969F904" - ~r:"AD04DDE87B84747A243A631EA47A1BA6D1FAA059149AD2440DE6FBA6" - ~s:"178D49B1AE90E3D8B629BE3DB5683915F4E8C99FDF6E666CF37ADCFD"; - - case `SHA384 ~message:"test" - ~k:"7046742B839478C1B5BD31DB2E862AD868E1A45C863585B5F22BDC2D" - ~r:"389B92682E399B26518A95506B52C03BC9379A9DADF3391A21FB0EA4" - ~s:"414A718ED3249FF6DBC5B50C27F71F01F070944DA22AB1F78F559AAB"; - - case `SHA512 ~message:"test" - ~k:"E39C2AA4EA6BE2306C72126D40ED77BF9739BB4D6EF2BBB1DCB6169D" - ~r:"049F050477C5ADD858CAC56208394B5A55BAEBBE887FDF765047C17C" - ~s:"077EB13E7005929CEFA3CD0403C7CDCC077ADF4E44F3C41B2F60ECFF"; - - ] in - ("public key matches", `Quick, pub_rfc) :: - List.mapi (fun i c -> "RFC 6979 A.2.4 " ^ string_of_int i, `Quick, c) cases - let ecdsa_rfc6979_p256 = (* A.2.5 - P 256 *) let priv, pub = @@ -1090,7 +994,6 @@ let () = ("P256 Point validation", point_validation); ("P256 Scalar validation when generating", scalar_validation); ("ECDSA NIST", ecdsa); - ("ECDSA RFC 6979 P224", ecdsa_rfc6979_p224); ("ECDSA RFC 6979 P256", ecdsa_rfc6979_p256); ("ECDSA RFC 6979 P384", ecdsa_rfc6979_p384); ("ECDSA RFC 6979 P521", ecdsa_rfc6979_p521); diff --git a/tests/test_ec_wycheproof.ml b/tests/test_ec_wycheproof.ml index fcd6c46a..a8b0cfae 100644 --- a/tests/test_ec_wycheproof.ml +++ b/tests/test_ec_wycheproof.ml @@ -118,7 +118,6 @@ module Asn = struct let parse_point curve s = let ec_public_key = encode_oid [ 1 ; 2 ; 840; 10045; 2; 1 ] in let prime_oid = encode_oid (match curve with - | "secp224r1" -> [ 1 ; 3 ; 132; 0; 33 ] | "secp256r1" -> [ 1 ; 2 ; 840; 10045; 3; 1; 7 ] | "secp384r1" -> [ 1 ; 3 ; 132; 0; 34 ] | "secp521r1" -> [ 1 ; 3 ; 132; 0; 35 ] @@ -173,7 +172,6 @@ let pad ~total_len cs = Ok (Cstruct.append (Cstruct.create pad_len) cs) let len = function - | "secp224r1" -> 28 | "secp256r1" -> 32 | "secp384r1" -> 48 | "secp521r1" -> 66 @@ -192,11 +190,6 @@ type test = { let perform_key_exchange curve ~public_key ~raw_private_key = to_string_result ~pp_error (match curve with - | "secp224r1" -> - begin match P224.Dh.secret_of_cs raw_private_key with - | Ok (p, _) -> P224.Dh.key_exchange p public_key - | Error _ -> assert false - end | "secp256r1" -> begin match P256.Dh.secret_of_cs raw_private_key with | Ok (p, _) -> P256.Dh.key_exchange p public_key @@ -282,11 +275,6 @@ let make_ecdsa_test curve key hash (tst : dsa_test) = in let verified (r,s) = match curve with - | "secp224r1" -> - begin match P224.Dsa.pub_of_cstruct key with - | Ok key -> P224.Dsa.verify ~key (r, s) msg - | Error _ -> assert false - end | "secp256r1" -> begin match P256.Dsa.pub_of_cstruct key with | Ok key -> P256.Dsa.verify ~key (r, s) msg @@ -431,13 +419,6 @@ let ed25519_tests = let () = Alcotest.run "Wycheproof NIST curves" [ - ("ECDH P224 test vectors", ecdh_tests "ecdh_secp224r1_test.json") ; - ("ECDSA P224 test vectors (SHA224)", - ecdsa_tests "ecdsa_secp224r1_sha224_test.json") ; - ("ECDSA P224 test vectors (SHA256)", - ecdsa_tests "ecdsa_secp224r1_sha256_test.json") ; - ("ECDSA P224 test vectors (SHA512)", - ecdsa_tests "ecdsa_secp224r1_sha512_test.json") ; ("ECDH P256 test vectors", ecdh_tests "ecdh_secp256r1_test.json") ; ("ECDSA P256 test vectors (SHA256)", ecdsa_tests "ecdsa_secp256r1_sha256_test.json") ;