From 9d9378024da915ba66effdd5ed3540384b24c03b Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 12:36:23 +0000 Subject: [PATCH 001/227] class v5 harness: POW_BIN points the CLI id read at another igneum-pow build (the freeze CLI for a pairing read-back) Co-Authored-By: Claude Fable 5.1 --- tools/class-v5/harness-box.sh | 2 +- tools/class-v5/harness-remote.sh | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/class-v5/harness-box.sh b/tools/class-v5/harness-box.sh index e4bfbf26d..3a6333539 100755 --- a/tools/class-v5/harness-box.sh +++ b/tools/class-v5/harness-box.sh @@ -10,7 +10,7 @@ mkdir -p "$REMOTE_LOG" cd "$REMOTE_ROOT" IGNEUM_V5_BASE="$BASE" IGNEUM_V5_TMP="/tmp/igneum-fast-time-v5s-$CASE" \ IGNEUM_V5_BIN="${IGNEUM_V5_BIN:-$REMOTE_ROOT/vendor/igneum-node-class-v5/target/release}" \ -IGNEUM_POW="$REMOTE_ROOT/igneum-pow/target/release/igneum-pow" \ +IGNEUM_POW="${IGNEUM_POW_BIN:-$REMOTE_ROOT/igneum-pow/target/release/igneum-pow}" \ node infra/fast-time/class-v5-signal.mjs "$@" > "$REMOTE_LOG/$CASE.log" 2>&1 rc=$? cp "/tmp/igneum-fast-time-v5s-$CASE/summary.json" "$REMOTE_LOG/$CASE.json" 2>/dev/null || true diff --git a/tools/class-v5/harness-remote.sh b/tools/class-v5/harness-remote.sh index f8daccec0..82e1e3a42 100755 --- a/tools/class-v5/harness-remote.sh +++ b/tools/class-v5/harness-remote.sh @@ -30,6 +30,7 @@ rsync -a -e "ssh -i $KEY" "$ROOT/infra/fast-time/class-v5-signal.mjs" "$ROOT/inf rsync -a -e "ssh -i $KEY" "$ROOT/tools/class-v5/harness-box.sh" "$HOST:$REMOTE_ROOT/tools/class-v5/" # the box side is a script run by path (tools/class-v5/harness-box.sh), not an ssh command string # FORK_BIN= points the harness at another fork build (the node lane's pair build for a fix not yet on class-v5-node) -ssh -i "$KEY" "$HOST" "IGNEUM_V5_BIN=${FORK_BIN:-} $REMOTE_ROOT/tools/class-v5/harness-box.sh" "$REMOTE_ROOT" "$REMOTE_LOG" "$CASE" "$BASE" $ARGS || true +# POW_BIN= points the harness's CLI id read at another crate build (the freeze CLI for a pairing read-back) +ssh -i "$KEY" "$HOST" "IGNEUM_V5_BIN=${FORK_BIN:-} IGNEUM_POW_BIN=${POW_BIN:-} $REMOTE_ROOT/tools/class-v5/harness-box.sh" "$REMOTE_ROOT" "$REMOTE_LOG" "$CASE" "$BASE" $ARGS || true rsync -a -e "ssh -i $KEY" "$HOST:$REMOTE_LOG/$CASE.log" "$HOST:$REMOTE_LOG/$CASE.json" "$OUT/" 2>/dev/null || true grep -E "SUMMARY|FAILED CHECK|PROGRAM ID|CLASS SWITCH" "$OUT/$CASE.log" || tail -20 "$OUT/$CASE.log" From 5277dc8f8d1c304b39fb2b2b0bdc7f9871b92d73 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 12:36:47 +0000 Subject: [PATCH 002/227] class v5 design page: the 0.3.25 pin's pairing STOP (the attempt-3 seed divergence, the embedded crate path), the pairing rule's attempt-3 line, the read-back plan Co-Authored-By: Claude Fable 5.1 --- docs/design/class-v5-stored-state.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/design/class-v5-stored-state.md b/docs/design/class-v5-stored-state.md index eb687c2f9..7e3c7b5cd 100644 --- a/docs/design/class-v5-stored-state.md +++ b/docs/design/class-v5-stored-state.md @@ -47,6 +47,7 @@ Clock rule for this page: every time is UK time (UK time tonight, UTC+1). The bu | 09:4x | The Arc B580 read (09:36 UK): no fingerprint, the kit worker's self-test fails on both classes' vector lanes with the dataset right: an Intel OpenCL per-nonce evaluation fault, not class v5's; the Intel kit HELD out of 0.3.24 with the crossing time 09:36 UK; the kit stands on five of six platforms | | 12:3x | 0.3.25's pairing line sent at the 12:30 default: the freeze 1c420786, kit zip 65b47211 (packs, ids and fingerprint byte-identical to the freeze's; built from 8f481459 with the Intel rotate-fold fix, gate 73 GREEN, suite green), the Intel worker held out; the second PC dark since 10:46 UK, so the Arc read and the Intel kit go to 0.3.26 at the earliest | | 13:1x | Devnet 3 crossed the class v5 floor at DAA 68,400 (12:48 UK, by the floor: the v5 signal share read 1,407 bps). The template read on the seed at 13:1x UK: epoch 19, class 5, version 1538 (object byte 6), seed a75c5624...9d19, era the genesis, day 20,734; the executor serves epoch 19's stream (869 records, root 0x1fd55139...4561); the kit's igneum-pow names the program: attempt 2, id 3d375a55029e7e60. No block came for a time: every fleet miner's worker was the hive package's CUDA worker, which runs generators 2, 3 and 4 only and refuses the pack with a line ("program pack generator 5 is not a generator version this worker runs"), the miner at 0 MH/s retrying; the DMG's Metal worker from the freeze's tree refuses the same way (the v5 path is the v5-kits lane's 5c9ed959, in class-v5 from e208dfea on, not in 1c420786's tree: the freeze is the hash object, the worker hosts are the kit's). The pairing check: the 0.3.24 pin's miner (igneum-pow 1c420786) on build-1 against the live seed read the same id, 3d375a55029e7e60, at 12:56 UK ("epoch 19 is class v5, the next epoch class v5"; its line prints the id only, the attempt is read on this lane's side). Also found: a miner not told its node's exec RPC port cannot prepare class v5 at all (the refusal line "class v5 needs the execution state after the epoch's seed block ... connection refused"), so every fleet miner loop must carry --exec-rpc before the kit worker helps it. The fix in flight: the kit's workers (zip 65b47211) and --exec-rpc on every fleet box, the hive, Windows and Mac packages rebuilt from the kit tree | +| 13:4x | The shipper's STOP on the 0.3.25 pin d5b68fae (13:42 UK): the fast-time pair's `v5_ids_equal_the_cli_v5_id` FAILED on epoch 9's attempt-3 seed ec0a8cf9 (the freeze CLI 1c420786 draws ebf64b32e2d84c5b, the pin's miner 65b57e3b847d362e, its nodes accepting 4 of 4 on it); every 0.3.25 node binary embeds "igneum-pow-v5/src", not the freeze's crate: rule 7's pairing broken in the node lane's build path, a chain-split class. PAIRING RULE, added: the fast-time set carries an attempt-3 seed on every run (an attempt-0 seed cannot tell two acceptance rules apart). The node lane folds the freeze pairing and the ceiling re-cut into one commit; this lane's read-back on the rebuilt pair: the freeze CLI built at exactly 1c420786 on build-1 (/srv/builds/_scratch/v5-freeze-cli) against the new sha's miner, id for id and attempt for attempt on every v5 epoch of the flip case (the harness's POW_BIN override, 8c810148), and the live network's path: the 0.3.24 miner's epoch-19 read 3d375a55029e7e60 against the freeze CLI | ## 1. The claim, in one paragraph From 3cfa8cd9f58a155242e707a57637952d8fb8d42f Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 12:57:30 +0000 Subject: [PATCH 003/227] class v5 design page: the pairing read-back on the rebuilt 0.3.25 pair (PASS, id for id on epochs 8 to 10 against the freeze CLI at exactly e4534d19; no attempt-3 seed in the run, the seeded case next), the logs Co-Authored-By: Claude Fable 5.1 --- .../class-v5-harness/readback-0325.json | 1016 +++++++++++++++++ .../design/class-v5-harness/readback-0325.log | 73 ++ docs/design/class-v5-stored-state.md | 1 + 3 files changed, 1090 insertions(+) create mode 100644 docs/design/class-v5-harness/readback-0325.json create mode 100644 docs/design/class-v5-harness/readback-0325.log diff --git a/docs/design/class-v5-harness/readback-0325.json b/docs/design/class-v5-harness/readback-0325.json new file mode 100644 index 000000000..7d36c0bdc --- /dev/null +++ b/docs/design/class-v5-harness/readback-0325.json @@ -0,0 +1,1016 @@ +{ + "pass": true, + "expect": "flip", + "signals": [ + 6, + 6, + 6 + ], + "checks": { + "zero_rejected_by_miners": true, + "zero_rejected_by_nodes": true, + "sinks_agree": true, + "block_counts_agree": true, + "miners_agree_on_every_program": true, + "window_line_on_every_node": true, + "every_node_signals_its_byte": true, + "chain_carries_the_bytes": true, + "state_roots_agree_across_nodes": true, + "template_switched_to_v5": true, + "switched_at_the_first_full_window_epoch": true, + "switched_before_the_floor": true, + "signal_line_on_every_node_same_epoch": true, + "signal_share_at_or_above_threshold": true, + "blocks_on_both_sides": true, + "epochs_under_the_window_take_the_floors_class": true, + "v5_ids_equal_the_cli_v5_id": true, + "v5_ids_differ_from_the_same_seed_v4_id": true, + "a_v5_epoch_per_window_refresh": true, + "accepted_parser_proved": true, + "stateless_node_mines_nothing_after_the_flip": true, + "stateless_node_stops_at_the_flip": true, + "stale_miner_falls_off_at_the_first_refresh": true + }, + "window": 60, + "windows": 7, + "floor": 100000, + "v4_floor": 120, + "v3_activation": 60, + "epoch_blocks": 60, + "lead": 10, + "first_full_window_epoch": 8, + "floor_epoch": 1667, + "stale_miner": null, + "stale_accepted_after_first_refresh": null, + "honest_accepted_after_flip": [ + 68, + 59, + 53 + ], + "stale_rejected": null, + "stateless_node": 3, + "stateless_accepted_after_flip": 0, + "stateless_refusal_lines": 2, + "state_roots_at_flip": [ + "0x1f8c3947c3d6c541d1edd121dc173a001366c9c10845df2c16a2808420106f13", + "0x1f8c3947c3d6c541d1edd121dc173a001366c9c10845df2c16a2808420106f13", + "0x1f8c3947c3d6c541d1edd121dc173a001366c9c10845df2c16a2808420106f13" + ], + "streams": { + "8": { + "root": "0x42ab4909a4639b610bc9bb093bf573930d925a3e264254bf0c76dd572bf1b8d2", + "records": 17, + "block": "0d678808b643463dc1ddc024c3eaa97062d9923b5619bbd8de7d9dbfb83d9802" + }, + "9": { + "root": "0x0c78a7c4d904dbf1ac372b329b426657311d9626daecf517ddc601dc5e701682", + "records": 17, + "block": "a171f4772ab723c19e005f44272a9fede391e201a24bea1224ce6a99275b4a8b" + }, + "10": { + "root": "0x5625c3098db30d8d9cbfa212c38b2065f24fda889ee52799656d79e2564a0396", + "records": 17, + "block": "bbb07c76c85908d4ca6331172cd35b6ba3da4e28acc321cbade06bc8dce276c0" + } + }, + "days_seen": [ + 1244071, + 1244072 + ], + "day_boundary_crossed": true, + "node": "/srv/artefacts/0325-6ccaf9e9/node-lane/igneumd", + "miner": "/srv/artefacts/0325-6ccaf9e9/node-lane/igneum-miner", + "template_switch": { + "epoch": 8, + "daa": 480, + "at": 504.2 + }, + "run_ended_at_s": 675.4, + "final_daa": 660, + "max_epoch_seen": 11, + "epochs": { + "0": { + "class": 2, + "firstSeenDaa": 0, + "at": 5.9, + "eraSeed": "234e082d653dc69db36d875b256d0f5f4a123b353d6aa069c3c7aa9aa6c46062", + "bps": 0, + "bps5": 0, + "signal_epoch": null, + "day": 1244071 + }, + "1": { + "class": 3, + "firstSeenDaa": 60, + "at": 38.9, + "eraSeed": "234e082d653dc69db36d875b256d0f5f4a123b353d6aa069c3c7aa9aa6c46062", + "bps": 0, + "bps5": 10000, + "signal_epoch": null, + "day": 1244071 + }, + "2": { + "class": 4, + "firstSeenDaa": 120, + "at": 141, + "eraSeed": "234e082d653dc69db36d875b256d0f5f4a123b353d6aa069c3c7aa9aa6c46062", + "bps": 0, + "bps5": 10000, + "signal_epoch": null, + "day": 1244071 + }, + "3": { + "class": 4, + "firstSeenDaa": 180, + "at": 203, + "eraSeed": "234e082d653dc69db36d875b256d0f5f4a123b353d6aa069c3c7aa9aa6c46062", + "bps": 0, + "bps5": 10000, + "signal_epoch": null, + "day": 1244071 + }, + "4": { + "class": 4, + "firstSeenDaa": 240, + "at": 266.1, + "eraSeed": "234e082d653dc69db36d875b256d0f5f4a123b353d6aa069c3c7aa9aa6c46062", + "bps": 0, + "bps5": 10000, + "signal_epoch": null, + "day": 1244072 + }, + "5": { + "class": 4, + "firstSeenDaa": 300, + "at": 328.1, + "eraSeed": "234e082d653dc69db36d875b256d0f5f4a123b353d6aa069c3c7aa9aa6c46062", + "bps": 0, + "bps5": 10000, + "signal_epoch": null, + "day": 1244072 + }, + "6": { + "class": 4, + "firstSeenDaa": 360, + "at": 383.2, + "eraSeed": "234e082d653dc69db36d875b256d0f5f4a123b353d6aa069c3c7aa9aa6c46062", + "bps": 0, + "bps5": 10000, + "signal_epoch": null, + "day": 1244072 + }, + "7": { + "class": 4, + "firstSeenDaa": 420, + "at": 443.2, + "eraSeed": "234e082d653dc69db36d875b256d0f5f4a123b353d6aa069c3c7aa9aa6c46062", + "bps": 0, + "bps5": 10000, + "signal_epoch": null, + "day": 1244072 + }, + "8": { + "class": 5, + "firstSeenDaa": 480, + "at": 504.2, + "eraSeed": "234e082d653dc69db36d875b256d0f5f4a123b353d6aa069c3c7aa9aa6c46062", + "bps": 0, + "bps5": 10000, + "signal_epoch": 8, + "day": 1244072 + }, + "9": { + "class": 5, + "firstSeenDaa": 540, + "at": 559.3, + "eraSeed": "234e082d653dc69db36d875b256d0f5f4a123b353d6aa069c3c7aa9aa6c46062", + "bps": 0, + "bps5": 10000, + "signal_epoch": null, + "day": 1244072 + }, + "10": { + "class": 5, + "firstSeenDaa": 600, + "at": 620.3, + "eraSeed": "234e082d653dc69db36d875b256d0f5f4a123b353d6aa069c3c7aa9aa6c46062", + "bps": 0, + "bps5": 10000, + "signal_epoch": null, + "day": 1244072 + }, + "11": { + "class": 5, + "firstSeenDaa": 660, + "at": 675.4, + "eraSeed": "234e082d653dc69db36d875b256d0f5f4a123b353d6aa069c3c7aa9aa6c46062", + "bps": 0, + "bps5": 10000, + "signal_epoch": null, + "day": 1244072 + } + }, + "blocks": { + "total": 661, + "before_boundary": 483, + "after_boundary": 178, + "version_bytes": { + "0": 1, + "6": 660 + }, + "signal_share_bps_on_chain": 9985 + }, + "programs": [ + { + "epoch": 0, + "class": "v2", + "program_id": "8f8806638d59850f", + "seed": "234e082d653dc69d", + "miners": 4, + "disagree": false + }, + { + "epoch": 1, + "class": "v3", + "program_id": "13d3bbf851fa57c9", + "seed": "b6a5d6458b036268", + "miners": 4, + "disagree": false + }, + { + "epoch": 2, + "class": "v4", + "program_id": "96bbb9c01f083450", + "seed": "633c3aef5043bcce", + "miners": 4, + "disagree": false + }, + { + "epoch": 3, + "class": "v4", + "program_id": "3f222ceaae78288a", + "seed": "ff6b4aec476fd391", + "miners": 4, + "disagree": false + }, + { + "epoch": 4, + "class": "v4", + "program_id": "ed78280d98cdce92", + "seed": "73c82730b132cc9f", + "miners": 4, + "disagree": false + }, + { + "epoch": 5, + "class": "v4", + "program_id": "c322ab5f5cdeda21", + "seed": "55e068bacb6f5a22", + "miners": 4, + "disagree": false + }, + { + "epoch": 6, + "class": "v4", + "program_id": "88b834b73b2d51bb", + "seed": "e8fcfc6d5069498b", + "miners": 4, + "disagree": false + }, + { + "epoch": 7, + "class": "v4", + "program_id": "2b6f51405f1add60", + "seed": "90f8ad0c13c17324", + "miners": 4, + "disagree": false + }, + { + "epoch": 8, + "class": "v5", + "program_id": "13a54a0dd793ca79", + "seed": "0d678808b643463d", + "miners": 3, + "disagree": false + }, + { + "epoch": 9, + "class": "v5", + "program_id": "d35cd0e9cb186d00", + "seed": "a171f4772ab723c1", + "miners": 3, + "disagree": false + }, + { + "epoch": 10, + "class": "v5", + "program_id": "6104176723170d72", + "seed": "bbb07c76c85908d4", + "miners": 3, + "disagree": false + } + ], + "program_id_rows": [ + { + "epoch": 8, + "seed": "0d678808b643463d", + "miners_id": "13a54a0dd793ca79", + "miners": 3, + "cli_v4": "1da741ef698a6db4", + "cli_v5": "13a54a0dd793ca79", + "state_root": "0x42ab4909a4639b610bc9bb093bf573930d925a3e264254bf0c76dd572bf1b8d2", + "state_records": 17 + }, + { + "epoch": 9, + "seed": "a171f4772ab723c1", + "miners_id": "d35cd0e9cb186d00", + "miners": 3, + "cli_v4": "5e498a10ae61d651", + "cli_v5": "d35cd0e9cb186d00", + "state_root": "0x0c78a7c4d904dbf1ac372b329b426657311d9626daecf517ddc601dc5e701682", + "state_records": 17 + }, + { + "epoch": 10, + "seed": "bbb07c76c85908d4", + "miners_id": "6104176723170d72", + "miners": 3, + "cli_v4": "afe4d858b51258c7", + "cli_v5": "6104176723170d72", + "state_root": "0x5625c3098db30d8d9cbfa212c38b2065f24fda889ee52799656d79e2564a0396", + "state_records": 17 + } + ], + "accepted_per_miner": [ + 184, + 192, + 160, + 124 + ], + "rejected_by_miners": [ + 0, + 0, + 0, + 0 + ], + "rejected_by_nodes": [ + 0, + 0, + 0 + ], + "sinks": [ + "07746f278d93a731", + "07746f278d93a731", + "07746f278d93a731", + "c64efca2aff05bb7" + ], + "block_counts": [ + 660, + 660, + 660, + 482 + ], + "signal_lines": [ + "Program class v5 by miner signal: epoch 8 (share 10000 bps at byte 6 over 60 DAA ending at seed block 0d678808b643463dc1ddc024c3eaa97062d9923b5619bbd8de7d9dbfb83d9802, threshold 9500 bps in each of 7 consecutive windows, weakest 10000 bps, shares oldest first [10000, 10000, 10000, 10000, 10000, 10000, 10000], 420 of 420 blue blocks)", + "Program class v5 by miner signal: epoch 8 (share 10000 bps at byte 6 over 60 DAA ending at seed block 0d678808b643463dc1ddc024c3eaa97062d9923b5619bbd8de7d9dbfb83d9802, threshold 9500 bps in each of 7 consecutive windows, weakest 10000 bps, shares oldest first [10000, 10000, 10000, 10000, 10000, 10000, 10000], 420 of 420 blue blocks)", + "Program class v5 by miner signal: epoch 8 (share 10000 bps at byte 6 over 60 DAA ending at seed block 0d678808b643463dc1ddc024c3eaa97062d9923b5619bbd8de7d9dbfb83d9802, threshold 9500 bps in each of 7 consecutive windows, weakest 10000 bps, shares oldest first [10000, 10000, 10000, 10000, 10000, 10000, 10000], 420 of 420 blue blocks)" + ], + "floor_lines": [ + "Program class v5 from the override file: enabled, the floor at epoch 1667 (DAA score 100000 rounded up to the epoch boundary at 100020); the class v5 signal (byte 6, 9500 bps in each of 7 consecutive windows) can flip v4 to v5 before it; every item of the dataset is keyed by the execution state after the epoch's seed block", + "Program class v5 from the override file: enabled, the floor at epoch 1667 (DAA score 100000 rounded up to the epoch boundary at 100020); the class v5 signal (byte 6, 9500 bps in each of 7 consecutive windows) can flip v4 to v5 before it; every item of the dataset is keyed by the execution state after the epoch's seed block", + "Program class v5 from the override file: enabled, the floor at epoch 1667 (DAA score 100000 rounded up to the epoch boundary at 100020); the class v5 signal (byte 6, 9500 bps in each of 7 consecutive windows) can flip v4 to v5 before it; every item of the dataset is keyed by the execution state after the epoch's seed block" + ], + "samples": [ + { + "t": 5.9, + "daa": 0, + "epoch": 0, + "class": 2, + "bps": 0, + "bps5": 0, + "nodes": [ + "0/234e082d", + "0/234e082d", + "0/234e082d", + "0/234e082d" + ] + }, + { + "t": 20.9, + "daa": 33, + "epoch": 0, + "class": 2, + "bps": 0, + "bps5": 10000, + "nodes": [ + "33/d2ef461a", + "33/d2ef461a", + "33/d2ef461a", + "33/d2ef461a" + ] + }, + { + "t": 35.9, + "daa": 58, + "epoch": 0, + "class": 2, + "bps": 0, + "bps5": 10000, + "nodes": [ + "58/2e29fe31", + "58/2e29fe31", + "58/2e29fe31", + "58/2e29fe31" + ] + }, + { + "t": 50.9, + "daa": 62, + "epoch": 1, + "class": 3, + "bps": 0, + "bps5": 10000, + "nodes": [ + "62/83a755d7", + "62/83a755d7", + "62/83a755d7", + "62/83a755d7" + ] + }, + { + "t": 65.9, + "daa": 68, + "epoch": 1, + "class": 3, + "bps": 0, + "bps5": 10000, + "nodes": [ + "68/7964dbe5", + "68/7964dbe5", + "68/7964dbe5", + "68/7964dbe5" + ] + }, + { + "t": 80.9, + "daa": 73, + "epoch": 1, + "class": 3, + "bps": 0, + "bps5": 10000, + "nodes": [ + "73/560e2760", + "73/560e2760", + "73/560e2760", + "73/560e2760" + ] + }, + { + "t": 95.9, + "daa": 84, + "epoch": 1, + "class": 3, + "bps": 0, + "bps5": 10000, + "nodes": [ + "84/5e750e48", + "84/5e750e48", + "84/5e750e48", + "84/5e750e48" + ] + }, + { + "t": 111, + "daa": 95, + "epoch": 1, + "class": 3, + "bps": 0, + "bps5": 10000, + "nodes": [ + "95/0989a9b9", + "95/0989a9b9", + "95/0989a9b9", + "95/0989a9b9" + ] + }, + { + "t": 126, + "daa": 102, + "epoch": 1, + "class": 3, + "bps": 0, + "bps5": 10000, + "nodes": [ + "102/ed1daeac", + "102/ed1daeac", + "102/ed1daeac", + "102/ed1daeac" + ] + }, + { + "t": 141, + "daa": 120, + "epoch": 2, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "120/7c2399bf", + "120/7c2399bf", + "120/7c2399bf", + "120/7c2399bf" + ] + }, + { + "t": 156, + "daa": 133, + "epoch": 2, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "133/04564122", + "133/04564122", + "133/04564122", + "133/04564122" + ] + }, + { + "t": 171, + "daa": 142, + "epoch": 2, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "142/30bf7f8c", + "142/30bf7f8c", + "142/30bf7f8c", + "142/30bf7f8c" + ] + }, + { + "t": 186, + "daa": 157, + "epoch": 2, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "157/3c10f05c", + "157/3c10f05c", + "157/3c10f05c", + "157/3c10f05c" + ] + }, + { + "t": 201, + "daa": 177, + "epoch": 2, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "177/9ae20407", + "177/9ae20407", + "177/9ae20407", + "177/9ae20407" + ] + }, + { + "t": 216, + "daa": 200, + "epoch": 3, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "200/d7082e36", + "200/d7082e36", + "200/d7082e36", + "200/d7082e36" + ] + }, + { + "t": 231, + "daa": 216, + "epoch": 3, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "216/6cf82f86", + "216/6cf82f86", + "216/6cf82f86", + "216/6cf82f86" + ] + }, + { + "t": 246.1, + "daa": 228, + "epoch": 3, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "228/db9374fd", + "228/db9374fd", + "223/b292ba86", + "228/db9374fd" + ] + }, + { + "t": 261.1, + "daa": 237, + "epoch": 3, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "237/4e1b4f6d", + "237/4e1b4f6d", + "237/4e1b4f6d", + "237/4e1b4f6d" + ] + }, + { + "t": 276.1, + "daa": 247, + "epoch": 4, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "247/77c117e5", + "247/77c117e5", + "247/77c117e5", + "247/77c117e5" + ] + }, + { + "t": 291.1, + "daa": 267, + "epoch": 4, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "267/0b8d848a", + "267/0b8d848a", + "267/0b8d848a", + "267/0b8d848a" + ] + }, + { + "t": 306.1, + "daa": 281, + "epoch": 4, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "281/3faeb485", + "281/3faeb485", + "281/3faeb485", + "281/3faeb485" + ] + }, + { + "t": 321.1, + "daa": 297, + "epoch": 4, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "297/b65c955c", + "297/b65c955c", + "297/b65c955c", + "297/b65c955c" + ] + }, + { + "t": 336.1, + "daa": 303, + "epoch": 5, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "303/c52e2404", + "301/2162668a", + "301/2162668a", + "303/c52e2404" + ] + }, + { + "t": 351.1, + "daa": 325, + "epoch": 5, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "325/08c8b9a8", + "325/08c8b9a8", + "325/08c8b9a8", + "325/08c8b9a8" + ] + }, + { + "t": 366.1, + "daa": 342, + "epoch": 5, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "342/3844afe5", + "342/3844afe5", + "342/3844afe5", + "342/3844afe5" + ] + }, + { + "t": 381.2, + "daa": 358, + "epoch": 5, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "358/67f90b83", + "358/67f90b83", + "358/67f90b83", + "358/67f90b83" + ] + }, + { + "t": 396.2, + "daa": 374, + "epoch": 6, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "374/c9032968", + "374/c9032968", + "374/c9032968", + "374/c9032968" + ] + }, + { + "t": 411.2, + "daa": 395, + "epoch": 6, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "395/5a107825", + "395/5a107825", + "395/5a107825", + "395/5a107825" + ] + }, + { + "t": 426.2, + "daa": 410, + "epoch": 6, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "410/90f8ad0c", + "410/90f8ad0c", + "410/90f8ad0c", + "410/90f8ad0c" + ] + }, + { + "t": 441.2, + "daa": 417, + "epoch": 6, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "417/7b268690", + "417/7b268690", + "417/7b268690", + "417/7b268690" + ] + }, + { + "t": 456.2, + "daa": 426, + "epoch": 7, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "426/e694ba9b", + "426/e694ba9b", + "426/e694ba9b", + "426/e694ba9b" + ] + }, + { + "t": 471.2, + "daa": 435, + "epoch": 7, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "435/29516f6b", + "435/29516f6b", + "435/29516f6b", + "435/29516f6b" + ] + }, + { + "t": 486.2, + "daa": 454, + "epoch": 7, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "454/984c3920", + "454/984c3920", + "454/984c3920", + "454/984c3920" + ] + }, + { + "t": 501.2, + "daa": 476, + "epoch": 7, + "class": 4, + "bps": 0, + "bps5": 10000, + "nodes": [ + "476/5e094726", + "476/5e094726", + "476/5e094726", + "476/5e094726" + ] + }, + { + "t": 516.3, + "daa": 491, + "epoch": 8, + "class": 5, + "bps": 0, + "bps5": 10000, + "nodes": [ + "491/db71df20", + "491/db71df20", + "491/db71df20", + "482/c64efca2" + ] + }, + { + "t": 531.3, + "daa": 511, + "epoch": 8, + "class": 5, + "bps": 0, + "bps5": 10000, + "nodes": [ + "511/7aef33ac", + "511/7aef33ac", + "511/7aef33ac", + "482/c64efca2" + ] + }, + { + "t": 546.3, + "daa": 526, + "epoch": 8, + "class": 5, + "bps": 0, + "bps5": 10000, + "nodes": [ + "526/9eb1279b", + "526/9eb1279b", + "526/9eb1279b", + "482/c64efca2" + ] + }, + { + "t": 561.3, + "daa": 540, + "epoch": 9, + "class": 5, + "bps": 0, + "bps5": 10000, + "nodes": [ + "540/0405bcdb", + "540/0405bcdb", + "540/0405bcdb", + "482/c64efca2" + ] + }, + { + "t": 576.3, + "daa": 554, + "epoch": 9, + "class": 5, + "bps": 0, + "bps5": 10000, + "nodes": [ + "554/12e89206", + "554/12e89206", + "554/12e89206", + "482/c64efca2" + ] + }, + { + "t": 591.3, + "daa": 567, + "epoch": 9, + "class": 5, + "bps": 0, + "bps5": 10000, + "nodes": [ + "567/92b2ef43", + "567/92b2ef43", + "567/92b2ef43", + "482/c64efca2" + ] + }, + { + "t": 606.3, + "daa": 582, + "epoch": 9, + "class": 5, + "bps": 0, + "bps5": 10000, + "nodes": [ + "582/2eb5622e", + "582/2eb5622e", + "582/2eb5622e", + "482/c64efca2" + ] + }, + { + "t": 621.3, + "daa": 600, + "epoch": 10, + "class": 5, + "bps": 0, + "bps5": 10000, + "nodes": [ + "600/d429af33", + "600/d429af33", + "600/d429af33", + "482/c64efca2" + ] + }, + { + "t": 636.4, + "daa": 611, + "epoch": 10, + "class": 5, + "bps": 0, + "bps5": 10000, + "nodes": [ + "611/00a09ad3", + "611/00a09ad3", + "611/00a09ad3", + "482/c64efca2" + ] + }, + { + "t": 651.4, + "daa": 634, + "epoch": 10, + "class": 5, + "bps": 0, + "bps5": 10000, + "nodes": [ + "634/7666f2e1", + "634/7666f2e1", + "634/7666f2e1", + "482/c64efca2" + ] + }, + { + "t": 666.4, + "daa": 649, + "epoch": 10, + "class": 5, + "bps": 0, + "bps5": 10000, + "nodes": [ + "649/81f52784", + "649/81f52784", + "649/81f52784", + "482/c64efca2" + ] + } + ] +} \ No newline at end of file diff --git a/docs/design/class-v5-harness/readback-0325.log b/docs/design/class-v5-harness/readback-0325.log new file mode 100644 index 000000000..df37ee0db --- /dev/null +++ b/docs/design/class-v5-harness/readback-0325.log @@ -0,0 +1,73 @@ +12:44:03.636 signals 6/6/6, expect flip; v3 from 60 (epoch 1), v4 floor 120 (epoch 2), v5 floor 100000 (epoch 1667), window 60 DAA x 7 (the first epoch with seven full windows after v4 is 8); stale miner none; stateless node n3; 60 DAA per epoch, lead 10; run 780 s or 11 epochs +12:44:04.868 n0 up pid 3379053 json 31002 p2p 31001 exec 31003, signals 6 +12:44:06.073 n1 up pid 3380107 json 31012 p2p 31011 exec 31013, signals 6 +12:44:07.279 n2 up pid 3381311 json 31022 p2p 31021 exec 31023, signals 6 +12:44:08.485 n3 up pid 3382272 json 31032 p2p 31031 exec disabled, signals 6 +12:44:08.485 n0: Program class v4 signal window from the override file: 60 DAA ending at each epoch's seed block, threshold 9500 bps of blue blocks in each of 7 windows; the fixed height is the floor; this node signals object version 6 (class v4 sub-version 3: the amended draw with the distinct-values and most-repeated-value bounds; objects 4 and 5, the earlier v4 streams, do not count; 6 is class v5) | this node signals object version 6 +12:44:08.486 n1: Program class v4 signal window from the override file: 60 DAA ending at each epoch's seed block, threshold 9500 bps of blue blocks in each of 7 windows; the fixed height is the floor; this node signals object version 6 (class v4 sub-version 3: the amended draw with the distinct-values and most-repeated-value bounds; objects 4 and 5, the earlier v4 streams, do not count; 6 is class v5) | this node signals object version 6 +12:44:08.486 n2: Program class v4 signal window from the override file: 60 DAA ending at each epoch's seed block, threshold 9500 bps of blue blocks in each of 7 windows; the fixed height is the floor; this node signals object version 6 (class v4 sub-version 3: the amended draw with the distinct-values and most-repeated-value bounds; objects 4 and 5, the earlier v4 streams, do not count; 6 is class v5) | this node signals object version 6 +12:44:08.486 n3: Program class v4 signal window from the override file: 60 DAA ending at each epoch's seed block, threshold 9500 bps of blue blocks in each of 7 windows; the fixed height is the floor; this node signals object version 6 (class v4 sub-version 3: the amended draw with the distinct-values and most-repeated-value bounds; objects 4 and 5, the earlier v4 streams, do not count; 6 is class v5) | this node signals object version 6 +12:44:08.486 n0 digest: 1787ce0fd511a452 +12:44:09.496 epoch -1 -> 0 at daa 0, 5.9 s: template class 2, next 2, day 1244071, signal share at the sink v4 0 v5 0 bps (window 60, this node signals 6, v5 decided by signal at epoch none) +12:44:09.497 t=5.9 s daa 0 epoch 0 class 2 signal v4 0 v5 0 bps blocks/sink per node 0/234e082d 0/234e082d 0/234e082d 0/234e082d +12:44:24.519 t=20.9 s daa 33 epoch 0 class 2 signal v4 0 v5 10000 bps blocks/sink per node 33/d2ef461a 33/d2ef461a 33/d2ef461a 33/d2ef461a +12:44:39.531 t=35.9 s daa 58 epoch 0 class 2 signal v4 0 v5 10000 bps blocks/sink per node 58/2e29fe31 58/2e29fe31 58/2e29fe31 58/2e29fe31 +12:44:42.533 epoch 0 -> 1 at daa 60, 38.9 s: template class 3, next 3, day 1244071, signal share at the sink v4 0 v5 10000 bps (window 60, this node signals 6, v5 decided by signal at epoch none) +12:44:54.541 t=50.9 s daa 62 epoch 1 class 3 signal v4 0 v5 10000 bps blocks/sink per node 62/83a755d7 62/83a755d7 62/83a755d7 62/83a755d7 +12:45:09.554 t=65.9 s daa 68 epoch 1 class 3 signal v4 0 v5 10000 bps blocks/sink per node 68/7964dbe5 68/7964dbe5 68/7964dbe5 68/7964dbe5 +12:45:24.567 t=80.9 s daa 73 epoch 1 class 3 signal v4 0 v5 10000 bps blocks/sink per node 73/560e2760 73/560e2760 73/560e2760 73/560e2760 +12:45:39.579 t=95.9 s daa 84 epoch 1 class 3 signal v4 0 v5 10000 bps blocks/sink per node 84/5e750e48 84/5e750e48 84/5e750e48 84/5e750e48 +12:45:54.598 t=111.0 s daa 95 epoch 1 class 3 signal v4 0 v5 10000 bps blocks/sink per node 95/0989a9b9 95/0989a9b9 95/0989a9b9 95/0989a9b9 +12:46:09.601 t=126.0 s daa 102 epoch 1 class 3 signal v4 0 v5 10000 bps blocks/sink per node 102/ed1daeac 102/ed1daeac 102/ed1daeac 102/ed1daeac +12:46:24.611 epoch 1 -> 2 at daa 120, 141.0 s: template class 4, next 4, day 1244071, signal share at the sink v4 0 v5 10000 bps (window 60, this node signals 6, v5 decided by signal at epoch none) +12:46:24.612 t=141.0 s daa 120 epoch 2 class 4 signal v4 0 v5 10000 bps blocks/sink per node 120/7c2399bf 120/7c2399bf 120/7c2399bf 120/7c2399bf +12:46:39.619 t=156.0 s daa 133 epoch 2 class 4 signal v4 0 v5 10000 bps blocks/sink per node 133/04564122 133/04564122 133/04564122 133/04564122 +12:46:54.631 t=171.0 s daa 142 epoch 2 class 4 signal v4 0 v5 10000 bps blocks/sink per node 142/30bf7f8c 142/30bf7f8c 142/30bf7f8c 142/30bf7f8c +12:47:09.643 t=186.0 s daa 157 epoch 2 class 4 signal v4 0 v5 10000 bps blocks/sink per node 157/3c10f05c 157/3c10f05c 157/3c10f05c 157/3c10f05c +12:47:24.664 t=201.0 s daa 177 epoch 2 class 4 signal v4 0 v5 10000 bps blocks/sink per node 177/9ae20407 177/9ae20407 177/9ae20407 177/9ae20407 +12:47:26.666 epoch 2 -> 3 at daa 180, 203.0 s: template class 4, next 4, day 1244071, signal share at the sink v4 0 v5 10000 bps (window 60, this node signals 6, v5 decided by signal at epoch none) +12:47:39.674 t=216.0 s daa 200 epoch 3 class 4 signal v4 0 v5 10000 bps blocks/sink per node 200/d7082e36 200/d7082e36 200/d7082e36 200/d7082e36 +12:47:54.682 t=231.0 s daa 216 epoch 3 class 4 signal v4 0 v5 10000 bps blocks/sink per node 216/6cf82f86 216/6cf82f86 216/6cf82f86 216/6cf82f86 +12:48:09.690 t=246.1 s daa 228 epoch 3 class 4 signal v4 0 v5 10000 bps blocks/sink per node 228/db9374fd 228/db9374fd 223/b292ba86 228/db9374fd +12:48:24.698 t=261.1 s daa 237 epoch 3 class 4 signal v4 0 v5 10000 bps blocks/sink per node 237/4e1b4f6d 237/4e1b4f6d 237/4e1b4f6d 237/4e1b4f6d +12:48:29.704 epoch 3 -> 4 at daa 240, 266.1 s: template class 4, next 4, day 1244072, signal share at the sink v4 0 v5 10000 bps (window 60, this node signals 6, v5 decided by signal at epoch none) +12:48:39.715 t=276.1 s daa 247 epoch 4 class 4 signal v4 0 v5 10000 bps blocks/sink per node 247/77c117e5 247/77c117e5 247/77c117e5 247/77c117e5 +12:48:54.724 t=291.1 s daa 267 epoch 4 class 4 signal v4 0 v5 10000 bps blocks/sink per node 267/0b8d848a 267/0b8d848a 267/0b8d848a 267/0b8d848a +12:49:09.739 t=306.1 s daa 281 epoch 4 class 4 signal v4 0 v5 10000 bps blocks/sink per node 281/3faeb485 281/3faeb485 281/3faeb485 281/3faeb485 +12:49:24.744 t=321.1 s daa 297 epoch 4 class 4 signal v4 0 v5 10000 bps blocks/sink per node 297/b65c955c 297/b65c955c 297/b65c955c 297/b65c955c +12:49:31.751 epoch 4 -> 5 at daa 300, 328.1 s: template class 4, next 4, day 1244072, signal share at the sink v4 0 v5 10000 bps (window 60, this node signals 6, v5 decided by signal at epoch none) +12:49:39.758 t=336.1 s daa 303 epoch 5 class 4 signal v4 0 v5 10000 bps blocks/sink per node 303/c52e2404 301/2162668a 301/2162668a 303/c52e2404 +12:49:54.776 t=351.1 s daa 325 epoch 5 class 4 signal v4 0 v5 10000 bps blocks/sink per node 325/08c8b9a8 325/08c8b9a8 325/08c8b9a8 325/08c8b9a8 +12:50:09.784 t=366.1 s daa 342 epoch 5 class 4 signal v4 0 v5 10000 bps blocks/sink per node 342/3844afe5 342/3844afe5 342/3844afe5 342/3844afe5 +12:50:24.794 t=381.2 s daa 358 epoch 5 class 4 signal v4 0 v5 10000 bps blocks/sink per node 358/67f90b83 358/67f90b83 358/67f90b83 358/67f90b83 +12:50:26.796 epoch 5 -> 6 at daa 360, 383.2 s: template class 4, next 4, day 1244072, signal share at the sink v4 0 v5 10000 bps (window 60, this node signals 6, v5 decided by signal at epoch none) +12:50:39.807 t=396.2 s daa 374 epoch 6 class 4 signal v4 0 v5 10000 bps blocks/sink per node 374/c9032968 374/c9032968 374/c9032968 374/c9032968 +12:50:54.821 t=411.2 s daa 395 epoch 6 class 4 signal v4 0 v5 10000 bps blocks/sink per node 395/5a107825 395/5a107825 395/5a107825 395/5a107825 +12:51:09.834 t=426.2 s daa 410 epoch 6 class 4 signal v4 0 v5 10000 bps blocks/sink per node 410/90f8ad0c 410/90f8ad0c 410/90f8ad0c 410/90f8ad0c +12:51:24.841 t=441.2 s daa 417 epoch 6 class 4 signal v4 0 v5 10000 bps blocks/sink per node 417/7b268690 417/7b268690 417/7b268690 417/7b268690 +12:51:26.843 epoch 6 -> 7 at daa 420, 443.2 s: template class 4, next 4, day 1244072, signal share at the sink v4 0 v5 10000 bps (window 60, this node signals 6, v5 decided by signal at epoch none) +12:51:39.850 t=456.2 s daa 426 epoch 7 class 4 signal v4 0 v5 10000 bps blocks/sink per node 426/e694ba9b 426/e694ba9b 426/e694ba9b 426/e694ba9b +12:51:54.860 t=471.2 s daa 435 epoch 7 class 4 signal v4 0 v5 10000 bps blocks/sink per node 435/29516f6b 435/29516f6b 435/29516f6b 435/29516f6b +12:52:09.868 t=486.2 s daa 454 epoch 7 class 4 signal v4 0 v5 10000 bps blocks/sink per node 454/984c3920 454/984c3920 454/984c3920 454/984c3920 +12:52:24.876 t=501.2 s daa 476 epoch 7 class 4 signal v4 0 v5 10000 bps blocks/sink per node 476/5e094726 476/5e094726 476/5e094726 476/5e094726 +12:52:27.879 epoch 7 -> 8 at daa 480, 504.2 s: template class 5, next 5, day 1244072, signal share at the sink v4 0 v5 10000 bps (window 60, this node signals 6, v5 decided by signal at epoch 8) +12:52:27.879 CLASS SWITCH: the template is class v5 from epoch 8 (daa 480) at 504.2 s wall +12:52:39.890 t=516.3 s daa 491 epoch 8 class 5 signal v4 0 v5 10000 bps blocks/sink per node 491/db71df20 491/db71df20 491/db71df20 482/c64efca2 +12:52:54.901 t=531.3 s daa 511 epoch 8 class 5 signal v4 0 v5 10000 bps blocks/sink per node 511/7aef33ac 511/7aef33ac 511/7aef33ac 482/c64efca2 +12:53:09.916 t=546.3 s daa 526 epoch 8 class 5 signal v4 0 v5 10000 bps blocks/sink per node 526/9eb1279b 526/9eb1279b 526/9eb1279b 482/c64efca2 +12:53:22.925 epoch 8 -> 9 at daa 540, 559.3 s: template class 5, next 5, day 1244072, signal share at the sink v4 0 v5 10000 bps (window 60, this node signals 6, v5 decided by signal at epoch none) +12:53:24.926 t=561.3 s daa 540 epoch 9 class 5 signal v4 0 v5 10000 bps blocks/sink per node 540/0405bcdb 540/0405bcdb 540/0405bcdb 482/c64efca2 +12:53:39.939 t=576.3 s daa 554 epoch 9 class 5 signal v4 0 v5 10000 bps blocks/sink per node 554/12e89206 554/12e89206 554/12e89206 482/c64efca2 +12:53:54.955 t=591.3 s daa 567 epoch 9 class 5 signal v4 0 v5 10000 bps blocks/sink per node 567/92b2ef43 567/92b2ef43 567/92b2ef43 482/c64efca2 +12:54:09.970 t=606.3 s daa 582 epoch 9 class 5 signal v4 0 v5 10000 bps blocks/sink per node 582/2eb5622e 582/2eb5622e 582/2eb5622e 482/c64efca2 +12:54:23.982 epoch 9 -> 10 at daa 600, 620.3 s: template class 5, next 5, day 1244072, signal share at the sink v4 0 v5 10000 bps (window 60, this node signals 6, v5 decided by signal at epoch none) +12:54:24.984 t=621.3 s daa 600 epoch 10 class 5 signal v4 0 v5 10000 bps blocks/sink per node 600/d429af33 600/d429af33 600/d429af33 482/c64efca2 +12:54:39.999 t=636.4 s daa 611 epoch 10 class 5 signal v4 0 v5 10000 bps blocks/sink per node 611/00a09ad3 611/00a09ad3 611/00a09ad3 482/c64efca2 +12:54:55.010 t=651.4 s daa 634 epoch 10 class 5 signal v4 0 v5 10000 bps blocks/sink per node 634/7666f2e1 634/7666f2e1 634/7666f2e1 482/c64efca2 +12:55:10.023 t=666.4 s daa 649 epoch 10 class 5 signal v4 0 v5 10000 bps blocks/sink per node 649/81f52784 649/81f52784 649/81f52784 482/c64efca2 +12:55:19.032 epoch 10 -> 11 at daa 660, 675.4 s: template class 5, next 5, day 1244072, signal share at the sink v4 0 v5 10000 bps (window 60, this node signals 6, v5 decided by signal at epoch none) +12:55:35.454 SUMMARY PASS (expect flip, signals 6/6/6, stale none): v5 from epoch 8 at DAA 480; epochs seen e0:2:0bps:d1244071 e1:3:10000bps:d1244071 e2:4:10000bps:d1244071 e3:4:10000bps:d1244071 e4:4:10000bps:d1244072 e5:4:10000bps:d1244072 e6:4:10000bps:d1244072 e7:4:10000bps:d1244072 e8:5:10000bps:d1244072 e9:5:10000bps:d1244072 e10:5:10000bps:d1244072 e11:5:10000bps:d1244072; chain bytes {"0":1,"6":660} (9985 bps at byte 6); blocks 483 / 178; rejected miners 0/0/0/0 nodes 0/0/0; sinks 07746f278d93a731 07746f278d93a731 07746f278d93a731 c64efca2aff05bb7 (agree); counts 660/660/660/482; signal lines 3/3 (epochs 8/8/8, shares 10000/10000/10000); floor lines 3/3; state roots at the flip 0x1f8c3947c3d6c541 0x1f8c3947c3d6c541 0x1f8c3947c3d6c541; stateless node accepted after the flip 0 (refusal lines 2); stale miner accepted after the first refresh n/a rejected n/a; days 1244071/1244072 +12:55:35.454 PROGRAM ID epoch 8 seed 0d678808b643463d: miners 13a54a0dd793ca79 (3 of 3) cli v5 13a54a0dd793ca79 cli v4 1da741ef698a6db4; state root 0x42ab4909a4639b610bc9bb093bf573930d925a3e264254bf0c76dd572bf1b8d2 (17 records) +12:55:35.454 PROGRAM ID epoch 9 seed a171f4772ab723c1: miners d35cd0e9cb186d00 (3 of 3) cli v5 d35cd0e9cb186d00 cli v4 5e498a10ae61d651; state root 0x0c78a7c4d904dbf1ac372b329b426657311d9626daecf517ddc601dc5e701682 (17 records) +12:55:35.454 PROGRAM ID epoch 10 seed bbb07c76c85908d4: miners 6104176723170d72 (3 of 3) cli v5 6104176723170d72 cli v4 afe4d858b51258c7; state root 0x5625c3098db30d8d9cbfa212c38b2065f24fda889ee52799656d79e2564a0396 (17 records) +12:55:35.454 summary: /tmp/igneum-fast-time-v5s-readback-0325/summary.json diff --git a/docs/design/class-v5-stored-state.md b/docs/design/class-v5-stored-state.md index 7e3c7b5cd..f9fcf6007 100644 --- a/docs/design/class-v5-stored-state.md +++ b/docs/design/class-v5-stored-state.md @@ -48,6 +48,7 @@ Clock rule for this page: every time is UK time (UK time tonight, UTC+1). The bu | 12:3x | 0.3.25's pairing line sent at the 12:30 default: the freeze 1c420786, kit zip 65b47211 (packs, ids and fingerprint byte-identical to the freeze's; built from 8f481459 with the Intel rotate-fold fix, gate 73 GREEN, suite green), the Intel worker held out; the second PC dark since 10:46 UK, so the Arc read and the Intel kit go to 0.3.26 at the earliest | | 13:1x | Devnet 3 crossed the class v5 floor at DAA 68,400 (12:48 UK, by the floor: the v5 signal share read 1,407 bps). The template read on the seed at 13:1x UK: epoch 19, class 5, version 1538 (object byte 6), seed a75c5624...9d19, era the genesis, day 20,734; the executor serves epoch 19's stream (869 records, root 0x1fd55139...4561); the kit's igneum-pow names the program: attempt 2, id 3d375a55029e7e60. No block came for a time: every fleet miner's worker was the hive package's CUDA worker, which runs generators 2, 3 and 4 only and refuses the pack with a line ("program pack generator 5 is not a generator version this worker runs"), the miner at 0 MH/s retrying; the DMG's Metal worker from the freeze's tree refuses the same way (the v5 path is the v5-kits lane's 5c9ed959, in class-v5 from e208dfea on, not in 1c420786's tree: the freeze is the hash object, the worker hosts are the kit's). The pairing check: the 0.3.24 pin's miner (igneum-pow 1c420786) on build-1 against the live seed read the same id, 3d375a55029e7e60, at 12:56 UK ("epoch 19 is class v5, the next epoch class v5"; its line prints the id only, the attempt is read on this lane's side). Also found: a miner not told its node's exec RPC port cannot prepare class v5 at all (the refusal line "class v5 needs the execution state after the epoch's seed block ... connection refused"), so every fleet miner loop must carry --exec-rpc before the kit worker helps it. The fix in flight: the kit's workers (zip 65b47211) and --exec-rpc on every fleet box, the hive, Windows and Mac packages rebuilt from the kit tree | | 13:4x | The shipper's STOP on the 0.3.25 pin d5b68fae (13:42 UK): the fast-time pair's `v5_ids_equal_the_cli_v5_id` FAILED on epoch 9's attempt-3 seed ec0a8cf9 (the freeze CLI 1c420786 draws ebf64b32e2d84c5b, the pin's miner 65b57e3b847d362e, its nodes accepting 4 of 4 on it); every 0.3.25 node binary embeds "igneum-pow-v5/src", not the freeze's crate: rule 7's pairing broken in the node lane's build path, a chain-split class. PAIRING RULE, added: the fast-time set carries an attempt-3 seed on every run (an attempt-0 seed cannot tell two acceptance rules apart). The node lane folds the freeze pairing and the ceiling re-cut into one commit; this lane's read-back on the rebuilt pair: the freeze CLI built at exactly 1c420786 on build-1 (/srv/builds/_scratch/v5-freeze-cli) against the new sha's miner, id for id and attempt for attempt on every v5 epoch of the flip case (the harness's POW_BIN override, 8c810148), and the live network's path: the 0.3.24 miner's epoch-19 read 3d375a55029e7e60 against the freeze CLI | +| 13:5x | The pairing read-back on the rebuilt pair 6ccaf9e9 (release-0.3.25-node, igneumd's IGNEUM_POW_FINGERPRINT=cbc5bd0a..., the same PoW code as the print-only c9ad753a): the flip case on build-1 (13:44 to 13:56 UK, `class-v5-harness/readback-0325.{log,json}`) with the CLI side igneum-pow built at exactly 1c420786 (/srv/builds/_scratch/v5-freeze-cli, sha256 7ba781db...): SUMMARY PASS; every v5 epoch id for id, miners 3 of 3 against the freeze CLI: epoch 8 13a54a0dd793ca79 (attempt 2), epoch 9 d35cd0e9cb186d00 (attempt 1), epoch 10 6104176723170d72 (attempt 2). The gap: the run's seeds are its block hashes and drew no attempt-3 seed, so the case that caught the pin d5b68fae is not exercised by this read; the seeded attempt-3 case (a fixed seed through the freeze CLI and the pair's miner pack path, one line per run) is the next harness item | ## 1. The claim, in one paragraph From 9e84c33af297e512b23ee33073aa13a829b6cb8f Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 13:01:28 +0000 Subject: [PATCH 004/227] class v5 design page: the pin's FAIL seed re-read (the freeze draws 1f1cf82877f46ee6 at attempt 3; both FAIL ids were foreign crates; the seeded attempt-3 case next) Co-Authored-By: Claude Fable 5.1 --- docs/design/class-v5-stored-state.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/design/class-v5-stored-state.md b/docs/design/class-v5-stored-state.md index f9fcf6007..141ad1cc6 100644 --- a/docs/design/class-v5-stored-state.md +++ b/docs/design/class-v5-stored-state.md @@ -49,6 +49,7 @@ Clock rule for this page: every time is UK time (UK time tonight, UTC+1). The bu | 13:1x | Devnet 3 crossed the class v5 floor at DAA 68,400 (12:48 UK, by the floor: the v5 signal share read 1,407 bps). The template read on the seed at 13:1x UK: epoch 19, class 5, version 1538 (object byte 6), seed a75c5624...9d19, era the genesis, day 20,734; the executor serves epoch 19's stream (869 records, root 0x1fd55139...4561); the kit's igneum-pow names the program: attempt 2, id 3d375a55029e7e60. No block came for a time: every fleet miner's worker was the hive package's CUDA worker, which runs generators 2, 3 and 4 only and refuses the pack with a line ("program pack generator 5 is not a generator version this worker runs"), the miner at 0 MH/s retrying; the DMG's Metal worker from the freeze's tree refuses the same way (the v5 path is the v5-kits lane's 5c9ed959, in class-v5 from e208dfea on, not in 1c420786's tree: the freeze is the hash object, the worker hosts are the kit's). The pairing check: the 0.3.24 pin's miner (igneum-pow 1c420786) on build-1 against the live seed read the same id, 3d375a55029e7e60, at 12:56 UK ("epoch 19 is class v5, the next epoch class v5"; its line prints the id only, the attempt is read on this lane's side). Also found: a miner not told its node's exec RPC port cannot prepare class v5 at all (the refusal line "class v5 needs the execution state after the epoch's seed block ... connection refused"), so every fleet miner loop must carry --exec-rpc before the kit worker helps it. The fix in flight: the kit's workers (zip 65b47211) and --exec-rpc on every fleet box, the hive, Windows and Mac packages rebuilt from the kit tree | | 13:4x | The shipper's STOP on the 0.3.25 pin d5b68fae (13:42 UK): the fast-time pair's `v5_ids_equal_the_cli_v5_id` FAILED on epoch 9's attempt-3 seed ec0a8cf9 (the freeze CLI 1c420786 draws ebf64b32e2d84c5b, the pin's miner 65b57e3b847d362e, its nodes accepting 4 of 4 on it); every 0.3.25 node binary embeds "igneum-pow-v5/src", not the freeze's crate: rule 7's pairing broken in the node lane's build path, a chain-split class. PAIRING RULE, added: the fast-time set carries an attempt-3 seed on every run (an attempt-0 seed cannot tell two acceptance rules apart). The node lane folds the freeze pairing and the ceiling re-cut into one commit; this lane's read-back on the rebuilt pair: the freeze CLI built at exactly 1c420786 on build-1 (/srv/builds/_scratch/v5-freeze-cli) against the new sha's miner, id for id and attempt for attempt on every v5 epoch of the flip case (the harness's POW_BIN override, 8c810148), and the live network's path: the 0.3.24 miner's epoch-19 read 3d375a55029e7e60 against the freeze CLI | | 13:5x | The pairing read-back on the rebuilt pair 6ccaf9e9 (release-0.3.25-node, igneumd's IGNEUM_POW_FINGERPRINT=cbc5bd0a..., the same PoW code as the print-only c9ad753a): the flip case on build-1 (13:44 to 13:56 UK, `class-v5-harness/readback-0325.{log,json}`) with the CLI side igneum-pow built at exactly 1c420786 (/srv/builds/_scratch/v5-freeze-cli, sha256 7ba781db...): SUMMARY PASS; every v5 epoch id for id, miners 3 of 3 against the freeze CLI: epoch 8 13a54a0dd793ca79 (attempt 2), epoch 9 d35cd0e9cb186d00 (attempt 1), epoch 10 6104176723170d72 (attempt 2). The gap: the run's seeds are its block hashes and drew no attempt-3 seed, so the case that caught the pin d5b68fae is not exercised by this read; the seeded attempt-3 case (a fixed seed through the freeze CLI and the pair's miner pack path, one line per run) is the next harness item | +| 14:1x | The pin's FAIL seed re-read (ec0a8cf9...8212, its era 234e082d...6062, day 1244071, the run's own epoch-9 stream from /tmp/igneum-fast-time-v5x-cross-0325-d5b68fae): igneum-pow at exactly 1c420786 draws attempt 3, program id 1f1cf82877f46ee6 (8f481459 the same). Neither id of the FAIL was the freeze's: the cross harness's "cli v5 ebf64b32e2d84c5b" came from the release worktree's pre-freeze igneum-pow copy and the pin miner's 65b57e3b847d362e from "igneum-pow-v5/src"; rule 19's fingerprint pairing catches both. The miner's side of a past seed cannot be re-read (igneum-miner reads ids from a node's template only), so the pin goes on the fingerprint equality and the record says the attempt-3 seed's miner id was not re-read; the seeded attempt-3 case (a miner `program-id` read on a given seed, era, day and stream, asked of the node lane by 15:00 UK, default a kaspa-pow test binary on class-v5-node) is the next harness item | ## 1. The claim, in one paragraph From cd23554835bd0aef9480bbf299f7513ee495951b Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 13:09:23 +0000 Subject: [PATCH 005/227] class v5 harness: the pairing rule's fixed attempt-3 seed read on every run (kaspa-pow program-id beside the run's CLI, attempt and id against the record; an unreadable side fails the check); the seed's inputs pinned under the harness dir; the page row Co-Authored-By: Claude Fable 5.1 --- .../class-v5-harness/attempt-3-seed/seed.json | 11 ++++++++ .../attempt-3-seed/state.igsd1 | Bin 0 -> 1701 bytes docs/design/class-v5-stored-state.md | 1 + infra/fast-time/class-v5-signal.mjs | 25 ++++++++++++++++++ 4 files changed, 37 insertions(+) create mode 100644 docs/design/class-v5-harness/attempt-3-seed/seed.json create mode 100644 docs/design/class-v5-harness/attempt-3-seed/state.igsd1 diff --git a/docs/design/class-v5-harness/attempt-3-seed/seed.json b/docs/design/class-v5-harness/attempt-3-seed/seed.json new file mode 100644 index 000000000..1727db2b7 --- /dev/null +++ b/docs/design/class-v5-harness/attempt-3-seed/seed.json @@ -0,0 +1,11 @@ +{ + "what": "The class v5 pairing rule's fixed attempt-3 seed (8 October 2026, 14:1x UK): the 0.3.25 pin d5b68fae's FAIL seed from the cross harness run cross-0325-d5b68fae, epoch 9 of that run, whose draw lands at attempt 3 under the freeze's rule. Every harness run reads it through the pair's engine path (kaspa-pow program-id) and the run's CLI (igneum-pow show) and compares attempt and id; a difference is FAILED CHECK attempt_3_seed_reads_equal.", + "epoch_hex": "ec0a8cf9e1c6874fc3bc7f9e5a2d8113f2b2353fced8bf293e9d451a48d68212", + "era_hex": "234e082d653dc69db36d875b256d0f5f4a123b353d6aa069c3c7aa9aa6c46062", + "day": 1244071, + "genesis_day": 1243740, + "genesis_log2": 28, + "state_file": "state.igsd1", + "state_root": "3046a7c17feb51c91b30f29d26e1b0de1", + "expected": { "class": "v5", "attempt": 3, "id": "1f1cf82877f46ee6", "read_by": "igneum-pow at exactly 1c420786 and kaspa-pow program-id on class-v5-node f912e614, build-1, 14:07 UK" } +} diff --git a/docs/design/class-v5-harness/attempt-3-seed/state.igsd1 b/docs/design/class-v5-harness/attempt-3-seed/state.igsd1 new file mode 100644 index 0000000000000000000000000000000000000000..ae8538b8fec7fbc1d4e8b3bb1f4f8328e197116b GIT binary patch literal 1701 zcmeZt4|XwRxWmW*25-1}em*?b?tges{k$mMM&VDJOzqFz*sp0f*Hy~nT9c50+wz0; zuLDm?8+@9p_He^JQPtzgKPToZTwT|BbKi#620@@Hu|Nzp4q_;TWD>w4h^zq4RtU|M z@;%oT!0My&?Ub6oN$R&WY2TpBudXaN$~Y=iCKClz$qZKwXD|tXm<|aI2@XLf4Wfw* z{NeHOf1?8uSj+?x8SKO3O%oo-G$gM|FAfn&WN;2|NWQo9&;uYd0?7PV$9fgWoF5*I z({zyY9Y7`~GK3{E1eztVBr-k-1M*IVMKb`Y=0t`xkRX#_Sabp-5H65rp3o>3KcO)Q z$WaJNaG0PFg41*+km+I*fLa{_;kqY^0re^{0)-kTGEevnv1BbSOB5P$nhpvshY1iT zfGjbFSf zI|WR3SxzwAX|!RN`Obt&>4X%JB`vVf`3nzpkQW+3&Hxb(6PqR|G~f<*HjwEs&r6C; zX%m~$Dn21}LZESDQ2mn9c_&%-AtP2nDcrKUsCgJYliBQXN zx}6;y?u!Eg!lD~YVYW1iHHsuM-Ug@6i4%ZQ@$m@`&8^HrqKS+j!J>(bznT*nkA_80 z3`k_+z-c-M*zF1}j9|4B0wx7a0vng0(9{AljY$z=8k1HNSjFT?0YI1hTa=PnkX9U_ zB&2ZqOMetj(>Z~rt1tU0_`}*pn{(}tBNAV4*`-O zSYlh36o4&=JiN`gQt$A#xoO68oSL>S<(}pW3VD1$==%TXu9Ne>5NAQx;{!RX%6%=B zZ<#IL_G9+Pd!{kT{2ZZm{6-q3;^Mrr}f_xJnUbNXCLeK&Ln6=1` literal 0 HcmV?d00001 diff --git a/docs/design/class-v5-stored-state.md b/docs/design/class-v5-stored-state.md index 141ad1cc6..9656c731c 100644 --- a/docs/design/class-v5-stored-state.md +++ b/docs/design/class-v5-stored-state.md @@ -50,6 +50,7 @@ Clock rule for this page: every time is UK time (UK time tonight, UTC+1). The bu | 13:4x | The shipper's STOP on the 0.3.25 pin d5b68fae (13:42 UK): the fast-time pair's `v5_ids_equal_the_cli_v5_id` FAILED on epoch 9's attempt-3 seed ec0a8cf9 (the freeze CLI 1c420786 draws ebf64b32e2d84c5b, the pin's miner 65b57e3b847d362e, its nodes accepting 4 of 4 on it); every 0.3.25 node binary embeds "igneum-pow-v5/src", not the freeze's crate: rule 7's pairing broken in the node lane's build path, a chain-split class. PAIRING RULE, added: the fast-time set carries an attempt-3 seed on every run (an attempt-0 seed cannot tell two acceptance rules apart). The node lane folds the freeze pairing and the ceiling re-cut into one commit; this lane's read-back on the rebuilt pair: the freeze CLI built at exactly 1c420786 on build-1 (/srv/builds/_scratch/v5-freeze-cli) against the new sha's miner, id for id and attempt for attempt on every v5 epoch of the flip case (the harness's POW_BIN override, 8c810148), and the live network's path: the 0.3.24 miner's epoch-19 read 3d375a55029e7e60 against the freeze CLI | | 13:5x | The pairing read-back on the rebuilt pair 6ccaf9e9 (release-0.3.25-node, igneumd's IGNEUM_POW_FINGERPRINT=cbc5bd0a..., the same PoW code as the print-only c9ad753a): the flip case on build-1 (13:44 to 13:56 UK, `class-v5-harness/readback-0325.{log,json}`) with the CLI side igneum-pow built at exactly 1c420786 (/srv/builds/_scratch/v5-freeze-cli, sha256 7ba781db...): SUMMARY PASS; every v5 epoch id for id, miners 3 of 3 against the freeze CLI: epoch 8 13a54a0dd793ca79 (attempt 2), epoch 9 d35cd0e9cb186d00 (attempt 1), epoch 10 6104176723170d72 (attempt 2). The gap: the run's seeds are its block hashes and drew no attempt-3 seed, so the case that caught the pin d5b68fae is not exercised by this read; the seeded attempt-3 case (a fixed seed through the freeze CLI and the pair's miner pack path, one line per run) is the next harness item | | 14:1x | The pin's FAIL seed re-read (ec0a8cf9...8212, its era 234e082d...6062, day 1244071, the run's own epoch-9 stream from /tmp/igneum-fast-time-v5x-cross-0325-d5b68fae): igneum-pow at exactly 1c420786 draws attempt 3, program id 1f1cf82877f46ee6 (8f481459 the same). Neither id of the FAIL was the freeze's: the cross harness's "cli v5 ebf64b32e2d84c5b" came from the release worktree's pre-freeze igneum-pow copy and the pin miner's 65b57e3b847d362e from "igneum-pow-v5/src"; rule 19's fingerprint pairing catches both. The miner's side of a past seed cannot be re-read (igneum-miner reads ids from a node's template only), so the pin goes on the fingerprint equality and the record says the attempt-3 seed's miner id was not re-read; the seeded attempt-3 case (a miner `program-id` read on a given seed, era, day and stream, asked of the node lane by 15:00 UK, default a kaspa-pow test binary on class-v5-node) is the next harness item | +| 14:1x | The seeded attempt-3 case closed EQUAL: kaspa-pow `program-id` (class-v5-node f912e614, consensus/pow/src/bin: the template prepare's own path on a given seed, era, day, genesis day and stream file; a stream-less v5 read refuses with the engine's line, exit 3) reads the pin's FAIL seed ec0a8cf9...8212 (era 234e082d...6062, day 1244071, genesis day 1243740, the run's epoch-9 stream) as attempt 3, id 1f1cf82877f46ee6, equal to igneum-pow at exactly 1c420786 (build-1, 14:07 UK); the class v4 control reads attempt 0, 17d03dc8ddfe865c. The harness now reads that seed on every run (`class-v5-harness/attempt-3-seed/{seed.json,state.igsd1}`, check `attempt_3_seed_reads_equal`: the engine path beside the run's CLI, attempt and id against the record's expectation; an unreadable side is a FAILED CHECK, never a skip); the node lane lifts the read into `igneum-miner program-id` on its next line | ## 1. The claim, in one paragraph diff --git a/infra/fast-time/class-v5-signal.mjs b/infra/fast-time/class-v5-signal.mjs index f33004245..e6590f559 100644 --- a/infra/fast-time/class-v5-signal.mjs +++ b/infra/fast-time/class-v5-signal.mjs @@ -34,6 +34,7 @@ import { spawn, spawnSync } from 'node:child_process'; import { mkdirSync, rmSync, writeFileSync, readFileSync, openSync, existsSync } from 'node:fs'; +import { dirname } from 'node:path'; import { connectRpc } from '../../tools/finality-attacks/lib/rpc.mjs'; import { devAddress } from '../../tools/harness/lib/address.mjs'; @@ -429,8 +430,32 @@ if (EXPECT === 'flip') { stateless_node_stops_at_the_flip: !statelessNode || (counts[statelessNode.i] <= before.length && counts[statelessNode.i] >= before.length - 5), }; } +// The pairing rule's fixed attempt-3 seed (8 October 2026, 14:1x UK; the 0.3.25 pin d5b68fae's FAIL seed): read on every +// run through the pair's engine path (kaspa-pow `program-id`, beside the node binary or in the fork worktree's target) and +// through the run's CLI (igneum-pow show), attempt and id compared with each other and with the record's expectation. +// A run's own seeds are its block hashes and rarely land at attempt 3, which is where two acceptance rules show; this +// read does not wait for the chain to draw one. An unreadable side is a FAILED CHECK, never a skip. +const A3_DIR = `${ROOT}docs/design/class-v5-harness/attempt-3-seed`; +const a3 = (() => { + try { + const j = JSON.parse(readFileSync(`${A3_DIR}/seed.json`, 'utf8')); + const state = `${A3_DIR}/${j.state_file}`; + const dayHex = Buffer.concat([Buffer.from('igneum-day/'), Buffer.from(BigInt(j.day).toString(16).padStart(16, '0'), 'hex').reverse()]).toString('hex'); + const cli = IGNEUM_POW && existsSync(IGNEUM_POW) ? spawnSync(IGNEUM_POW, ['show', '--program-class', 'v5', '--epoch-hex', j.epoch_hex, '--era-hex', j.era_hex, '--day-hex', dayHex, '--state', state], { encoding: 'utf8' }).stdout || '' : ''; + const cm = /attempt (\d+) program id ([0-9a-f]{16})/.exec(cli); + const pidBin = [`${dirname(IGNEUMD)}/program-id`, `${ROOT}vendor/igneum-node-class-v5/target/release/program-id`].find(p => existsSync(p)); + const eng = pidBin ? spawnSync(pidBin, ['--epoch-hex', j.epoch_hex, '--era-hex', j.era_hex, '--day', String(j.day), '--class', 'v5', '--state', state, '--genesis-day', String(j.genesis_day), '--genesis-log2', String(j.genesis_log2)], { encoding: 'utf8' }) : null; + const em = eng ? /attempt (\d+) id ([0-9a-f]{16})/.exec(eng.stdout || '') : null; + const row = { seed: j.epoch_hex.slice(0, 16), expected: j.expected, cli: cm ? { attempt: +cm[1], id: cm[2] } : null, engine: em ? { attempt: +em[1], id: em[2], binary: pidBin } : null, engine_refusal: eng && !em ? (eng.stderr || '').trim().slice(0, 200) : null }; + row.equal = !!(cm && em && cm[1] === em[1] && cm[2] === em[2] && +cm[1] === j.expected.attempt && cm[2] === j.expected.id); + log(`ATTEMPT-3 SEED ${row.seed}: cli ${cm ? `attempt ${cm[1]} id ${cm[2]}` : 'UNREAD'} | engine ${em ? `attempt ${em[1]} id ${em[2]}` : `UNREAD${row.engine_refusal ? ` (${row.engine_refusal})` : pidBin ? '' : ' (no program-id binary)'}`} | expected attempt ${j.expected.attempt} id ${j.expected.id} | ${row.equal ? 'EQUAL' : 'DIFFER'}`); + return row; + } catch (e) { log(`ATTEMPT-3 SEED: ${e.message}`); return { equal: false, error: e.message }; } +})(); +checks.attempt_3_seed_reads_equal = !!a3.equal; const pass = Object.values(checks).every(Boolean); const summary = { + attempt_3_seed: a3, pass, expect: EXPECT, signals: SIGNAL, checks, window: WINDOW, windows: WINDOWS, floor: FLOOR ?? 'never', v4_floor: V4_FLOOR ?? 'never', v3_activation: V3_ACTIVATION ?? 'never', epoch_blocks: EPOCH, lead: LEAD, first_full_window_epoch: FIRST_FULL_EPOCH, floor_epoch: FLOOR_EPOCH, stale_miner: STALE, stale_accepted_after_first_refresh: staleAcceptedAfterRefresh, honest_accepted_after_flip: honestAcceptedAfterFlip, stale_rejected: staleRejected, stateless_node: statelessNode ? statelessNode.i : null, stateless_accepted_after_flip: statelessAcceptedAfterFlip, stateless_refusal_lines: statelessRefusals, state_roots_at_flip: rootsAtFlip, streams, days_seen: daysSeen, day_boundary_crossed: daysSeen.length > 1, From fa07d2212c79987942c84f9b408204f76d0deb5d Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 13:09:48 +0000 Subject: [PATCH 006/227] class v5 harness runner: the attempt-3 seed's inputs travel to the box with the harness Co-Authored-By: Claude Fable 5.1 --- tools/class-v5/harness-remote.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/class-v5/harness-remote.sh b/tools/class-v5/harness-remote.sh index 82e1e3a42..fb0307eb7 100755 --- a/tools/class-v5/harness-remote.sh +++ b/tools/class-v5/harness-remote.sh @@ -28,6 +28,9 @@ echo "harness-remote: case $CASE on $HOST: node $REMOTE_ROOT/infra/fast-time/cla # the harness file travels by rsync (the mirror carries HEAD; an uncommitted change rides along, re-stamped: the copied-sources rule) rsync -a -e "ssh -i $KEY" "$ROOT/infra/fast-time/class-v5-signal.mjs" "$ROOT/infra/fast-time/override-60x.json" "$HOST:$REMOTE_ROOT/infra/fast-time/" rsync -a -e "ssh -i $KEY" "$ROOT/tools/class-v5/harness-box.sh" "$HOST:$REMOTE_ROOT/tools/class-v5/" +# the pairing rule's fixed attempt-3 seed (seed.json and its stream) travels with the harness +mkdir -p "$ROOT/docs/design/class-v5-harness/attempt-3-seed" +rsync -a -e "ssh -i $KEY" "$ROOT/docs/design/class-v5-harness/attempt-3-seed/" "$HOST:$REMOTE_ROOT/docs/design/class-v5-harness/attempt-3-seed/" # the box side is a script run by path (tools/class-v5/harness-box.sh), not an ssh command string # FORK_BIN= points the harness at another fork build (the node lane's pair build for a fix not yet on class-v5-node) # POW_BIN= points the harness's CLI id read at another crate build (the freeze CLI for a pairing read-back) From 1c610c94c439057b831668f56eefbcee6ad8b493 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 13:18:19 +0000 Subject: [PATCH 007/227] class v5 harness: the attempt-3 read's standalone path (--a3-only, --a3-known-failed) and the runner's stdout line; the check's live EQUAL on the rebuilt pair and the known-failed DIFFER on the page with the logs Co-Authored-By: Claude Fable 5.1 --- .../class-v5-harness/attempt3-check.json | 381 ++++++++++++++++++ .../class-v5-harness/attempt3-check.log | 30 ++ docs/design/class-v5-stored-state.md | 1 + infra/fast-time/class-v5-signal.mjs | 18 +- tools/class-v5/harness-remote.sh | 2 +- 5 files changed, 428 insertions(+), 4 deletions(-) create mode 100644 docs/design/class-v5-harness/attempt3-check.json create mode 100644 docs/design/class-v5-harness/attempt3-check.log diff --git a/docs/design/class-v5-harness/attempt3-check.json b/docs/design/class-v5-harness/attempt3-check.json new file mode 100644 index 000000000..3912cbee9 --- /dev/null +++ b/docs/design/class-v5-harness/attempt3-check.json @@ -0,0 +1,381 @@ +{ + "attempt_3_seed": { + "seed": "ec0a8cf9e1c6874f", + "expected": { + "class": "v5", + "attempt": 3, + "id": "1f1cf82877f46ee6", + "read_by": "igneum-pow at exactly 1c420786 and kaspa-pow program-id on class-v5-node f912e614, build-1, 14:07 UK" + }, + "cli": { + "attempt": 3, + "id": "1f1cf82877f46ee6" + }, + "engine": { + "attempt": 3, + "id": "1f1cf82877f46ee6", + "binary": "/srv/builds/igneum-wt-class-v5/vendor/igneum-node-class-v5/target/release/program-id" + }, + "engine_refusal": null, + "equal": true + }, + "pass": true, + "expect": "no-flip", + "signals": [ + 6, + 6, + 7 + ], + "checks": { + "zero_rejected_by_miners": true, + "zero_rejected_by_nodes": true, + "sinks_agree": true, + "block_counts_agree": true, + "miners_agree_on_every_program": true, + "window_line_on_every_node": true, + "every_node_signals_its_byte": true, + "chain_carries_the_bytes": true, + "state_roots_agree_across_nodes": true, + "template_never_v5": true, + "no_signal_line_on_any_node": true, + "ran_the_epochs": true, + "v4_programs_seen": true, + "signal_share_under_threshold_on_chain_or_the_object_off": true, + "attempt_3_seed_reads_equal": true + }, + "window": 60, + "windows": 7, + "floor": 100000, + "v4_floor": 120, + "v3_activation": 60, + "epoch_blocks": 60, + "lead": 10, + "first_full_window_epoch": 8, + "floor_epoch": 1667, + "stale_miner": null, + "stale_accepted_after_first_refresh": null, + "honest_accepted_after_flip": [ + 0, + 0, + 0 + ], + "stale_rejected": null, + "stateless_node": 3, + "stateless_accepted_after_flip": 0, + "stateless_refusal_lines": 0, + "state_roots_at_flip": [], + "streams": {}, + "days_seen": [ + 1244073 + ], + "day_boundary_crossed": false, + "node": "/srv/artefacts/0325-6ccaf9e9/node-lane/igneumd", + "miner": "/srv/artefacts/0325-6ccaf9e9/node-lane/igneum-miner", + "template_switch": null, + "run_ended_at_s": 195, + "final_daa": 180, + "max_epoch_seen": 3, + "epochs": { + "0": { + "class": 2, + "firstSeenDaa": 0, + "at": 5.9, + "eraSeed": "234e082d653dc69db36d875b256d0f5f4a123b353d6aa069c3c7aa9aa6c46062", + "bps": 0, + "bps5": 0, + "signal_epoch": null, + "day": 1244073 + }, + "1": { + "class": 3, + "firstSeenDaa": 60, + "at": 33.9, + "eraSeed": "234e082d653dc69db36d875b256d0f5f4a123b353d6aa069c3c7aa9aa6c46062", + "bps": 5111, + "bps5": 4888, + "signal_epoch": null, + "day": 1244073 + }, + "2": { + "class": 4, + "firstSeenDaa": 120, + "at": 141, + "eraSeed": "234e082d653dc69db36d875b256d0f5f4a123b353d6aa069c3c7aa9aa6c46062", + "bps": 4500, + "bps5": 5500, + "signal_epoch": null, + "day": 1244073 + }, + "3": { + "class": 4, + "firstSeenDaa": 180, + "at": 195, + "eraSeed": "234e082d653dc69db36d875b256d0f5f4a123b353d6aa069c3c7aa9aa6c46062", + "bps": 4500, + "bps5": 5500, + "signal_epoch": null, + "day": 1244073 + } + }, + "blocks": { + "total": 181, + "before_boundary": 181, + "after_boundary": 0, + "version_bytes": { + "0": 1, + "6": 95, + "7": 85 + }, + "signal_share_bps_on_chain": 5249 + }, + "programs": [ + { + "epoch": 0, + "class": "v2", + "program_id": "8f8806638d59850f", + "seed": "234e082d653dc69d", + "miners": 4, + "disagree": false + }, + { + "epoch": 1, + "class": "v3", + "program_id": "0387598d54486141", + "seed": "0ae69e83fe335830", + "miners": 4, + "disagree": false + }, + { + "epoch": 2, + "class": "v4", + "program_id": "b1a3de278844ed23", + "seed": "ce2f8891e7887337", + "miners": 4, + "disagree": false + } + ], + "program_id_rows": [], + "accepted_per_miner": [ + 45, + 50, + 51, + 34 + ], + "rejected_by_miners": [ + 0, + 0, + 0, + 0 + ], + "rejected_by_nodes": [ + 0, + 0, + 0 + ], + "sinks": [ + "5bb8ff5febfb6d68", + "5bb8ff5febfb6d68", + "5bb8ff5febfb6d68", + "5bb8ff5febfb6d68" + ], + "block_counts": [ + 180, + 180, + 180, + 180 + ], + "signal_lines": [ + null, + null, + null + ], + "floor_lines": [ + "Program class v5 from the override file: enabled, the floor at epoch 1667 (DAA score 100000 rounded up to the epoch boundary at 100020); the class v5 signal (byte 6, 9500 bps in each of 7 consecutive windows) can flip v4 to v5 before it; every item of the dataset is keyed by the execution state after the epoch's seed block", + "Program class v5 from the override file: enabled, the floor at epoch 1667 (DAA score 100000 rounded up to the epoch boundary at 100020); the class v5 signal (byte 6, 9500 bps in each of 7 consecutive windows) can flip v4 to v5 before it; every item of the dataset is keyed by the execution state after the epoch's seed block", + "Program class v5 from the override file: enabled, the floor at epoch 1667 (DAA score 100000 rounded up to the epoch boundary at 100020); the class v5 signal (byte 6, 9500 bps in each of 7 consecutive windows) can flip v4 to v5 before it; every item of the dataset is keyed by the execution state after the epoch's seed block" + ], + "samples": [ + { + "t": 5.9, + "daa": 0, + "epoch": 0, + "class": 2, + "bps": 0, + "bps5": 0, + "nodes": [ + "0/234e082d", + "0/234e082d", + "0/234e082d", + "0/234e082d" + ] + }, + { + "t": 20.9, + "daa": 31, + "epoch": 0, + "class": 2, + "bps": 5000, + "bps5": 5000, + "nodes": [ + "31/481eb180", + "31/481eb180", + "31/481eb180", + "31/481eb180" + ] + }, + { + "t": 35.9, + "daa": 61, + "epoch": 1, + "class": 3, + "bps": 5111, + "bps5": 4888, + "nodes": [ + "61/e14a1e5c", + "60/7b41a4a8", + "60/7b41a4a8", + "61/e14a1e5c" + ] + }, + { + "t": 50.9, + "daa": 63, + "epoch": 1, + "class": 3, + "bps": 5166, + "bps5": 4833, + "nodes": [ + "63/b476ae5b", + "63/b476ae5b", + "63/b476ae5b", + "63/b476ae5b" + ] + }, + { + "t": 65.9, + "daa": 66, + "epoch": 1, + "class": 3, + "bps": 5166, + "bps5": 4833, + "nodes": [ + "66/33e621e7", + "66/33e621e7", + "66/33e621e7", + "66/33e621e7" + ] + }, + { + "t": 81, + "daa": 69, + "epoch": 1, + "class": 3, + "bps": 5000, + "bps5": 5000, + "nodes": [ + "69/79ccfaa3", + "69/79ccfaa3", + "69/79ccfaa3", + "69/79ccfaa3" + ] + }, + { + "t": 96, + "daa": 73, + "epoch": 1, + "class": 3, + "bps": 5000, + "bps5": 5000, + "nodes": [ + "73/e5dab553", + "73/e5dab553", + "73/e5dab553", + "73/e5dab553" + ] + }, + { + "t": 111, + "daa": 78, + "epoch": 1, + "class": 3, + "bps": 5166, + "bps5": 4833, + "nodes": [ + "78/2e9fd6f8", + "78/2e9fd6f8", + "78/2e9fd6f8", + "78/2e9fd6f8" + ] + }, + { + "t": 126, + "daa": 98, + "epoch": 1, + "class": 3, + "bps": 4833, + "bps5": 5166, + "nodes": [ + "98/e1b2aa1f", + "98/e1b2aa1f", + "98/e1b2aa1f", + "98/e1b2aa1f" + ] + }, + { + "t": 141, + "daa": 120, + "epoch": 2, + "class": 4, + "bps": 4500, + "bps5": 5500, + "nodes": [ + "120/a4e0b591", + "120/a4e0b591", + "120/a4e0b591", + "120/a4e0b591" + ] + }, + { + "t": 156, + "daa": 136, + "epoch": 2, + "class": 4, + "bps": 4500, + "bps5": 5500, + "nodes": [ + "136/d00c2fca", + "136/d00c2fca", + "136/d00c2fca", + "136/d00c2fca" + ] + }, + { + "t": 171, + "daa": 151, + "epoch": 2, + "class": 4, + "bps": 4500, + "bps5": 5500, + "nodes": [ + "151/5e0379d8", + "151/5e0379d8", + "151/5e0379d8", + "151/5e0379d8" + ] + }, + { + "t": 186, + "daa": 171, + "epoch": 2, + "class": 4, + "bps": 4500, + "bps5": 5500, + "nodes": [ + "171/997b824e", + "171/997b824e", + "171/997b824e", + "171/997b824e" + ] + } + ] +} \ No newline at end of file diff --git a/docs/design/class-v5-harness/attempt3-check.log b/docs/design/class-v5-harness/attempt3-check.log new file mode 100644 index 000000000..b1f79fec8 --- /dev/null +++ b/docs/design/class-v5-harness/attempt3-check.log @@ -0,0 +1,30 @@ +13:12:41.745 signals 6/6/7, expect no-flip; v3 from 60 (epoch 1), v4 floor 120 (epoch 2), v5 floor 100000 (epoch 1667), window 60 DAA x 7 (the first epoch with seven full windows after v4 is 8); stale miner none; stateless node n3; 60 DAA per epoch, lead 10; run 200 s or 3 epochs +13:12:42.977 n0 up pid 3807653 json 31202 p2p 31201 exec 31203, signals 6 +13:12:44.184 n1 up pid 3808329 json 31212 p2p 31211 exec 31213, signals 6 +13:12:45.393 n2 up pid 3808893 json 31222 p2p 31221 exec 31223, signals 7 +13:12:46.600 n3 up pid 3809441 json 31232 p2p 31231 exec disabled, signals 7 +13:12:46.601 n0: Program class v4 signal window from the override file: 60 DAA ending at each epoch's seed block, threshold 9500 bps of blue blocks in each of 7 windows; the fixed height is the floor; this node signals object version 6 (class v4 sub-version 3: the amended draw with the distinct-values and most-repeated-value bounds; objects 4 and 5, the earlier v4 streams, do not count; 6 is class v5) | this node signals object version 6 +13:12:46.601 n1: Program class v4 signal window from the override file: 60 DAA ending at each epoch's seed block, threshold 9500 bps of blue blocks in each of 7 windows; the fixed height is the floor; this node signals object version 6 (class v4 sub-version 3: the amended draw with the distinct-values and most-repeated-value bounds; objects 4 and 5, the earlier v4 streams, do not count; 6 is class v5) | this node signals object version 6 +13:12:46.601 n2: Program class v4 signal window from the override file: 60 DAA ending at each epoch's seed block, threshold 9500 bps of blue blocks in each of 7 windows; the fixed height is the floor; this node signals object version 6 (class v4 sub-version 3: the amended draw with the distinct-values and most-repeated-value bounds; objects 4 and 5, the earlier v4 streams, do not count; 6 is class v5) | this node signals object version 7 +13:12:46.601 n3: Program class v4 signal window from the override file: 60 DAA ending at each epoch's seed block, threshold 9500 bps of blue blocks in each of 7 windows; the fixed height is the floor; this node signals object version 6 (class v4 sub-version 3: the amended draw with the distinct-values and most-repeated-value bounds; objects 4 and 5, the earlier v4 streams, do not count; 6 is class v5) | this node signals object version 7 +13:12:46.602 n0 digest: 1787ce0fd511a452 +13:12:47.614 epoch -1 -> 0 at daa 0, 5.9 s: template class 2, next 2, day 1244073, signal share at the sink v4 0 v5 0 bps (window 60, this node signals 6, v5 decided by signal at epoch none) +13:12:47.616 t=5.9 s daa 0 epoch 0 class 2 signal v4 0 v5 0 bps blocks/sink per node 0/234e082d 0/234e082d 0/234e082d 0/234e082d +13:13:02.635 t=20.9 s daa 31 epoch 0 class 2 signal v4 5000 v5 5000 bps blocks/sink per node 31/481eb180 31/481eb180 31/481eb180 31/481eb180 +13:13:15.645 epoch 0 -> 1 at daa 60, 33.9 s: template class 3, next 3, day 1244073, signal share at the sink v4 5111 v5 4888 bps (window 60, this node signals 6, v5 decided by signal at epoch none) +13:13:17.648 t=35.9 s daa 61 epoch 1 class 3 signal v4 5111 v5 4888 bps blocks/sink per node 61/e14a1e5c 60/7b41a4a8 60/7b41a4a8 61/e14a1e5c +13:13:32.663 t=50.9 s daa 63 epoch 1 class 3 signal v4 5166 v5 4833 bps blocks/sink per node 63/b476ae5b 63/b476ae5b 63/b476ae5b 63/b476ae5b +13:13:47.679 t=65.9 s daa 66 epoch 1 class 3 signal v4 5166 v5 4833 bps blocks/sink per node 66/33e621e7 66/33e621e7 66/33e621e7 66/33e621e7 +13:14:02.696 t=81.0 s daa 69 epoch 1 class 3 signal v4 5000 v5 5000 bps blocks/sink per node 69/79ccfaa3 69/79ccfaa3 69/79ccfaa3 69/79ccfaa3 +13:14:17.710 t=96.0 s daa 73 epoch 1 class 3 signal v4 5000 v5 5000 bps blocks/sink per node 73/e5dab553 73/e5dab553 73/e5dab553 73/e5dab553 +13:14:32.725 t=111.0 s daa 78 epoch 1 class 3 signal v4 5166 v5 4833 bps blocks/sink per node 78/2e9fd6f8 78/2e9fd6f8 78/2e9fd6f8 78/2e9fd6f8 +13:14:47.736 t=126.0 s daa 98 epoch 1 class 3 signal v4 4833 v5 5166 bps blocks/sink per node 98/e1b2aa1f 98/e1b2aa1f 98/e1b2aa1f 98/e1b2aa1f +13:15:02.743 epoch 1 -> 2 at daa 120, 141.0 s: template class 4, next 4, day 1244073, signal share at the sink v4 4500 v5 5500 bps (window 60, this node signals 6, v5 decided by signal at epoch none) +13:15:02.744 t=141.0 s daa 120 epoch 2 class 4 signal v4 4500 v5 5500 bps blocks/sink per node 120/a4e0b591 120/a4e0b591 120/a4e0b591 120/a4e0b591 +13:15:17.753 t=156.0 s daa 136 epoch 2 class 4 signal v4 4500 v5 5500 bps blocks/sink per node 136/d00c2fca 136/d00c2fca 136/d00c2fca 136/d00c2fca +13:15:32.768 t=171.0 s daa 151 epoch 2 class 4 signal v4 4500 v5 5500 bps blocks/sink per node 151/5e0379d8 151/5e0379d8 151/5e0379d8 151/5e0379d8 +13:15:47.781 t=186.0 s daa 171 epoch 2 class 4 signal v4 4500 v5 5500 bps blocks/sink per node 171/997b824e 171/997b824e 171/997b824e 171/997b824e +13:15:56.790 epoch 2 -> 3 at daa 180, 195.0 s: template class 4, next 4, day 1244073, signal share at the sink v4 4500 v5 5500 bps (window 60, this node signals 6, v5 decided by signal at epoch none) +13:16:09.441 ATTEMPT-3 SEED ec0a8cf9e1c6874f: cli attempt 3 id 1f1cf82877f46ee6 | engine attempt 3 id 1f1cf82877f46ee6 | expected attempt 3 id 1f1cf82877f46ee6 | EQUAL +13:16:09.442 SUMMARY PASS (expect no-flip, signals 6/6/7, stale none): no v5 epoch; epochs seen e0:2:0bps:d1244073 e1:3:4888bps:d1244073 e2:4:5500bps:d1244073 e3:4:5500bps:d1244073; chain bytes {"0":1,"6":95,"7":85} (5249 bps at byte 6); blocks 181 / 0; rejected miners 0/0/0/0 nodes 0/0/0; sinks 5bb8ff5febfb6d68 5bb8ff5febfb6d68 5bb8ff5febfb6d68 5bb8ff5febfb6d68 (agree); counts 180/180/180/180; signal lines 0/3 (epochs //, shares //); floor lines 3/3; state roots at the flip ; stateless node accepted after the flip 0 (refusal lines 0); stale miner accepted after the first refresh n/a rejected n/a; days 1244073 +13:16:09.442 summary: /tmp/igneum-fast-time-v5s-attempt3-check/summary.json diff --git a/docs/design/class-v5-stored-state.md b/docs/design/class-v5-stored-state.md index 9656c731c..f6f8ab79b 100644 --- a/docs/design/class-v5-stored-state.md +++ b/docs/design/class-v5-stored-state.md @@ -51,6 +51,7 @@ Clock rule for this page: every time is UK time (UK time tonight, UTC+1). The bu | 13:5x | The pairing read-back on the rebuilt pair 6ccaf9e9 (release-0.3.25-node, igneumd's IGNEUM_POW_FINGERPRINT=cbc5bd0a..., the same PoW code as the print-only c9ad753a): the flip case on build-1 (13:44 to 13:56 UK, `class-v5-harness/readback-0325.{log,json}`) with the CLI side igneum-pow built at exactly 1c420786 (/srv/builds/_scratch/v5-freeze-cli, sha256 7ba781db...): SUMMARY PASS; every v5 epoch id for id, miners 3 of 3 against the freeze CLI: epoch 8 13a54a0dd793ca79 (attempt 2), epoch 9 d35cd0e9cb186d00 (attempt 1), epoch 10 6104176723170d72 (attempt 2). The gap: the run's seeds are its block hashes and drew no attempt-3 seed, so the case that caught the pin d5b68fae is not exercised by this read; the seeded attempt-3 case (a fixed seed through the freeze CLI and the pair's miner pack path, one line per run) is the next harness item | | 14:1x | The pin's FAIL seed re-read (ec0a8cf9...8212, its era 234e082d...6062, day 1244071, the run's own epoch-9 stream from /tmp/igneum-fast-time-v5x-cross-0325-d5b68fae): igneum-pow at exactly 1c420786 draws attempt 3, program id 1f1cf82877f46ee6 (8f481459 the same). Neither id of the FAIL was the freeze's: the cross harness's "cli v5 ebf64b32e2d84c5b" came from the release worktree's pre-freeze igneum-pow copy and the pin miner's 65b57e3b847d362e from "igneum-pow-v5/src"; rule 19's fingerprint pairing catches both. The miner's side of a past seed cannot be re-read (igneum-miner reads ids from a node's template only), so the pin goes on the fingerprint equality and the record says the attempt-3 seed's miner id was not re-read; the seeded attempt-3 case (a miner `program-id` read on a given seed, era, day and stream, asked of the node lane by 15:00 UK, default a kaspa-pow test binary on class-v5-node) is the next harness item | | 14:1x | The seeded attempt-3 case closed EQUAL: kaspa-pow `program-id` (class-v5-node f912e614, consensus/pow/src/bin: the template prepare's own path on a given seed, era, day, genesis day and stream file; a stream-less v5 read refuses with the engine's line, exit 3) reads the pin's FAIL seed ec0a8cf9...8212 (era 234e082d...6062, day 1244071, genesis day 1243740, the run's epoch-9 stream) as attempt 3, id 1f1cf82877f46ee6, equal to igneum-pow at exactly 1c420786 (build-1, 14:07 UK); the class v4 control reads attempt 0, 17d03dc8ddfe865c. The harness now reads that seed on every run (`class-v5-harness/attempt-3-seed/{seed.json,state.igsd1}`, check `attempt_3_seed_reads_equal`: the engine path beside the run's CLI, attempt and id against the record's expectation; an unreadable side is a FAILED CHECK, never a skip); the node lane lifts the read into `igneum-miner program-id` on its next line | +| 14:2x | The harness's attempt-3 check read live: on the rebuilt pair 6ccaf9e9 with the CLI at exactly 1c420786 (build-1, a 3-epoch no-flip case, 14:16 UK, `class-v5-harness/attempt3-check.{log,json}`): "ATTEMPT-3 SEED ec0a8cf9e1c6874f: cli attempt 3 id 1f1cf82877f46ee6 | engine attempt 3 id 1f1cf82877f46ee6 | expected attempt 3 id 1f1cf82877f46ee6 | EQUAL", `attempt_3_seed_reads_equal` true; the standalone path (`--a3-only`, seconds, no nodes) reads the same, and its known-failed flag (`--a3-known-failed`, the record's id with one digit flipped) reads DIFFER. A first short run died at 14:10 UK from this lane's own fault: the runner script was edited while that run's bash was reading it (the mid-run edit class build-remote's comment names); the second run is the record | ## 1. The claim, in one paragraph diff --git a/infra/fast-time/class-v5-signal.mjs b/infra/fast-time/class-v5-signal.mjs index e6590f559..5ad4563ea 100644 --- a/infra/fast-time/class-v5-signal.mjs +++ b/infra/fast-time/class-v5-signal.mjs @@ -60,6 +60,7 @@ const V3_ACTIVATION = actflag('v3-activation', 60); const WINDOW = flag('window', 60); const STALE = sflag('stale') == null ? null : +sflag('stale'); const STATELESS_NODE = !args.includes('--no-stateless-node'); +const A3_DIR = `${ROOT}docs/design/class-v5-harness/attempt-3-seed`; const WINDOWS = 7; const SIGNAL = (sflag('signal') || '6,6,6').split(',').map(Number); // since the 0.3.23 node line the bytes are not ordered by class: 7 = class v4 sub-version 3, 6 = class v5 (counted exactly) @@ -75,6 +76,15 @@ for (const b of [IGNEUMD, CPU_MINER]) if (!existsSync(b)) { console.error(`missi // whose log says a port was in use fails the run at once const PIDS = `${TMP}/pids`; try { for (const pid of readFileSync(PIDS, 'utf8').split('\n').map(Number).filter(Boolean)) { try { process.kill(pid, 'SIGKILL'); console.log(`killed survivor pid ${pid} of the previous run`); } catch { } } } catch { } +// `--a3-only [--a3-known-failed]`: the attempt-3 seed read alone, no nodes, seconds (the check's own self-test and a pairing +// read between a pair and a CLI without a run); exit 0 on EQUAL, 1 on DIFFER or unread, and with --a3-known-failed the +// flipped expectation must read DIFFER (exit 0 then, 1 if it reads EQUAL). +if (args.includes('--a3-only')) { + const kf = args.includes('--a3-known-failed'); + const row = readAttempt3Seed(kf); + console.log(JSON.stringify(row)); + process.exit(kf ? (row.equal ? 1 : 0) : (row.equal ? 0 : 1)); +} rmSync(TMP, { recursive: true, force: true }); mkdirSync(TMP, { recursive: true }); const recordPid = (p) => { try { writeFileSync(PIDS, `${readFileSync(PIDS, 'utf8')}${p.pid}\n`); } catch { writeFileSync(PIDS, `${p.pid}\n`); } }; let baseText = readFileSync(FILE, 'utf8'); @@ -435,10 +445,11 @@ if (EXPECT === 'flip') { // through the run's CLI (igneum-pow show), attempt and id compared with each other and with the record's expectation. // A run's own seeds are its block hashes and rarely land at attempt 3, which is where two acceptance rules show; this // read does not wait for the chain to draw one. An unreadable side is a FAILED CHECK, never a skip. -const A3_DIR = `${ROOT}docs/design/class-v5-harness/attempt-3-seed`; -const a3 = (() => { +function readAttempt3Seed(knownFailed = false) { try { const j = JSON.parse(readFileSync(`${A3_DIR}/seed.json`, 'utf8')); + // the check's own known-failed shape (--a3-known-failed): the record's expected id with one hex digit flipped must read DIFFER + if (knownFailed) j.expected = { ...j.expected, id: j.expected.id.slice(0, 15) + (j.expected.id.endsWith('0') ? '1' : '0') }; const state = `${A3_DIR}/${j.state_file}`; const dayHex = Buffer.concat([Buffer.from('igneum-day/'), Buffer.from(BigInt(j.day).toString(16).padStart(16, '0'), 'hex').reverse()]).toString('hex'); const cli = IGNEUM_POW && existsSync(IGNEUM_POW) ? spawnSync(IGNEUM_POW, ['show', '--program-class', 'v5', '--epoch-hex', j.epoch_hex, '--era-hex', j.era_hex, '--day-hex', dayHex, '--state', state], { encoding: 'utf8' }).stdout || '' : ''; @@ -451,7 +462,8 @@ const a3 = (() => { log(`ATTEMPT-3 SEED ${row.seed}: cli ${cm ? `attempt ${cm[1]} id ${cm[2]}` : 'UNREAD'} | engine ${em ? `attempt ${em[1]} id ${em[2]}` : `UNREAD${row.engine_refusal ? ` (${row.engine_refusal})` : pidBin ? '' : ' (no program-id binary)'}`} | expected attempt ${j.expected.attempt} id ${j.expected.id} | ${row.equal ? 'EQUAL' : 'DIFFER'}`); return row; } catch (e) { log(`ATTEMPT-3 SEED: ${e.message}`); return { equal: false, error: e.message }; } -})(); +} +const a3 = readAttempt3Seed(); checks.attempt_3_seed_reads_equal = !!a3.equal; const pass = Object.values(checks).every(Boolean); const summary = { diff --git a/tools/class-v5/harness-remote.sh b/tools/class-v5/harness-remote.sh index fb0307eb7..fe6dd3c53 100755 --- a/tools/class-v5/harness-remote.sh +++ b/tools/class-v5/harness-remote.sh @@ -36,4 +36,4 @@ rsync -a -e "ssh -i $KEY" "$ROOT/docs/design/class-v5-harness/attempt-3-seed/" " # POW_BIN= points the harness's CLI id read at another crate build (the freeze CLI for a pairing read-back) ssh -i "$KEY" "$HOST" "IGNEUM_V5_BIN=${FORK_BIN:-} IGNEUM_POW_BIN=${POW_BIN:-} $REMOTE_ROOT/tools/class-v5/harness-box.sh" "$REMOTE_ROOT" "$REMOTE_LOG" "$CASE" "$BASE" $ARGS || true rsync -a -e "ssh -i $KEY" "$HOST:$REMOTE_LOG/$CASE.log" "$HOST:$REMOTE_LOG/$CASE.json" "$OUT/" 2>/dev/null || true -grep -E "SUMMARY|FAILED CHECK|PROGRAM ID|CLASS SWITCH" "$OUT/$CASE.log" || tail -20 "$OUT/$CASE.log" +grep -E "SUMMARY|FAILED CHECK|PROGRAM ID|CLASS SWITCH|ATTEMPT-3 SEED" "$OUT/$CASE.log" || tail -20 "$OUT/$CASE.log" From 48b548ef5e7d34e71070fd0f4bdfab10c2e211b6 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 13:49:15 +0000 Subject: [PATCH 008/227] class v5 design page: the Intel row moves to its fingerprint (the Arc B580 reads 82b19cbde8557ea5 on the rebuilt kit; the rotate fold was the whole fault; six platforms equal) Co-Authored-By: Claude Fable 5.1 --- docs/design/class-v5-stored-state.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/design/class-v5-stored-state.md b/docs/design/class-v5-stored-state.md index f6f8ab79b..4f7645f2b 100644 --- a/docs/design/class-v5-stored-state.md +++ b/docs/design/class-v5-stored-state.md @@ -52,6 +52,7 @@ Clock rule for this page: every time is UK time (UK time tonight, UTC+1). The bu | 14:1x | The pin's FAIL seed re-read (ec0a8cf9...8212, its era 234e082d...6062, day 1244071, the run's own epoch-9 stream from /tmp/igneum-fast-time-v5x-cross-0325-d5b68fae): igneum-pow at exactly 1c420786 draws attempt 3, program id 1f1cf82877f46ee6 (8f481459 the same). Neither id of the FAIL was the freeze's: the cross harness's "cli v5 ebf64b32e2d84c5b" came from the release worktree's pre-freeze igneum-pow copy and the pin miner's 65b57e3b847d362e from "igneum-pow-v5/src"; rule 19's fingerprint pairing catches both. The miner's side of a past seed cannot be re-read (igneum-miner reads ids from a node's template only), so the pin goes on the fingerprint equality and the record says the attempt-3 seed's miner id was not re-read; the seeded attempt-3 case (a miner `program-id` read on a given seed, era, day and stream, asked of the node lane by 15:00 UK, default a kaspa-pow test binary on class-v5-node) is the next harness item | | 14:1x | The seeded attempt-3 case closed EQUAL: kaspa-pow `program-id` (class-v5-node f912e614, consensus/pow/src/bin: the template prepare's own path on a given seed, era, day, genesis day and stream file; a stream-less v5 read refuses with the engine's line, exit 3) reads the pin's FAIL seed ec0a8cf9...8212 (era 234e082d...6062, day 1244071, genesis day 1243740, the run's epoch-9 stream) as attempt 3, id 1f1cf82877f46ee6, equal to igneum-pow at exactly 1c420786 (build-1, 14:07 UK); the class v4 control reads attempt 0, 17d03dc8ddfe865c. The harness now reads that seed on every run (`class-v5-harness/attempt-3-seed/{seed.json,state.igsd1}`, check `attempt_3_seed_reads_equal`: the engine path beside the run's CLI, attempt and id against the record's expectation; an unreadable side is a FAILED CHECK, never a skip); the node lane lifts the read into `igneum-miner program-id` on its next line | | 14:2x | The harness's attempt-3 check read live: on the rebuilt pair 6ccaf9e9 with the CLI at exactly 1c420786 (build-1, a 3-epoch no-flip case, 14:16 UK, `class-v5-harness/attempt3-check.{log,json}`): "ATTEMPT-3 SEED ec0a8cf9e1c6874f: cli attempt 3 id 1f1cf82877f46ee6 | engine attempt 3 id 1f1cf82877f46ee6 | expected attempt 3 id 1f1cf82877f46ee6 | EQUAL", `attempt_3_seed_reads_equal` true; the standalone path (`--a3-only`, seconds, no nodes) reads the same, and its known-failed flag (`--a3-known-failed`, the record's id with one digit flipped) reads DIFFER. A first short run died at 14:10 UK from this lane's own fault: the runner script was edited while that run's bash was reading it (the mid-run edit class build-remote's comment names); the second run is the record | +| 14:4x | The Arc B580 reads EQUAL on the rebuilt kit 65b47211 (14:46 UK): 82b19cbde8557ea5, self-test PASS 96 of 96, the v4 control PASS; the rotate fold was the whole Intel fault. The kit is one fingerprint on six platforms. The 0.3.26 upgrade line (8f481459's line with the Intel kit in) goes to the shipper and the coordinator | ## 1. The claim, in one paragraph @@ -290,7 +291,7 @@ Every item of this page that has no code, no test or no measurement yet, with th | The kit for every platform: Metal | done (branch `v5-kits`, 7 October 2026, 19:3x UK): `proto-metal/main.swift` `servePackDataset` reads `leaves.bin`, checks the pack's count and FNV-1a 64, binds buffers 2 and 3 as `packbench.swift` does, self-tests the dataset head and last word against `vectors.json` and drops the leaf buffer after the build; a v5 prepare and job served on the M5 Max at 18:37:32Z | kits lane | 0 | | The kit: CUDA | done (`v5-kits`): `packfile.h` reads `IGNEUM_STATE_LEAVES`, the FNV, file, root and block (generator 5 = class v5; a v5 pack without the count or another class with one is refused), `pf_load_leaves` reads and checks `leaves.bin`; `worker.cpp` uploads it (`cuMemcpyHtoD`) for `igneum_build(ds, cache, leaves, nLeaves, nItems)` and frees it after; the CPU emulation runs `--check` on v5-dn3-epoch0: PASS on igneum-build-1 at 18:40:52Z (cache FNV 7334fa46e5d972eb, dataset head, word [268435455], 64 samples, 96 of 96 lanes); the loader test carries the class v5 cases known-failed first (46 ok) | kits lane | 0 | | The kit: OpenCL (AMD), Intel | host done (`v5-kits`): `proto-opencl/host.c` sets the build arguments for both kernel shapes in one place and uploads the leaves in `--bench-pack`, `--serve` and the compiled-in bench (the host reference derives words from the same leaves); the Linux and Windows workers are in the kit zip; the 9070 XT run placed on PC 1 as one lock slot after the 9070 XT G1 and ladder job (the hash lane publishes `tools/class-v5/pc1-amd-v5-bench.ps1`, expected 82b19cbde8557ea5); Intel: not measured tonight, no Arc B580 on PC 1 or PC 2 and the only Arc path needs a driver click, which no PC job may raise (the coordinator's ruling, 19:5x UK), so the card's holder and a click-free driver path are owed | coordinator (PC 1 queue), the B580's holder | 1 | -| Fingerprints equal across platforms, G1 on the 5090 and the Mac, AMD and Intel after | v5-dn3-epoch0 reads 82b19cbde8557ea5 on Metal (packbench, 18:34:47Z, 14.163 MH/s GPU time) and on Apple OpenCL (the kit host `--bench-pack`, 18:34:59Z, 15.265 MH/s wall), both under the Mac's measure lock, cache FNV and vectors PASS; CUDA: 82b19cbde8557ea5 on a one-shot RunPod RTX 4090 (driver 580.159.04, NVRTC 12.8, sm_89, 450 W) from the kit zip through `tools/class-v5/fleet-cuda-v5-bench.sh`: the kit's Linux NVRTC worker `--bench` at 18:57:45Z (check PASS, 62.759 MH/s over 5 dispatches of 2^24) and `bench.cu` at 18:57:50Z (the fleet lane's own run 62.775 MH/s); no 5090 was quiet (p1-5090 is a live voter), so the 5090 row stays the fleet's when one frees; AMD and Intel as the row above AMD READ (the hash lane's PC 1 queue job run-ca3-pc1-v5-amd-bench-20261007, 01:15 to 01:16 UK, exit 0, the card loaded beside the miners): RX 9070 XT gfx1201 (AMD-APP 3683.0, 32 CUs) on the kit zip packs-ca3-v5-20261007T221001Z (worker sha256 27faa253..., kernel_bound.cl 6b40f2dd..., leaves.bin 704 bytes 50687c8d...): self-test PASS (cache FNV 7334fa46e5d972eb, dataset head, word [268435455], 64 samples, 96 of 96 vector lanes), fingerprint of the 2^24 outputs at base 0 82b19cbde8557ea5 = the expected, match True; the v4-genesis control 892b6d55a7ddcfcb PASS. The rates (6.8 and 7.7 MH/s) are loaded-card figures, not the row. Intel: HELD out of 0.3.24, crossing time 09:36 UK (the Arc B580 job on the second PC, run-ca3-pc2-v5-intel-bench-20261007, read at 09:36 UK): no fingerprint; the kit worker (igneum-worker-opencl.exe sha256 27faa253...) fails its self-test on the Arc before any batch, on the v5 pack AND on the class v4 control alike, with every cache and dataset check passing (cache head, last line and FNV 7334fa46e5d972eb and 48c4f5bf24166b2e; dataset head, last word and 64 samples) and 96 of 96 vector lanes wrong (v5 lane 0 at base 0: device 729ebd46376e2851, expected e552166a03298f7f; v4 control lane 0: device 11bdacb6ee4108c2, expected dfbc8db1c06dacd8). So the fault is the bound kernel's per-nonce evaluation on Intel OpenCL (Intel(R) OpenCL Graphics, OpenCL 3.0 platform, driver 32.0.101.6733, the kernel compiled as OpenCL C 1.2, 160 CUs, sub-group shuffle present), on both classes, not class v5's leaves; the RX 9070 XT matched on the same kit. The kit stands on five of six platforms. CAUSE (the Intel lane, 10:4x UK): the kit worker (27faa253, built from class-v5 1095eaa8) lacks proto-opencl/intel_rotr.h, the Intel rotate-fold rewrite of 26e135a3 (Intel's compiler turns rotr_var's `rotate(x, (0u - n) & 31u)` into a left rotate, so every variable right-rotate of every program is wrong on Intel; host.c calls igneum_intel_rotr_patch before the build on an Intel platform); master at 3a4ba893 lacks it too, release-0.3.23 and 0.3.24 carry it, and the Intel lane lands it on the mirror's master (intel-rotr-master, about 10:30 UK). The installed 0.3.21 worker passed 96 of 96 on the same Arc on 7 October and mined 54 re-checked blocks. Not the sub-group size (that patch, drafted, is held). The fix for the kit: rebuild the worker from a tree with intel_rotr.h (master after the landing), the Arc job again through the shipper's second-PC queue; a no-op on NVIDIA and AMD, so the five matched fingerprints stand. The rebuilt kit (packs-ca3-v5-20261008T085619Z.zip, sha256 65b47211..., from 8f481459 with the fix) is with the hash lane for the Arc re-read; the second PC has been dark since 10:46 UK (a whole-PC fault, a hand at the box needed), so the read cannot land before 0.3.25's pin: 0.3.25 pairs with the freeze 1c420786 and ships that zip with the Intel worker held out; the Intel kit and 8f481459 ride the first cut after an equal Arc read, 0.3.26 at the earliest. | coordinator (AMD, Intel), fleet (5090) | 1 | +| Fingerprints equal across platforms, G1 on the 5090 and the Mac, AMD and Intel after | v5-dn3-epoch0 reads 82b19cbde8557ea5 on Metal (packbench, 18:34:47Z, 14.163 MH/s GPU time) and on Apple OpenCL (the kit host `--bench-pack`, 18:34:59Z, 15.265 MH/s wall), both under the Mac's measure lock, cache FNV and vectors PASS; CUDA: 82b19cbde8557ea5 on a one-shot RunPod RTX 4090 (driver 580.159.04, NVRTC 12.8, sm_89, 450 W) from the kit zip through `tools/class-v5/fleet-cuda-v5-bench.sh`: the kit's Linux NVRTC worker `--bench` at 18:57:45Z (check PASS, 62.759 MH/s over 5 dispatches of 2^24) and `bench.cu` at 18:57:50Z (the fleet lane's own run 62.775 MH/s); no 5090 was quiet (p1-5090 is a live voter), so the 5090 row stays the fleet's when one frees; AMD and Intel as the row above AMD READ (the hash lane's PC 1 queue job run-ca3-pc1-v5-amd-bench-20261007, 01:15 to 01:16 UK, exit 0, the card loaded beside the miners): RX 9070 XT gfx1201 (AMD-APP 3683.0, 32 CUs) on the kit zip packs-ca3-v5-20261007T221001Z (worker sha256 27faa253..., kernel_bound.cl 6b40f2dd..., leaves.bin 704 bytes 50687c8d...): self-test PASS (cache FNV 7334fa46e5d972eb, dataset head, word [268435455], 64 samples, 96 of 96 vector lanes), fingerprint of the 2^24 outputs at base 0 82b19cbde8557ea5 = the expected, match True; the v4-genesis control 892b6d55a7ddcfcb PASS. The rates (6.8 and 7.7 MH/s) are loaded-card figures, not the row. Intel: READ EQUAL on the rebuilt kit (65b47211, the Intel rotate-fold fix in): the Arc B580 on the second PC through the hash lane's queue (run-ca3-pc2-v5-intel-bench-20261008, 14:45 to 14:46 UK, the job keeping the host's whole stdout): v5-dn3-epoch0 fingerprint 82b19cbde8557ea5 = expected, match True, self-test PASS 96 of 96 lanes, 10.794 MH/s quiet; the v4-genesis control 892b6d55a7ddcfcb PASS, 10.718 MH/s; the host's lines: "intel: rotr_var rewritten to the shift form before the build", exchange sub_group_shuffle_xor (cl_khr_subgroup_shuffle) with sub-group size 32 for a 32-item work-group (queried through clGetKernelSubGroupInfoKHR), the kernel's compiled sub-group size 32, build 924.5 ms (v5) and 518.7 ms (v4); device Intel(R) OpenCL Graphics (OpenCL 3.0), driver 32.0.101.6733, 160 compute units. So the rotate fold was the whole fault (the sub-group reading was not needed; that patch stays unapplied) and the kit reads one fingerprint on six platforms: CUDA (RTX 4090), Metal and Apple OpenCL (M5 Max), AMD OpenCL (RX 9070 XT), Intel OpenCL (Arc B580), the CPU verifier. The 09:36 UK read before the fix, for the record: Intel: HELD out of 0.3.24, crossing time 09:36 UK (the Arc B580 job on the second PC, run-ca3-pc2-v5-intel-bench-20261007, read at 09:36 UK): no fingerprint; the kit worker (igneum-worker-opencl.exe sha256 27faa253...) fails its self-test on the Arc before any batch, on the v5 pack AND on the class v4 control alike, with every cache and dataset check passing (cache head, last line and FNV 7334fa46e5d972eb and 48c4f5bf24166b2e; dataset head, last word and 64 samples) and 96 of 96 vector lanes wrong (v5 lane 0 at base 0: device 729ebd46376e2851, expected e552166a03298f7f; v4 control lane 0: device 11bdacb6ee4108c2, expected dfbc8db1c06dacd8). So the fault is the bound kernel's per-nonce evaluation on Intel OpenCL (Intel(R) OpenCL Graphics, OpenCL 3.0 platform, driver 32.0.101.6733, the kernel compiled as OpenCL C 1.2, 160 CUs, sub-group shuffle present), on both classes, not class v5's leaves; the RX 9070 XT matched on the same kit. The kit stands on five of six platforms. CAUSE (the Intel lane, 10:4x UK): the kit worker (27faa253, built from class-v5 1095eaa8) lacks proto-opencl/intel_rotr.h, the Intel rotate-fold rewrite of 26e135a3 (Intel's compiler turns rotr_var's `rotate(x, (0u - n) & 31u)` into a left rotate, so every variable right-rotate of every program is wrong on Intel; host.c calls igneum_intel_rotr_patch before the build on an Intel platform); master at 3a4ba893 lacks it too, release-0.3.23 and 0.3.24 carry it, and the Intel lane lands it on the mirror's master (intel-rotr-master, about 10:30 UK). The installed 0.3.21 worker passed 96 of 96 on the same Arc on 7 October and mined 54 re-checked blocks. Not the sub-group size (that patch, drafted, is held). The fix for the kit: rebuild the worker from a tree with intel_rotr.h (master after the landing), the Arc job again through the shipper's second-PC queue; a no-op on NVIDIA and AMD, so the five matched fingerprints stand. The rebuilt kit (packs-ca3-v5-20261008T085619Z.zip, sha256 65b47211..., from 8f481459 with the fix) is with the hash lane for the Arc re-read; the second PC has been dark since 10:46 UK (a whole-PC fault, a hand at the box needed), so the read cannot land before 0.3.25's pin: 0.3.25 pairs with the freeze 1c420786 and ships that zip with the Intel worker held out; the Intel kit and 8f481459 ride the first cut after an equal Arc read, 0.3.26 at the earliest. | coordinator (AMD, Intel), fleet (5090) | 1 | | The kit zip | `igneum-build-1:/srv/artefacts/packs/packs-ca3-v5-20261007T183921Z.zip`, sha256 e6c088bb34fecdc3ff297dbb06438a14ade7d8c55273357726d28f7a1334a25e, 919,129 bytes, 56 files (v4-genesis, v5-genesis, v5-dn3-epoch0 with `leaves.bin`; `bin/linux` and `bin/windows` NVRTC and OpenCL workers; sources; the two bench scripts; SHA256SUMS), built by `tools/class-v5/kits-remote.sh` on build-1 at 18:41:15Z after the loader test and the emulation check | kits lane | 0 | | The crossing on Devnet 3 by height after its gate | NOT started: the floor in the Devnet 3 override, the Devnet 2 style gate (zero rejected across the flip, exec roots agreeing, every node holding the epoch's stream); the harness's flip case is the rehearsal (PASS twice) | node lane (a283f5f0d364ceef0) owns the fork, the shipper (ae892a8b0f78fe31c) the cut; this lane the gate's v5 checks | 3 | | Miner cost rows per card (5090, M5 Max, 9070 XT, 4070) | the 4090 row only (rate equal within 0.01 percent, build +0.24 ms); the four named cards owed, each labelled measured with the date | fleet (5090, 4070), this lane (M5 Max under the lock), PC 1 (9070 XT) | 3 | From e6e6c693024b7d637ec6f2eac9b66297d06780a7 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 15:17:09 +0000 Subject: [PATCH 009/227] class v6 kit: the two-pack emulation runner (the known-failed shape: the plain-address pack and the fold pack of one seed read two ids and two fingerprints on the worker's own kernel text) Co-Authored-By: Claude Fable 5.1 --- tools/class-v5/emu-two-packs-box.sh | 30 +++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 tools/class-v5/emu-two-packs-box.sh diff --git a/tools/class-v5/emu-two-packs-box.sh b/tools/class-v5/emu-two-packs-box.sh new file mode 100755 index 000000000..ac33024e1 --- /dev/null +++ b/tools/class-v5/emu-two-packs-box.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +# The kit's CPU emulation of the NVRTC worker (the real kernel text on host threads, kits-on-box.sh's emu step lifted) on +# any two packs: pack A is run through --check, pack B is the second namespace the two-pack emulation needs. Prints each +# pack's id and class, then the check line (the dataset self-test, the vector warps, the fingerprint). The class v6 kit's +# known-failed shape (8 October 2026): the plain-address pack and the fold pack of one seed must read two ids and two +# fingerprints. A file run by path on the box, through the pool lease. +# emu-two-packs-box.sh [label] +set -uo pipefail +R="$1"; A="$2"; B="$3"; L="${4:-emu-two-packs}" +T=$(mktemp -d /tmp/v6-emu.XXXXXX); E="$T/emu"; mkdir -p "$E" +cd "$R" +for p in "$A" "$B"; do echo "PACK $(basename "$p") id $(grep -oE 'IGNEUM_PROGRAM_ID 0x[0-9a-f]+' "$p/program.h" | head -1 | awk '{print $2}') generator $(grep -oE 'IGNEUM_GENERATOR [0-9]+' "$p/program.h" | awk '{print $2}') class $(grep -oE 'IGNEUM_LOAD_CLASS "[^"]+"' "$p/program.h" | cut -d'"' -f2)"; done +emu_kernel() { { echo '#include '; echo '#include '; echo "namespace $2 {"; sed -E 's/([A-Za-z_0-9]+)<<<([^,]+), ([^>]+)>>>\(/emu_launch(\1, \2, \3, /' "$1/$3.cu"; echo "}"; } > "$E/$3_$2.cpp"; g++ -std=c++17 -O2 -w -I proto-cuda/emu -I "$1" -c "$E/$3_$2.cpp" -o "$E/$3_$2.o"; } +emu_kernel "$A" emu_pack_a kernel && emu_kernel "$A" emu_pack_a kernel_bound && emu_kernel "$B" emu_pack_b kernel && emu_kernel "$B" emu_pack_b kernel_bound \ + && g++ -std=c++17 -O2 -Wall -Wextra -DIGNEUM_EMU -I proto-cuda/nvrtc -I /usr/local/cuda/include -c proto-cuda/nvrtc/worker.cpp -o "$E/worker.o" \ + && g++ -std=c++17 -O2 -Wall -Wextra -DIGNEUM_EMU -DIGNEUM_EMU_TWO_PACKS -I proto-cuda/nvrtc -I proto-cuda/emu -I /usr/local/cuda/include -c proto-cuda/nvrtc/emu/emu_backend.cpp -o "$E/emu_backend.o" \ + && g++ -std=c++17 -O2 -w -I proto-cuda/emu -c proto-cuda/emu/shim.cpp -o "$E/shim.o" \ + && g++ -o "$E/igneum-worker-cuda-emu" "$E"/*.o -pthread 2> "$T/emu-build.log" || { echo "FAIL emu build"; head -30 "$T/emu-build.log"; exit 1; } +run_check() { # + local ed="$T/emu-$3"; mkdir -p "$ed" + cp "$E"/worker.o "$E"/emu_backend.o "$E"/shim.o "$ed"/ 2>/dev/null + ( cd "$ed" && E="$ed" emu_kernel "$1" emu_pack_a kernel && E="$ed" emu_kernel "$1" emu_pack_a kernel_bound && E="$ed" emu_kernel "$2" emu_pack_b kernel && E="$ed" emu_kernel "$2" emu_pack_b kernel_bound ) >/dev/null 2>&1 + g++ -o "$ed/igneum-worker-cuda-emu" "$ed"/*.o -pthread 2>> "$T/emu-build.log" || { echo "FAIL emu link $3"; return 1; } + /srv/builds/_bin/lease pool 32 --label "$L: $3" --owner class-v5 --class v5 --min 8 -- env IGNEUM_EMU_PACK="$1" IGNEUM_EMU_PACK2="$2" timeout 2400 "$ed/igneum-worker-cuda-emu" --check --pack "$1" > "$T/$3.log" 2>&1 + echo "RC $3 $?" + grep -E '^check (PASS|FAIL)|self-test|fingerprint|FAIL|error' "$T/$3.log" | grep -vE "^lease:" | cut -c1-320 +} +run_check "$A" "$B" "$(basename "$A")" +run_check "$B" "$A" "$(basename "$B")" +echo "logs under $T" From 912835ba64b2b6d3c2de1c3dac173a7fd2965878 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 15:18:03 +0000 Subject: [PATCH 010/227] class v6 kit: the two-pack emulation runner builds each orientation in its own dir Co-Authored-By: Claude Fable 5.1 --- tools/class-v5/emu-two-packs-box.sh | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/tools/class-v5/emu-two-packs-box.sh b/tools/class-v5/emu-two-packs-box.sh index ac33024e1..758abae26 100755 --- a/tools/class-v5/emu-two-packs-box.sh +++ b/tools/class-v5/emu-two-packs-box.sh @@ -10,21 +10,18 @@ R="$1"; A="$2"; B="$3"; L="${4:-emu-two-packs}" T=$(mktemp -d /tmp/v6-emu.XXXXXX); E="$T/emu"; mkdir -p "$E" cd "$R" for p in "$A" "$B"; do echo "PACK $(basename "$p") id $(grep -oE 'IGNEUM_PROGRAM_ID 0x[0-9a-f]+' "$p/program.h" | head -1 | awk '{print $2}') generator $(grep -oE 'IGNEUM_GENERATOR [0-9]+' "$p/program.h" | awk '{print $2}') class $(grep -oE 'IGNEUM_LOAD_CLASS "[^"]+"' "$p/program.h" | cut -d'"' -f2)"; done -emu_kernel() { { echo '#include '; echo '#include '; echo "namespace $2 {"; sed -E 's/([A-Za-z_0-9]+)<<<([^,]+), ([^>]+)>>>\(/emu_launch(\1, \2, \3, /' "$1/$3.cu"; echo "}"; } > "$E/$3_$2.cpp"; g++ -std=c++17 -O2 -w -I proto-cuda/emu -I "$1" -c "$E/$3_$2.cpp" -o "$E/$3_$2.o"; } -emu_kernel "$A" emu_pack_a kernel && emu_kernel "$A" emu_pack_a kernel_bound && emu_kernel "$B" emu_pack_b kernel && emu_kernel "$B" emu_pack_b kernel_bound \ - && g++ -std=c++17 -O2 -Wall -Wextra -DIGNEUM_EMU -I proto-cuda/nvrtc -I /usr/local/cuda/include -c proto-cuda/nvrtc/worker.cpp -o "$E/worker.o" \ - && g++ -std=c++17 -O2 -Wall -Wextra -DIGNEUM_EMU -DIGNEUM_EMU_TWO_PACKS -I proto-cuda/nvrtc -I proto-cuda/emu -I /usr/local/cuda/include -c proto-cuda/nvrtc/emu/emu_backend.cpp -o "$E/emu_backend.o" \ - && g++ -std=c++17 -O2 -w -I proto-cuda/emu -c proto-cuda/emu/shim.cpp -o "$E/shim.o" \ - && g++ -o "$E/igneum-worker-cuda-emu" "$E"/*.o -pthread 2> "$T/emu-build.log" || { echo "FAIL emu build"; head -30 "$T/emu-build.log"; exit 1; } -run_check() { # +build_and_check() { # : one emulation build per orientation in its own dir local ed="$T/emu-$3"; mkdir -p "$ed" - cp "$E"/worker.o "$E"/emu_backend.o "$E"/shim.o "$ed"/ 2>/dev/null - ( cd "$ed" && E="$ed" emu_kernel "$1" emu_pack_a kernel && E="$ed" emu_kernel "$1" emu_pack_a kernel_bound && E="$ed" emu_kernel "$2" emu_pack_b kernel && E="$ed" emu_kernel "$2" emu_pack_b kernel_bound ) >/dev/null 2>&1 - g++ -o "$ed/igneum-worker-cuda-emu" "$ed"/*.o -pthread 2>> "$T/emu-build.log" || { echo "FAIL emu link $3"; return 1; } + emu_kernel() { { echo '#include '; echo '#include '; echo "namespace $2 {"; sed -E 's/([A-Za-z_0-9]+)<<<([^,]+), ([^>]+)>>>\(/emu_launch(\1, \2, \3, /' "$1/$3.cu"; echo "}"; } > "$ed/$3_$2.cpp"; g++ -std=c++17 -O2 -w -I proto-cuda/emu -I "$1" -c "$ed/$3_$2.cpp" -o "$ed/$3_$2.o"; } + emu_kernel "$1" emu_pack_a kernel && emu_kernel "$1" emu_pack_a kernel_bound && emu_kernel "$2" emu_pack_b kernel && emu_kernel "$2" emu_pack_b kernel_bound \ + && g++ -std=c++17 -O2 -w -DIGNEUM_EMU -I proto-cuda/nvrtc -I /usr/local/cuda/include -c proto-cuda/nvrtc/worker.cpp -o "$ed/worker.o" \ + && g++ -std=c++17 -O2 -w -DIGNEUM_EMU -DIGNEUM_EMU_TWO_PACKS -I proto-cuda/nvrtc -I proto-cuda/emu -I /usr/local/cuda/include -c proto-cuda/nvrtc/emu/emu_backend.cpp -o "$ed/emu_backend.o" \ + && g++ -std=c++17 -O2 -w -I proto-cuda/emu -c proto-cuda/emu/shim.cpp -o "$ed/shim.o" \ + && g++ -o "$ed/igneum-worker-cuda-emu" "$ed"/*.o -pthread 2> "$T/emu-build-$3.log" || { echo "FAIL emu build $3"; head -20 "$T/emu-build-$3.log"; return 1; } /srv/builds/_bin/lease pool 32 --label "$L: $3" --owner class-v5 --class v5 --min 8 -- env IGNEUM_EMU_PACK="$1" IGNEUM_EMU_PACK2="$2" timeout 2400 "$ed/igneum-worker-cuda-emu" --check --pack "$1" > "$T/$3.log" 2>&1 echo "RC $3 $?" grep -E '^check (PASS|FAIL)|self-test|fingerprint|FAIL|error' "$T/$3.log" | grep -vE "^lease:" | cut -c1-320 } -run_check "$A" "$B" "$(basename "$A")" -run_check "$B" "$A" "$(basename "$B")" +build_and_check "$A" "$B" "$(basename "$A")" +build_and_check "$B" "$A" "$(basename "$B")" echo "logs under $T" From a7b4799b355d3e9f8b9c88978ec36bd426da9d8e Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 15:23:59 +0000 Subject: [PATCH 011/227] class v6 kit (8 October 2026): the Metal hosts size the dataset by the ds55 words and items defines (packbench and the worker's pack path; a power-of-two pack reads unchanged: hl-v6-fold f6c34aa6e87bf211 on both builds), the kit's box script for the all-together pack and its known-failed partner, the runner's script switch Co-Authored-By: Claude Fable 5.1 --- proto-metal/main.swift | 4 +- proto-metal/packbench.swift | 10 +++- tools/class-v5/kits-remote.sh | 8 +-- tools/class-v5/kits-v6-on-box.sh | 95 ++++++++++++++++++++++++++++++++ 4 files changed, 109 insertions(+), 8 deletions(-) create mode 100755 tools/class-v5/kits-v6-on-box.sh diff --git a/proto-metal/main.swift b/proto-metal/main.swift index 6c7e48823..e7c55d127 100644 --- a/proto-metal/main.swift +++ b/proto-metal/main.swift @@ -3162,7 +3162,9 @@ func servePackDataset(_ gpu: GPU, _ store: ServeStore, dayHex: String, dir: Stri guard let fillFn = lib.makeFunction(name: "igneum_cache_fill"), let buildFn = lib.makeFunction(name: "igneum_build") else { throw refuse("memhard.metal lacks igneum_cache_fill or igneum_build") } let fillPipe = try gpu.device.makeComputePipelineState(function: fillFn) let buildPipe = try gpu.device.makeComputePipelineState(function: buildFn) - let words = 1 << datasetLog2 + // ds55 (the class v6 research packs, 8 October 2026): a non-power-of-two dataset carries IGNEUM_DATASET_WORDS (the + // buffer's size) and IGNEUM_DATASET_ITEMS beside IGNEUM_DATASET_LOG2 (the floor); the kernel text maps (src * words) >> 32 + let words = defineU64("IGNEUM_DATASET_WORDS").map { Int($0) } ?? (1 << datasetLog2) // Class v5 (docs/design/class-v5-stored-state.md, 7 October 2026): the window's state leaves, leaves.bin beside program.h // (IGNEUM_STATE_LEAVES leaves of 16 little-endian words), checked against the pack's count and FNV-1a 64 // (IGNEUM_STATE_LEAVES_FNV64) and bound as buffer 2 of igneum_build with the count in buffer 3 (packbench.swift's shape, diff --git a/proto-metal/packbench.swift b/proto-metal/packbench.swift index a382ddd7d..6e8a8fa88 100644 --- a/proto-metal/packbench.swift +++ b/proto-metal/packbench.swift @@ -93,8 +93,12 @@ let cacheFnvWant = hex64(vj["cache_fnv1a64"] as! String) let hotFnvWant: UInt64? = (vj["hot_fnv1a64"] as? String).map(hex64) guard let device = MTLCreateSystemDefaultDevice(), let queue = device.makeCommandQueue() else { fail("no Metal device") } -let words = 1 << datasetLog2 -let mask = UInt32(words - 1) +// ds55 (the class v6 research packs, 8 October 2026): a non-power-of-two dataset carries IGNEUM_DATASET_WORDS and +// IGNEUM_DATASET_ITEMS beside IGNEUM_DATASET_LOG2 (the floor); the buffer is sized by the words, the items by ITEMS, +// and the kernel text maps an address as (src * words) >> 32, so the mask is the kernel's business, not this host's +let datasetWordsDefine = defineU64("IGNEUM_DATASET_WORDS") +let words = datasetWordsDefine.map { Int($0) } ?? (1 << datasetLog2) +let mask = UInt32(truncatingIfNeeded: (1 << datasetLog2) - 1) let cacheWords = 1 << cacheLog2 func compile(_ file: String) -> MTLLibrary { @@ -138,7 +142,7 @@ func fnv1a64(_ p: UnsafeRawPointer, _ n: Int) -> UInt64 { for i in 0.. -- bash -# tools/class-v5/kits-on-box.sh ...` with the label "v5 kit". +# tools/class-v5/${KITS_BOX_SCRIPT:-kits-on-box.sh} ...` with the label "v5 kit". set -euo pipefail HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" BS_TOOL=class-v5-kits @@ -34,9 +34,9 @@ ZIP="/srv/artefacts/packs/packs-ca3-v5-$STAMP.zip" bs_toolchain_check bs_sync_sources bs_log "sources at $WT (commit $BS_SHA on $BS_BRANCH); building the class v5 kits on box $BOX" -# the body runs from a script FILE at the worktree's mirror checkout (tools/class-v5/kits-on-box.sh, carried by the commit), never +# the body runs from a script FILE at the worktree's mirror checkout (tools/class-v5/${KITS_BOX_SCRIPT:-kits-on-box.sh}, carried by the commit), never # an inline string: main's rule of 7 October 2026, 21:33 BST (no rm, find -delete or truncation inside a bash -c string) -CMD="cd '$WT' && bash tools/class-v5/kits-on-box.sh '$STAMP' '$SKIP_EMU'" +CMD="cd '$WT' && bash tools/class-v5/${KITS_BOX_SCRIPT:-kits-on-box.sh} '$STAMP' '$SKIP_EMU'" set +e BR_KIND=build BR_COMMAND="class v5 kits (packfile-test, emu --check v5, Linux and Windows workers, kit zip)" BR_TARGET="x86_64-linux+windows" BR_ARTEFACTS="" \ bs_remote_run "$WT" "$BS_WT class-v5 kits" "$CMD" 2>&1 | tee "/tmp/v5-kits-$STAMP.log" | grep -E '^(STEP|FAIL|KIT|BIN|LOGS|check PASS|self-test|packfile-test|emu:| v5|build-remote: RESULT)' diff --git a/tools/class-v5/kits-v6-on-box.sh b/tools/class-v5/kits-v6-on-box.sh new file mode 100755 index 000000000..49d00e663 --- /dev/null +++ b/tools/class-v5/kits-v6-on-box.sh @@ -0,0 +1,95 @@ +#!/usr/bin/env bash +# The class v5 kit build as it runs ON igneum-build-1 (called by tools/class-v5/kits-remote.sh through the build-server +# library's remote runner, from the worktree's mirror checkout, so this file travels with the commit). A script file by +# path, never an inline string: main's rule of 7 October 2026, 21:33 BST (no rm, find -delete or truncation inside a +# `bash -c` string; tools/ci/inline-rm-check.sh). What it does, in order: the pack loader test with the class v5 cases, +# the Linux and Windows builds of the two one-click workers, the CPU emulation's --check on the class v5 pack, then the +# kit zip at /srv/artefacts/packs/packs-ca3-v5-.zip with SHA256SUMS. Logs land in /srv/builds/_log/v5-class/kits-. +# bash tools/class-v5/kits-on-box.sh (cwd = the worktree root on the box) +set -u +STAMP="${1:?stamp}"; SKIP_EMU="${2:-0}" +ZIP="/srv/artefacts/packs/packs-class-v6-$STAMP.zip" +LOGDIR="/srv/builds/_log/v5-class/kits-$STAMP" +T=$(mktemp -d /tmp/v5-kits.XXXXXX); S=$T/stage; mkdir -p "$S/bin/linux" "$S/bin/windows" "$S/src" "$S/packs" "$S/tools" "$LOGDIR" +rc=0 +step() { echo "STEP $1 $(date -u +%H:%M:%SZ)"; } +fail() { echo "FAIL $1"; rc=1; } +finish() { cp "$T"/*.log "$LOGDIR"/ 2>/dev/null; echo "LOGS $LOGDIR"; rm -rf "$T"; } +# class v6 (8 October 2026, the coordinator's order): the all-together pack and its known-failed partner come from the hash +# lane's tgz files on build-1 (V6_ALL and V6_PARTNER, default hl-v6-all and hl-v6-foldrw), extracted beside the stage; +# the emulation check runs pack A = the all pack against pack B = the partner, and the two ids must differ +V6_ALL="${V6_ALL:-hl-v6-all}"; V6_PARTNER="${V6_PARTNER:-hl-v6-foldrw}" +PK=$T/v6packs; mkdir -p "$PK" +for p in "$V6_ALL" "$V6_PARTNER"; do tar -xzf "/srv/artefacts/packs/$p.tgz" -C "$PK" 2>/dev/null || { echo "FAIL no pack tgz /srv/artefacts/packs/$p.tgz"; exit 1; }; done +rm -rf "$PK"/._* "$PK"/*/._* 2>/dev/null +V5="$PK/$V6_ALL"; V6P="$PK/$V6_PARTNER" +echo "PACKS $V6_ALL id $(grep -oE 'IGNEUM_PROGRAM_ID 0x[0-9a-f]+' "$V5/program.h" | awk '{print $2}') | $V6_PARTNER id $(grep -oE 'IGNEUM_PROGRAM_ID 0x[0-9a-f]+' "$V6P/program.h" | awk '{print $2}')" +[ "$(grep -oE 'IGNEUM_PROGRAM_ID 0x[0-9a-f]+' "$V5/program.h")" != "$(grep -oE 'IGNEUM_PROGRAM_ID 0x[0-9a-f]+' "$V6P/program.h")" ] || { echo "FAIL the all pack and its partner carry one id"; exit 1; } +step packfile-test +cc -std=c99 -Wall -Wextra -Wno-unused-function -O1 -o "$T/packfile-test" proto-cuda/nvrtc/emu/packfile-test.c && "$T/packfile-test" proto-cuda/packs/igneum-devnet-v4-epoch0 "$V5" > "$T/packfile-test.log" 2>&1 || fail "packfile-test ($(tail -1 "$T/packfile-test.log"))" +grep -E '^(FAIL| v5 pack)' "$T/packfile-test.log"; grep -c '^ok' "$T/packfile-test.log" | sed 's/^/packfile-test ok lines /' +step linux-opencl-worker +gcc -std=c99 -O2 -Wall -Wextra -Wno-stringop-truncation -Wno-format-truncation -DIGNEUM_CL_DYNAMIC -DCL_TARGET_OPENCL_VERSION=120 -I proto-cuda/packs/igneum-devnet-v4-epoch0 -DIGNEUM_KERNEL_PATH='"kernel_bound.cl"' -o "$S/bin/linux/igneum-worker-opencl" proto-opencl/host.c -ldl -lpthread 2> "$T/cl-linux.log" || { fail "linux opencl worker"; head -20 "$T/cl-linux.log"; } +step linux-cuda-worker +g++ -std=c++17 -O2 -Wall -Wextra -I proto-cuda/nvrtc -I /usr/local/cuda/include -o "$S/bin/linux/igneum-worker-cuda" proto-cuda/nvrtc/worker.cpp -ldl -lpthread 2> "$T/cuda-linux.log" || { fail "linux cuda worker"; head -20 "$T/cuda-linux.log"; } +step windows-cuda-worker +x86_64-w64-mingw32-g++ -std=c++17 -O2 -Wall -Wextra -static -I proto-cuda/nvrtc -I /usr/local/cuda/include -o "$S/bin/windows/igneum-worker-cuda.exe" proto-cuda/nvrtc/worker.cpp 2> "$T/cuda-win.log" && x86_64-w64-mingw32-strip "$S/bin/windows/igneum-worker-cuda.exe" || { fail "windows cuda worker"; head -20 "$T/cuda-win.log"; } +step windows-opencl-worker +# the Khronos CL headers alone (never -I /usr/include: that puts glibc's stdint.h ahead of mingw's) +mkdir -p "$T/inc" && cp -r /usr/include/CL "$T/inc/" +x86_64-w64-mingw32-gcc -std=c99 -O2 -Wall -Wextra -Wno-stringop-truncation -Wno-format-truncation -static -DIGNEUM_CL_DYNAMIC -DCL_TARGET_OPENCL_VERSION=120 -I "$T/inc" -I proto-cuda/packs/igneum-devnet-v4-epoch0 -DIGNEUM_KERNEL_PATH='"kernel_bound.cl"' -o "$S/bin/windows/igneum-worker-opencl.exe" proto-opencl/host.c 2> "$T/cl-win.log" && x86_64-w64-mingw32-strip "$S/bin/windows/igneum-worker-opencl.exe" || { fail "windows opencl worker"; head -20 "$T/cl-win.log"; } +if [ "$SKIP_EMU" = 0 ]; then + step emu-check-v5 + # the CPU emulation (proto-cuda/nvrtc/emu/test.sh's build) with pack A = the class v5 pack and pack B = the v4 control + E=$T/emu; mkdir -p "$E" + emu_kernel() { { echo '#include '; echo '#include '; echo "namespace $2 {"; sed -E 's/([A-Za-z_0-9]+)<<<([^,]+), ([^>]+)>>>\(/emu_launch(\1, \2, \3, /' "$1/$3.cu"; echo "}"; } > "$E/$3_$2.cpp"; g++ -std=c++17 -O2 -w -I proto-cuda/emu -I "$1" -c "$E/$3_$2.cpp" -o "$E/$3_$2.o"; } + emu_kernel "$V5" emu_pack_a kernel && emu_kernel "$V5" emu_pack_a kernel_bound && emu_kernel "$V6P" emu_pack_b kernel && emu_kernel "$V6P" emu_pack_b kernel_bound \ + && g++ -std=c++17 -O2 -Wall -Wextra -DIGNEUM_EMU -I proto-cuda/nvrtc -I /usr/local/cuda/include -c proto-cuda/nvrtc/worker.cpp -o "$E/worker.o" \ + && g++ -std=c++17 -O2 -Wall -Wextra -DIGNEUM_EMU -DIGNEUM_EMU_TWO_PACKS -I proto-cuda/nvrtc -I proto-cuda/emu -I /usr/local/cuda/include -c proto-cuda/nvrtc/emu/emu_backend.cpp -o "$E/emu_backend.o" \ + && g++ -std=c++17 -O2 -w -I proto-cuda/emu -c proto-cuda/emu/shim.cpp -o "$E/shim.o" \ + && g++ -o "$E/igneum-worker-cuda-emu" "$E"/*.o -pthread 2> "$T/emu-build.log" || { fail "emu build"; head -30 "$T/emu-build.log"; } + if [ -x "$E/igneum-worker-cuda-emu" ]; then + ( IGNEUM_EMU_PACK="$V5" IGNEUM_EMU_PACK2="$V6P" timeout 1500 nice -n 10 "$E/igneum-worker-cuda-emu" --check --pack "$V5" > "$T/emu-check.log" 2>&1 ) || fail "emu --check on the class v5 pack (rc $?)" + grep -E '^check PASS|self-test|FAIL|error' "$T/emu-check.log" | cut -c1-400 + fi +fi +if [ "$rc" != 0 ]; then echo "KIT not written: a step failed (rc $rc)"; finish; exit 1; fi +step stage +for p in "$V6_ALL" "$V6_PARTNER"; do mkdir -p "$S/packs/$p"; cp "$PK/$p"/* "$S/packs/$p/"; done +cp proto-cuda/nvrtc/worker.cpp proto-cuda/nvrtc/packfile.h proto-cuda/nvrtc/cuda_api.h proto-opencl/host.c proto-opencl/cl_dynamic.h proto-newpow/class-v5/bench.cu proto-newpow/class-v5/run.sh proto-metal/packbench.swift "$S/src/" +cp tools/class-v5/fleet-cuda-v5-bench.sh tools/class-v5/pc1-amd-v5-bench.ps1 "$S/tools/" +cat > "$S/README.txt" <<'R' +packs-class-v6: the class v6 kit (Igneum, 8 October 2026; docs/design/class-v5-stored-state.md section 0, the class v6 row): the all-together pack and its known-failed partner +packs/v5-dn3-epoch0 the first class v5 pack: Devnet 3 epoch 0, program id e5a4ac5978462156, 11 state leaves (leaves.bin, 704 B) under + state root 7e37a9fb19b154d32daf5bf30a50d339a75029fbc9eec9ea20e95439dba5a311, cache FNV-1a 64 7334fa46e5d972eb + expected fingerprint of the 2^24 outputs at base nonce 0: 82b19cbde8557ea5 (Metal, M5 Max, 18:07:09Z) on every platform +packs/v5-genesis the string-seed class v5 pack over the devnet's 93 leaves; packs/v4-genesis the class v4 control (sub-version 3) +bin/linux igneum-worker-cuda (NVRTC, libcuda + libnvrtc.so.12 at run time), igneum-worker-opencl (libOpenCL.so.1 at run time) +bin/windows igneum-worker-cuda.exe (nvcuda.dll + nvrtc64 at run time), igneum-worker-opencl.exe (OpenCL.dll at run time) +Every worker reads a class v5 pack's leaves.bin, checks it against the pack's IGNEUM_STATE_LEAVES_FNV64, uploads it for igneum_build and +frees it after the build; a pack without its leaves builds nothing. Self-test: cache head, last line and FNV; dataset head, last word and +64 samples; 96 vector lanes. Bench: igneum-worker-cuda --bench --pack packs/v5-dn3-epoch0 --batch-log2 24 (fleet-cuda-v5-bench.sh); +igneum-worker-opencl --bench-pack --pack packs/v5-dn3-epoch0 --batch-log2 24 --device (pc1-amd-v5-bench.ps1); src/bench.cu with nvcc. +Intel: not measured tonight (7 October 2026); no Arc B580 sits on PC 1 or PC 2 and the only Arc path needs a driver click, which no PC job +may raise; the card's holder and a click-free driver path are owed. The OpenCL worker takes the Intel device by index the same way. +R +( cd "$S" && find . -type f ! -name SHA256SUMS | sort | xargs sha256sum > SHA256SUMS ) +mkdir -p /srv/artefacts/packs +python3 - "$S" "$ZIP" <<'PY' +import os, sys, zipfile +stage, out = sys.argv[1], sys.argv[2] +with zipfile.ZipFile(out, 'w', zipfile.ZIP_DEFLATED) as z: + for dp, dn, fn in os.walk(stage): + dn.sort() + for f in sorted(fn): + p = os.path.join(dp, f); rel = os.path.relpath(p, stage) + zi = zipfile.ZipInfo(rel, date_time=(2026, 10, 7, 0, 0, 0)); zi.compress_type = zipfile.ZIP_DEFLATED + zi.external_attr = (0o755 if rel.startswith('bin/') or rel.endswith('.sh') else 0o644) << 16 + with open(p, 'rb') as fh: z.writestr(zi, fh.read()) +PY +sha256sum "$ZIP" | cut -c1-64 > "$ZIP.sha256" +echo "KIT $ZIP bytes $(stat -c %s "$ZIP") files $(python3 -c "import zipfile,sys; print(len(zipfile.ZipFile(sys.argv[1]).namelist()))" "$ZIP")" +echo "KIT sha256 $(cat "$ZIP.sha256")" +for b in "$S"/bin/linux/* "$S"/bin/windows/*; do echo "BIN $(basename "$(dirname "$b")")/$(basename "$b") $(stat -c %s "$b") bytes sha256 $(sha256sum "$b" | cut -c1-64)"; done +finish +exit 0 From f62ce7e4c97da5a42bb9287c74a7c67429536fc0 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 16:07:38 +0000 Subject: [PATCH 012/227] class v6 kit: the PC job scripts (the AMD and the Arc hosts on the partner hl-v6-foldrw, expected 5a6ad122a71a888f; the all pack's OpenCL refusal line as the record) Co-Authored-By: Claude Fable 5.1 --- tools/class-v5/arc-v6-bench.ps1 | 92 +++++++++++++++++++++++++++++++++ tools/class-v5/pc1-v6-bench.ps1 | 85 ++++++++++++++++++++++++++++++ 2 files changed, 177 insertions(+) create mode 100644 tools/class-v5/arc-v6-bench.ps1 create mode 100644 tools/class-v5/pc1-v6-bench.ps1 diff --git a/tools/class-v5/arc-v6-bench.ps1 b/tools/class-v5/arc-v6-bench.ps1 new file mode 100644 index 000000000..b48feeeb4 --- /dev/null +++ b/tools/class-v5/arc-v6-bench.ps1 @@ -0,0 +1,92 @@ +# Class v6 kit (8 October 2026, the coordinator's order): the arc job of the v5 script with the class v6 packs: hl-v6-foldrw (the +# known-failed partner; expected fingerprint 5a6ad122a71a888f, the Mac's Metal and Apple OpenCL reading) and hl-v6-all (the +# all-together pack, id 9d40978601a7df2a, whose OpenCL text is a refusal stub tonight: the host's refusal line is the record, +# not a fingerprint). Kit fetch job fetch-class-v6-kit-20261008 = packs-class-v6-20261008T160432Z.zip (sha256 2c56bd06...). +# Class v5 kit bench on the Intel Arc B580 (7 October 2026, 23:5x UK, main's word: the B580 is the eGPU of the second PC, +# so the Intel fingerprint runs there through the hash lane's job queue as a lock-free, non-elevated, quiet job, never beside +# an install or a build; the page names no PC): tools/class-v5/pc1-amd-v5-bench.ps1 with the device +# match on the Intel OpenCL platform (Arc / B580) instead of gfx1201; everything else identical (the v5-dn3-epoch0 pack, +# the v4-genesis control, RESULT lines, SUMMARY {json}). Expected fingerprint 5a6ad122a71a888f. +# Class v5 kit bench on PC 1's RX 9070 XT (7 October 2026, docs/design/class-v5-stored-state.md section 13, "the kit: +# OpenCL (AMD)"): the kit's igneum-worker-opencl.exe (THIS tree's proto-opencl/host.c with the class v5 leaf upload: +# igneum_build(ds, cache, leaves, nLeaves, nItems), the leaves of leaves.bin checked against the pack's FNV-1a 64 first) +# runs --bench-pack on the first class v5 pack, proto-cuda/packs-ca3-v5/v5-dn3-epoch0 (program id e5a4ac5978462156, 11 +# leaves under state root 7e37a9fb..., cache FNV 7334fa46e5d972eb), on the gfx1201 device. Expected: the self-test +# PASS line (cache head, last line and FNV; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes) and the +# fingerprint of the 2^24 outputs at base nonce 0 equal to the Metal reading, 5a6ad122a71a888f (the M5 Max, 7 October +# 2026, 18:07:09Z). The v4-genesis control pack runs after it so the run has a known class v4 row beside the v5 row. +# Beside the miners (a correctness and fingerprint gate; the rate row is labelled loaded when the card mines): no card is +# switched, nothing is posted to the installed app, nothing is built on the PC. Published by the Counter ASIC coordinator +# only (the PC 1 queue is its); the kit is fetch job $kitId. Every result line starts with RESULT; SUMMARY {json} ends it. +$ErrorActionPreference = 'Continue' +$jobName = 'arc-v6-bench' +$kitId = $env:IGNEUM_V5_KIT_ID; if (-not $kitId) { $kitId = 'fetch-class-v6-kit-20261008' } +$expected = '5a6ad122a71a888f' +$started = Get-Date +function Stamp { (Get-Date).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ') } +function Summary([string] $status, [hashtable] $extra) { + $o = [ordered]@{ job = $jobName; status = $status; duration_s = [int]((Get-Date) - $started).TotalSeconds; finished_at = (Stamp) } + foreach ($k in $extra.Keys) { $o[$k] = $extra[$k] } + 'SUMMARY ' + ($o | ConvertTo-Json -Compress -Depth 4) +} +"RESULT start $(Stamp) job=$jobName machine=$env:COMPUTERNAME app_version=$env:IGNEUM_APP_VERSION expected_fingerprint=$expected" +$jobs = Split-Path $env:IGNEUM_JOB_DIR +$kit = Join-Path $jobs $kitId +if (-not (Test-Path $kit)) { "RESULT error kit missing at $kit (the fetch job $kitId runs first; republish it after any app update)"; Summary 'failed' @{ error = 'kit missing' }; exit 2 } +$exe = Join-Path $kit 'bin\windows\igneum-worker-opencl.exe' +$packs = Join-Path $kit 'packs' +if (-not (Test-Path $exe)) { "RESULT error worker missing at $exe"; Summary 'failed' @{ error = 'worker missing' }; exit 2 } +"RESULT worker kit $exe sha256 $((Get-FileHash -Algorithm SHA256 $exe).Hash.ToLower()) bytes $((Get-Item $exe).Length)" +foreach ($pk in @('hl-v6-foldrw', 'hl-v6-all')) { + $d = Join-Path $packs $pk + if (-not (Test-Path (Join-Path $d 'kernel_bound.cl'))) { "RESULT error pack $pk missing at $d"; Summary 'failed' @{ error = "pack $pk missing" }; exit 2 } + "RESULT pack $pk kernel_bound.cl sha256 $((Get-FileHash -Algorithm SHA256 (Join-Path $d 'kernel_bound.cl')).Hash.ToLower()) program.h sha256 $((Get-FileHash -Algorithm SHA256 (Join-Path $d 'program.h')).Hash.ToLower())" +} +$leaves = Join-Path $packs 'v5-dn3-epoch0\leaves.bin' +if (-not (Test-Path $leaves)) { "RESULT error leaves.bin missing at $leaves (a class v5 pack without its leaves builds nothing)"; Summary 'failed' @{ error = 'leaves missing' }; exit 2 } +"RESULT leaves $leaves bytes $((Get-Item $leaves).Length) sha256 $((Get-FileHash -Algorithm SHA256 $leaves).Hash.ToLower())" +# the OpenCL device index of the 9070 XT (the installed worker's list when present: the app's own indices) +$inst = @("$env:LOCALAPPDATA\Programs\Igneum Miner", "$env:ProgramFiles\Igneum Miner") | Where-Object { Test-Path (Join-Path $_ 'igneum-app.exe') } | Select-Object -First 1 +$listExe = $exe +if ($inst -and (Test-Path (Join-Path $inst 'igneum-worker-opencl.exe'))) { $listExe = Join-Path $inst 'igneum-worker-opencl.exe' } +$list = @(& $listExe --list 2>&1 | ForEach-Object { "$_" }) +$list | ForEach-Object { "RESULT list $_" } +$dev = $null +foreach ($l in $list) { if ($l -match '^\s*\[(\d+)\].*(Intel|Arc|B580)' -and $l -notmatch 'dup') { $dev = [int]$Matches[1]; break } } +if ($null -eq $dev) { "RESULT error no Intel Arc device in --list (the B580 is off the bus or has no OpenCL runtime: the Intel v5 row stays OWED)"; Summary 'failed' @{ error = 'no intel arc' }; exit 2 } +"RESULT device $dev Intel Arc (list from $listExe)" +function Workers { @(Get-CimInstance Win32_Process -Filter "Name = 'igneum-worker-opencl.exe' OR Name = 'igneum-worker-cuda.exe'" -ErrorAction SilentlyContinue | ForEach-Object { "$($_.Name):$($_.ProcessId):[$($_.CommandLine -replace '\s+', ' ')]" }) } +$w = @(Workers) +$loaded = ($w | Where-Object { $_ -match "igneum-worker-opencl.*--device\s+$dev(\s|$)" }).Count -gt 0 +"RESULT workers_before $(Stamp) $($w -join ' ')" +$state = if ($loaded) { 'loaded' } else { 'quiet' } +"RESULT context card_state=$state (a fingerprint gate: the load changes the rate row, never the bytes)" +$rows = @{} +$fpOk = $false +foreach ($pk in @('hl-v6-foldrw', 'hl-v6-all')) { + $d = Join-Path $packs $pk + $t0 = Get-Date + "RESULT bench $pk start $(Stamp) cmd=igneum-worker-opencl.exe --bench-pack --pack $d --device $dev --batch-log2 24 --batches 5" + $out = @(& $exe --bench-pack --pack $d --device $dev --batch-log2 24 --batches 5 2>&1 | ForEach-Object { "$_" }) + $code = $LASTEXITCODE + $secs = [int]((Get-Date) - $t0).TotalSeconds + # the whole stdout, line by line (the 09:36 UK run kept one line per pack and lost the host's exchange, kernel, + # rotate-fold and build-log lines, which the diagnosis needed) + foreach ($l in $out) { "RESULT bench $pk out $l" } + $res = $out | Where-Object { $_ -match '^RESULT ' } | Select-Object -Last 1 + $fp = ''; $mhs = ''; $check = '' + if ($res -match 'fingerprint=([0-9a-f]{16})') { $fp = $Matches[1] } + if ($res -match 'mhs=([0-9.]+)') { $mhs = $Matches[1] } + if ($res -match 'check=(\w+)') { $check = $Matches[1] } + $rows[$pk] = [ordered]@{ exit = $code; seconds = $secs; fingerprint = $fp; mhs = $mhs; check = $check; card_state = $state } + if ($pk -eq 'hl-v6-foldrw') { + $fpOk = ($fp -eq $expected -and $check -eq 'PASS') + "RESULT partner fingerprint=$fp expected=$expected match=$fpOk check=$check mhs=$mhs card_state=$state exit=$code seconds=$secs $(Stamp)" + } else { + # the all pack: on an OpenCL device its text is the refusal stub tonight, so the record is the host's refusal line (no fingerprint, no FAIL of the job) + "RESULT all-pack fingerprint=$fp check=$check mhs=$mhs card_state=$state exit=$code seconds=$secs $(Stamp)" + } +} +"RESULT workers_after $(Stamp) $((@(Workers)) -join ' ')" +Summary $(if ($fpOk) { 'done' } else { 'failed' }) @{ expected = $expected; partner = $rows['hl-v6-foldrw']; all_pack = $rows['hl-v6-all']; device = $dev; kit = $kitId } +exit $(if ($fpOk) { 0 } else { 1 }) diff --git a/tools/class-v5/pc1-v6-bench.ps1 b/tools/class-v5/pc1-v6-bench.ps1 new file mode 100644 index 000000000..45d2282b5 --- /dev/null +++ b/tools/class-v5/pc1-v6-bench.ps1 @@ -0,0 +1,85 @@ +# Class v6 kit (8 October 2026, the coordinator's order): the amd job of the v5 script with the class v6 packs: hl-v6-foldrw (the +# known-failed partner; expected fingerprint 5a6ad122a71a888f, the Mac's Metal and Apple OpenCL reading) and hl-v6-all (the +# all-together pack, id 9d40978601a7df2a, whose OpenCL text is a refusal stub tonight: the host's refusal line is the record, +# not a fingerprint). Kit fetch job fetch-class-v6-kit-20261008 = packs-class-v6-20261008T160432Z.zip (sha256 2c56bd06...). +# Class v5 kit bench on PC 1's RX 9070 XT (7 October 2026, docs/design/class-v5-stored-state.md section 13, "the kit: +# OpenCL (AMD)"): the kit's igneum-worker-opencl.exe (THIS tree's proto-opencl/host.c with the class v5 leaf upload: +# igneum_build(ds, cache, leaves, nLeaves, nItems), the leaves of leaves.bin checked against the pack's FNV-1a 64 first) +# runs --bench-pack on the first class v5 pack, proto-cuda/packs-ca3-v5/v5-dn3-epoch0 (program id e5a4ac5978462156, 11 +# leaves under state root 7e37a9fb..., cache FNV 7334fa46e5d972eb), on the gfx1201 device. Expected: the self-test +# PASS line (cache head, last line and FNV; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes) and the +# fingerprint of the 2^24 outputs at base nonce 0 equal to the Metal reading, 5a6ad122a71a888f (the M5 Max, 7 October +# 2026, 18:07:09Z). The v4-genesis control pack runs after it so the run has a known class v4 row beside the v5 row. +# Beside the miners (a correctness and fingerprint gate; the rate row is labelled loaded when the card mines): no card is +# switched, nothing is posted to the installed app, nothing is built on the PC. Published by the Counter ASIC coordinator +# only (the PC 1 queue is its); the kit is fetch job $kitId. Every result line starts with RESULT; SUMMARY {json} ends it. +$ErrorActionPreference = 'Continue' +$jobName = 'pc1-v6-bench' +$kitId = $env:IGNEUM_V5_KIT_ID; if (-not $kitId) { $kitId = 'fetch-class-v6-kit-20261008' } +$expected = '5a6ad122a71a888f' +$started = Get-Date +function Stamp { (Get-Date).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ') } +function Summary([string] $status, [hashtable] $extra) { + $o = [ordered]@{ job = $jobName; status = $status; duration_s = [int]((Get-Date) - $started).TotalSeconds; finished_at = (Stamp) } + foreach ($k in $extra.Keys) { $o[$k] = $extra[$k] } + 'SUMMARY ' + ($o | ConvertTo-Json -Compress -Depth 4) +} +"RESULT start $(Stamp) job=$jobName machine=$env:COMPUTERNAME app_version=$env:IGNEUM_APP_VERSION expected_fingerprint=$expected" +$jobs = Split-Path $env:IGNEUM_JOB_DIR +$kit = Join-Path $jobs $kitId +if (-not (Test-Path $kit)) { "RESULT error kit missing at $kit (the fetch job $kitId runs first; republish it after any app update)"; Summary 'failed' @{ error = 'kit missing' }; exit 2 } +$exe = Join-Path $kit 'bin\windows\igneum-worker-opencl.exe' +$packs = Join-Path $kit 'packs' +if (-not (Test-Path $exe)) { "RESULT error worker missing at $exe"; Summary 'failed' @{ error = 'worker missing' }; exit 2 } +"RESULT worker kit $exe sha256 $((Get-FileHash -Algorithm SHA256 $exe).Hash.ToLower()) bytes $((Get-Item $exe).Length)" +foreach ($pk in @('hl-v6-foldrw', 'hl-v6-all')) { + $d = Join-Path $packs $pk + if (-not (Test-Path (Join-Path $d 'kernel_bound.cl'))) { "RESULT error pack $pk missing at $d"; Summary 'failed' @{ error = "pack $pk missing" }; exit 2 } + "RESULT pack $pk kernel_bound.cl sha256 $((Get-FileHash -Algorithm SHA256 (Join-Path $d 'kernel_bound.cl')).Hash.ToLower()) program.h sha256 $((Get-FileHash -Algorithm SHA256 (Join-Path $d 'program.h')).Hash.ToLower())" +} +$leaves = Join-Path $packs 'v5-dn3-epoch0\leaves.bin' +if (-not (Test-Path $leaves)) { "RESULT error leaves.bin missing at $leaves (a class v5 pack without its leaves builds nothing)"; Summary 'failed' @{ error = 'leaves missing' }; exit 2 } +"RESULT leaves $leaves bytes $((Get-Item $leaves).Length) sha256 $((Get-FileHash -Algorithm SHA256 $leaves).Hash.ToLower())" +# the OpenCL device index of the 9070 XT (the installed worker's list when present: the app's own indices) +$inst = @("$env:LOCALAPPDATA\Programs\Igneum Miner", "$env:ProgramFiles\Igneum Miner") | Where-Object { Test-Path (Join-Path $_ 'igneum-app.exe') } | Select-Object -First 1 +$listExe = $exe +if ($inst -and (Test-Path (Join-Path $inst 'igneum-worker-opencl.exe'))) { $listExe = Join-Path $inst 'igneum-worker-opencl.exe' } +$list = @(& $listExe --list 2>&1 | ForEach-Object { "$_" }) +$list | ForEach-Object { "RESULT list $_" } +$dev = $null +foreach ($l in $list) { if ($l -match '^\s*\[(\d+)\].*gfx1201' -and $l -notmatch 'dup') { $dev = [int]$Matches[1]; break } } +if ($null -eq $dev) { "RESULT error no gfx1201 device in --list (the eGPU is off the bus: the AMD v5 row stays OWED)"; Summary 'failed' @{ error = 'no gfx1201' }; exit 2 } +"RESULT device $dev gfx1201 (list from $listExe)" +function Workers { @(Get-CimInstance Win32_Process -Filter "Name = 'igneum-worker-opencl.exe' OR Name = 'igneum-worker-cuda.exe'" -ErrorAction SilentlyContinue | ForEach-Object { "$($_.Name):$($_.ProcessId):[$($_.CommandLine -replace '\s+', ' ')]" }) } +$w = @(Workers) +$loaded = ($w | Where-Object { $_ -match "igneum-worker-opencl.*--device\s+$dev(\s|$)" }).Count -gt 0 +"RESULT workers_before $(Stamp) $($w -join ' ')" +$state = if ($loaded) { 'loaded' } else { 'quiet' } +"RESULT context card_state=$state (a fingerprint gate: the load changes the rate row, never the bytes)" +$rows = @{} +$fpOk = $false +foreach ($pk in @('hl-v6-foldrw', 'hl-v6-all')) { + $d = Join-Path $packs $pk + $t0 = Get-Date + "RESULT bench $pk start $(Stamp) cmd=igneum-worker-opencl.exe --bench-pack --pack $d --device $dev --batch-log2 24 --batches 5" + $out = @(& $exe --bench-pack --pack $d --device $dev --batch-log2 24 --batches 5 2>&1 | ForEach-Object { "$_" }) + $code = $LASTEXITCODE + $secs = [int]((Get-Date) - $t0).TotalSeconds + foreach ($l in $out) { if ($l -match '^(pack |class v5|RESULT |FAIL|error|warm-up)') { "RESULT bench $pk out $l" } } + $res = $out | Where-Object { $_ -match '^RESULT ' } | Select-Object -Last 1 + $fp = ''; $mhs = ''; $check = '' + if ($res -match 'fingerprint=([0-9a-f]{16})') { $fp = $Matches[1] } + if ($res -match 'mhs=([0-9.]+)') { $mhs = $Matches[1] } + if ($res -match 'check=(\w+)') { $check = $Matches[1] } + $rows[$pk] = [ordered]@{ exit = $code; seconds = $secs; fingerprint = $fp; mhs = $mhs; check = $check; card_state = $state } + if ($pk -eq 'hl-v6-foldrw') { + $fpOk = ($fp -eq $expected -and $check -eq 'PASS') + "RESULT partner fingerprint=$fp expected=$expected match=$fpOk check=$check mhs=$mhs card_state=$state exit=$code seconds=$secs $(Stamp)" + } else { + # the all pack: on an OpenCL device its text is the refusal stub tonight, so the record is the host's refusal line (no fingerprint, no FAIL of the job) + "RESULT all-pack fingerprint=$fp check=$check mhs=$mhs card_state=$state exit=$code seconds=$secs $(Stamp)" + } +} +"RESULT workers_after $(Stamp) $((@(Workers)) -join ' ')" +Summary $(if ($fpOk) { 'done' } else { 'failed' }) @{ expected = $expected; partner = $rows['hl-v6-foldrw']; all_pack = $rows['hl-v6-all']; device = $dev; kit = $kitId } +exit $(if ($fpOk) { 0 } else { 1 }) From 20ed9276be81e4b14cab0b89906dd8f1c3e99470 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 16:10:08 +0000 Subject: [PATCH 013/227] class v5 design page: the class v6 kit row (the zip 2c56bd06 from the class-v6 merge, the reads so far per pack and platform, the all pack's Mac refusals by the stub, the window texts owed, the ds55 form not in the pack) Co-Authored-By: Claude Fable 5.1 --- docs/design/class-v5-stored-state.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/design/class-v5-stored-state.md b/docs/design/class-v5-stored-state.md index 4f7645f2b..9bae0ae77 100644 --- a/docs/design/class-v5-stored-state.md +++ b/docs/design/class-v5-stored-state.md @@ -53,6 +53,7 @@ Clock rule for this page: every time is UK time (UK time tonight, UTC+1). The bu | 14:1x | The seeded attempt-3 case closed EQUAL: kaspa-pow `program-id` (class-v5-node f912e614, consensus/pow/src/bin: the template prepare's own path on a given seed, era, day, genesis day and stream file; a stream-less v5 read refuses with the engine's line, exit 3) reads the pin's FAIL seed ec0a8cf9...8212 (era 234e082d...6062, day 1244071, genesis day 1243740, the run's epoch-9 stream) as attempt 3, id 1f1cf82877f46ee6, equal to igneum-pow at exactly 1c420786 (build-1, 14:07 UK); the class v4 control reads attempt 0, 17d03dc8ddfe865c. The harness now reads that seed on every run (`class-v5-harness/attempt-3-seed/{seed.json,state.igsd1}`, check `attempt_3_seed_reads_equal`: the engine path beside the run's CLI, attempt and id against the record's expectation; an unreadable side is a FAILED CHECK, never a skip); the node lane lifts the read into `igneum-miner program-id` on its next line | | 14:2x | The harness's attempt-3 check read live: on the rebuilt pair 6ccaf9e9 with the CLI at exactly 1c420786 (build-1, a 3-epoch no-flip case, 14:16 UK, `class-v5-harness/attempt3-check.{log,json}`): "ATTEMPT-3 SEED ec0a8cf9e1c6874f: cli attempt 3 id 1f1cf82877f46ee6 | engine attempt 3 id 1f1cf82877f46ee6 | expected attempt 3 id 1f1cf82877f46ee6 | EQUAL", `attempt_3_seed_reads_equal` true; the standalone path (`--a3-only`, seconds, no nodes) reads the same, and its known-failed flag (`--a3-known-failed`, the record's id with one digit flipped) reads DIFFER. A first short run died at 14:10 UK from this lane's own fault: the runner script was edited while that run's bash was reading it (the mid-run edit class build-remote's comment names); the second run is the record | | 14:4x | The Arc B580 reads EQUAL on the rebuilt kit 65b47211 (14:46 UK): 82b19cbde8557ea5, self-test PASS 96 of 96, the v4 control PASS; the rotate fold was the whole Intel fault. The kit is one fingerprint on six platforms. The 0.3.26 upgrade line (8f481459's line with the Intel kit in) goes to the shipper and the coordinator | +| 17:1x | CLASS V6 KIT (the coordinator's order of 16:45 UK; the worker-smoke rule): the kit zip built from the hash lane's class-v6 merge 3f25a830 (my kit tree class-v6-kits d731991a: the Metal hosts size the dataset by the ds55 words and items defines, the v6 kit script kits-v6-on-box.sh, the PC job scripts): /srv/artefacts/packs/packs-class-v6-20261008T160432Z.zip on build-1, sha256 2c56bd063f1a8f60599c5a546c3e38bdf7b00c65adaa6852a0755fe641f0ec3b, 847,590 bytes, 42 files (packs hl-v6-all id 9d40978601a7df2a, class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw, and its known-failed partner hl-v6-foldrw id 605d06cabc489f94; the four Linux and Windows workers). Reads so far: the all pack on the CPU verifier (the NVRTC worker's emulation on build-1: check PASS, cache FNV 448274a57f508cbc, 96 of 96 vector lanes on the window's CUDA text); the partner on Metal and Apple OpenCL 5a6ad122a71a888f (both agree; the fold family fold f6c34aa6e87bf211 and rw 964ce3ba78b92a32 agree on both hosts and on the emulation too, the known-failed pairs distinct); the all pack REFUSES on both Mac hosts by construction ("kernel functions missing" on Metal, CL_INVALID_KERNEL_NAME on OpenCL: the window's OpenCL and Metal texts are refusal stubs in the merge, owed by the hash lane by 22:00 UK; the 0.3.27 pin's six-read rule waits on them, the coordinator's order of 17:05 UK). Not in the all pack tonight: the ds55 5.5 GiB schedule (a state class refuses --dataset-words; the pack is 1 GiB at log2 28). CUDA (the fleet's one-shot RTX 4090, pod 6tw328v4faxeie, driver 570.211.01, 17:09 UK, USD 0.018, destroyed after): the all pack check PASS (cache FNV 448274a57f508cbc, 96 of 96 lanes), fingerprint 59e6708e46f1e87c (its first reading), 31.4 MH/s at 87 registers and 20 of 24 blocks per SM; the partner check PASS, fingerprint 5a6ad122a71a888f = the Mac's two reads, 62.6 MH/s at 27 registers; the two fingerprints distinct (the known-failed shape on CUDA); the worker's --check and --bench print no id line, so the ids are the packs' program.h, not the worker's. In flight: PC 1's 5090 (after 21:15) as the second CUDA line, the AMD 7600 and the Arc on the partner through the PC queues; the window texts by 22:00 for the all pack on the other four | ## 1. The claim, in one paragraph From 76cf0b684df7cc1b7b5ec9eb5c0be02f4353dc11 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 16:22:08 +0000 Subject: [PATCH 014/227] class v6 kit: the PC job scripts expect the CUDA reference 59e6708e46f1e87c on the all pack now that the window's OpenCL text exists (the second zip) Co-Authored-By: Claude Fable 5.1 --- tools/class-v5/arc-v6-bench.ps1 | 10 ++++++---- tools/class-v5/pc1-v6-bench.ps1 | 10 ++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/tools/class-v5/arc-v6-bench.ps1 b/tools/class-v5/arc-v6-bench.ps1 index b48feeeb4..d3acdb8d3 100644 --- a/tools/class-v5/arc-v6-bench.ps1 +++ b/tools/class-v5/arc-v6-bench.ps1 @@ -1,7 +1,8 @@ # Class v6 kit (8 October 2026, the coordinator's order): the arc job of the v5 script with the class v6 packs: hl-v6-foldrw (the # known-failed partner; expected fingerprint 5a6ad122a71a888f, the Mac's Metal and Apple OpenCL reading) and hl-v6-all (the -# all-together pack, id 9d40978601a7df2a, whose OpenCL text is a refusal stub tonight: the host's refusal line is the record, -# not a fingerprint). Kit fetch job fetch-class-v6-kit-20261008 = packs-class-v6-20261008T160432Z.zip (sha256 2c56bd06...). +# all-together pack, id 9d40978601a7df2a; with the second zip its OpenCL text is the window's real text and the expected +# fingerprint is the CUDA reference 59e6708e46f1e87c; the first zip's stub refused it, that refusal line being that run's record). +# Kit fetch job fetch-class-v6-kit-20261008 = the second zip (packs-class-v6-.zip named in the job's publish line). # Class v5 kit bench on the Intel Arc B580 (7 October 2026, 23:5x UK, main's word: the B580 is the eGPU of the second PC, # so the Intel fingerprint runs there through the hash lane's job queue as a lock-free, non-elevated, quiet job, never beside # an install or a build; the page names no PC): tools/class-v5/pc1-amd-v5-bench.ps1 with the device @@ -83,8 +84,9 @@ foreach ($pk in @('hl-v6-foldrw', 'hl-v6-all')) { $fpOk = ($fp -eq $expected -and $check -eq 'PASS') "RESULT partner fingerprint=$fp expected=$expected match=$fpOk check=$check mhs=$mhs card_state=$state exit=$code seconds=$secs $(Stamp)" } else { - # the all pack: on an OpenCL device its text is the refusal stub tonight, so the record is the host's refusal line (no fingerprint, no FAIL of the job) - "RESULT all-pack fingerprint=$fp check=$check mhs=$mhs card_state=$state exit=$code seconds=$secs $(Stamp)" + # the all pack: with the window's OpenCL text (the second zip) a fingerprint, expected the CUDA reference 59e6708e46f1e87c + $allOk = ($fp -eq '59e6708e46f1e87c' -and $check -eq 'PASS') + "RESULT all-pack fingerprint=$fp expected=59e6708e46f1e87c match=$allOk check=$check mhs=$mhs card_state=$state exit=$code seconds=$secs $(Stamp)" } } "RESULT workers_after $(Stamp) $((@(Workers)) -join ' ')" diff --git a/tools/class-v5/pc1-v6-bench.ps1 b/tools/class-v5/pc1-v6-bench.ps1 index 45d2282b5..524e7f9cf 100644 --- a/tools/class-v5/pc1-v6-bench.ps1 +++ b/tools/class-v5/pc1-v6-bench.ps1 @@ -1,7 +1,8 @@ # Class v6 kit (8 October 2026, the coordinator's order): the amd job of the v5 script with the class v6 packs: hl-v6-foldrw (the # known-failed partner; expected fingerprint 5a6ad122a71a888f, the Mac's Metal and Apple OpenCL reading) and hl-v6-all (the -# all-together pack, id 9d40978601a7df2a, whose OpenCL text is a refusal stub tonight: the host's refusal line is the record, -# not a fingerprint). Kit fetch job fetch-class-v6-kit-20261008 = packs-class-v6-20261008T160432Z.zip (sha256 2c56bd06...). +# all-together pack, id 9d40978601a7df2a; with the second zip its OpenCL text is the window's real text and the expected +# fingerprint is the CUDA reference 59e6708e46f1e87c; the first zip's stub refused it, that refusal line being that run's record). +# Kit fetch job fetch-class-v6-kit-20261008 = the second zip (packs-class-v6-.zip named in the job's publish line). # Class v5 kit bench on PC 1's RX 9070 XT (7 October 2026, docs/design/class-v5-stored-state.md section 13, "the kit: # OpenCL (AMD)"): the kit's igneum-worker-opencl.exe (THIS tree's proto-opencl/host.c with the class v5 leaf upload: # igneum_build(ds, cache, leaves, nLeaves, nItems), the leaves of leaves.bin checked against the pack's FNV-1a 64 first) @@ -76,8 +77,9 @@ foreach ($pk in @('hl-v6-foldrw', 'hl-v6-all')) { $fpOk = ($fp -eq $expected -and $check -eq 'PASS') "RESULT partner fingerprint=$fp expected=$expected match=$fpOk check=$check mhs=$mhs card_state=$state exit=$code seconds=$secs $(Stamp)" } else { - # the all pack: on an OpenCL device its text is the refusal stub tonight, so the record is the host's refusal line (no fingerprint, no FAIL of the job) - "RESULT all-pack fingerprint=$fp check=$check mhs=$mhs card_state=$state exit=$code seconds=$secs $(Stamp)" + # the all pack: with the window's OpenCL text (the second zip) a fingerprint, expected the CUDA reference 59e6708e46f1e87c + $allOk = ($fp -eq '59e6708e46f1e87c' -and $check -eq 'PASS') + "RESULT all-pack fingerprint=$fp expected=59e6708e46f1e87c match=$allOk check=$check mhs=$mhs card_state=$state exit=$code seconds=$secs $(Stamp)" } } "RESULT workers_after $(Stamp) $((@(Workers)) -join ' ')" From 05f04430beaddb9412cb93f6e8cd9ac8ea7ac6e8 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 16:24:13 +0000 Subject: [PATCH 015/227] class v5 design page: the class v6 all pack reads equal on Metal and Apple OpenCL with the window texts (four of six platforms at 59e6708e46f1e87c) Co-Authored-By: Claude Fable 5.1 --- docs/design/class-v5-stored-state.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/design/class-v5-stored-state.md b/docs/design/class-v5-stored-state.md index 9bae0ae77..5a7d6d318 100644 --- a/docs/design/class-v5-stored-state.md +++ b/docs/design/class-v5-stored-state.md @@ -53,7 +53,7 @@ Clock rule for this page: every time is UK time (UK time tonight, UTC+1). The bu | 14:1x | The seeded attempt-3 case closed EQUAL: kaspa-pow `program-id` (class-v5-node f912e614, consensus/pow/src/bin: the template prepare's own path on a given seed, era, day, genesis day and stream file; a stream-less v5 read refuses with the engine's line, exit 3) reads the pin's FAIL seed ec0a8cf9...8212 (era 234e082d...6062, day 1244071, genesis day 1243740, the run's epoch-9 stream) as attempt 3, id 1f1cf82877f46ee6, equal to igneum-pow at exactly 1c420786 (build-1, 14:07 UK); the class v4 control reads attempt 0, 17d03dc8ddfe865c. The harness now reads that seed on every run (`class-v5-harness/attempt-3-seed/{seed.json,state.igsd1}`, check `attempt_3_seed_reads_equal`: the engine path beside the run's CLI, attempt and id against the record's expectation; an unreadable side is a FAILED CHECK, never a skip); the node lane lifts the read into `igneum-miner program-id` on its next line | | 14:2x | The harness's attempt-3 check read live: on the rebuilt pair 6ccaf9e9 with the CLI at exactly 1c420786 (build-1, a 3-epoch no-flip case, 14:16 UK, `class-v5-harness/attempt3-check.{log,json}`): "ATTEMPT-3 SEED ec0a8cf9e1c6874f: cli attempt 3 id 1f1cf82877f46ee6 | engine attempt 3 id 1f1cf82877f46ee6 | expected attempt 3 id 1f1cf82877f46ee6 | EQUAL", `attempt_3_seed_reads_equal` true; the standalone path (`--a3-only`, seconds, no nodes) reads the same, and its known-failed flag (`--a3-known-failed`, the record's id with one digit flipped) reads DIFFER. A first short run died at 14:10 UK from this lane's own fault: the runner script was edited while that run's bash was reading it (the mid-run edit class build-remote's comment names); the second run is the record | | 14:4x | The Arc B580 reads EQUAL on the rebuilt kit 65b47211 (14:46 UK): 82b19cbde8557ea5, self-test PASS 96 of 96, the v4 control PASS; the rotate fold was the whole Intel fault. The kit is one fingerprint on six platforms. The 0.3.26 upgrade line (8f481459's line with the Intel kit in) goes to the shipper and the coordinator | -| 17:1x | CLASS V6 KIT (the coordinator's order of 16:45 UK; the worker-smoke rule): the kit zip built from the hash lane's class-v6 merge 3f25a830 (my kit tree class-v6-kits d731991a: the Metal hosts size the dataset by the ds55 words and items defines, the v6 kit script kits-v6-on-box.sh, the PC job scripts): /srv/artefacts/packs/packs-class-v6-20261008T160432Z.zip on build-1, sha256 2c56bd063f1a8f60599c5a546c3e38bdf7b00c65adaa6852a0755fe641f0ec3b, 847,590 bytes, 42 files (packs hl-v6-all id 9d40978601a7df2a, class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw, and its known-failed partner hl-v6-foldrw id 605d06cabc489f94; the four Linux and Windows workers). Reads so far: the all pack on the CPU verifier (the NVRTC worker's emulation on build-1: check PASS, cache FNV 448274a57f508cbc, 96 of 96 vector lanes on the window's CUDA text); the partner on Metal and Apple OpenCL 5a6ad122a71a888f (both agree; the fold family fold f6c34aa6e87bf211 and rw 964ce3ba78b92a32 agree on both hosts and on the emulation too, the known-failed pairs distinct); the all pack REFUSES on both Mac hosts by construction ("kernel functions missing" on Metal, CL_INVALID_KERNEL_NAME on OpenCL: the window's OpenCL and Metal texts are refusal stubs in the merge, owed by the hash lane by 22:00 UK; the 0.3.27 pin's six-read rule waits on them, the coordinator's order of 17:05 UK). Not in the all pack tonight: the ds55 5.5 GiB schedule (a state class refuses --dataset-words; the pack is 1 GiB at log2 28). CUDA (the fleet's one-shot RTX 4090, pod 6tw328v4faxeie, driver 570.211.01, 17:09 UK, USD 0.018, destroyed after): the all pack check PASS (cache FNV 448274a57f508cbc, 96 of 96 lanes), fingerprint 59e6708e46f1e87c (its first reading), 31.4 MH/s at 87 registers and 20 of 24 blocks per SM; the partner check PASS, fingerprint 5a6ad122a71a888f = the Mac's two reads, 62.6 MH/s at 27 registers; the two fingerprints distinct (the known-failed shape on CUDA); the worker's --check and --bench print no id line, so the ids are the packs' program.h, not the worker's. In flight: PC 1's 5090 (after 21:15) as the second CUDA line, the AMD 7600 and the Arc on the partner through the PC queues; the window texts by 22:00 for the all pack on the other four | +| 17:1x | CLASS V6 KIT (the coordinator's order of 16:45 UK; the worker-smoke rule): the kit zip built from the hash lane's class-v6 merge 3f25a830 (my kit tree class-v6-kits d731991a: the Metal hosts size the dataset by the ds55 words and items defines, the v6 kit script kits-v6-on-box.sh, the PC job scripts): /srv/artefacts/packs/packs-class-v6-20261008T160432Z.zip on build-1, sha256 2c56bd063f1a8f60599c5a546c3e38bdf7b00c65adaa6852a0755fe641f0ec3b, 847,590 bytes, 42 files (packs hl-v6-all id 9d40978601a7df2a, class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw, and its known-failed partner hl-v6-foldrw id 605d06cabc489f94; the four Linux and Windows workers). Reads so far: the all pack on the CPU verifier (the NVRTC worker's emulation on build-1: check PASS, cache FNV 448274a57f508cbc, 96 of 96 vector lanes on the window's CUDA text); the partner on Metal and Apple OpenCL 5a6ad122a71a888f (both agree; the fold family fold f6c34aa6e87bf211 and rw 964ce3ba78b92a32 agree on both hosts and on the emulation too, the known-failed pairs distinct); the all pack REFUSES on both Mac hosts by construction ("kernel functions missing" on Metal, CL_INVALID_KERNEL_NAME on OpenCL: the window's OpenCL and Metal texts are refusal stubs in the merge, owed by the hash lane by 22:00 UK; the 0.3.27 pin's six-read rule waits on them, the coordinator's order of 17:05 UK). Not in the all pack tonight: the ds55 5.5 GiB schedule (a state class refuses --dataset-words; the pack is 1 GiB at log2 28). CUDA (the fleet's one-shot RTX 4090, pod 6tw328v4faxeie, driver 570.211.01, 17:09 UK, USD 0.018, destroyed after): the all pack check PASS (cache FNV 448274a57f508cbc, 96 of 96 lanes), fingerprint 59e6708e46f1e87c (its first reading), 31.4 MH/s at 87 registers and 20 of 24 blocks per SM; the partner check PASS, fingerprint 5a6ad122a71a888f = the Mac's two reads, 62.6 MH/s at 27 registers; the two fingerprints distinct (the known-failed shape on CUDA); the worker's --check and --bench print no id line, so the ids are the packs' program.h, not the worker's. The window's OpenCL and Metal texts landed on class-v6 c245d50b (17:21 UK; hl-v6-all re-exported, sha256 22c64fa5..., the same id and CUDA text, kernel.cl 93,248 bytes and program.metal 81,201 bytes real; the stub copy kept as hl-v6-all-stub.tgz): the all pack reads 59e6708e46f1e87c on Metal (packbench, 12.6 MH/s GPU time) and on Apple OpenCL (the kit host, 8.9 MH/s) at 17:24 UK, equal to the CUDA reference, so FOUR platforms equal on the all pack (CPU, CUDA, Metal, Apple OpenCL) and three on the partner; the second zip (the window texts in) builds from class-v6-kits a9ea072d; the AMD 7600 and the RTX 5090 on PC 1 (stalled since 15:50 UK, the desk brings it back) and the Arc on PC 2 (about 18:30 UK) read both packs from it | ## 1. The claim, in one paragraph From 0e6dbe8cd0c16f9f20c67e7edf96631ec44b3abc Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 16:26:08 +0000 Subject: [PATCH 016/227] class v5 design page: the class v6 kit's second zip (098e64c3, the window texts in) on the row Co-Authored-By: Claude Fable 5.1 --- docs/design/class-v5-stored-state.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/design/class-v5-stored-state.md b/docs/design/class-v5-stored-state.md index 5a7d6d318..e25f840c4 100644 --- a/docs/design/class-v5-stored-state.md +++ b/docs/design/class-v5-stored-state.md @@ -53,7 +53,7 @@ Clock rule for this page: every time is UK time (UK time tonight, UTC+1). The bu | 14:1x | The seeded attempt-3 case closed EQUAL: kaspa-pow `program-id` (class-v5-node f912e614, consensus/pow/src/bin: the template prepare's own path on a given seed, era, day, genesis day and stream file; a stream-less v5 read refuses with the engine's line, exit 3) reads the pin's FAIL seed ec0a8cf9...8212 (era 234e082d...6062, day 1244071, genesis day 1243740, the run's epoch-9 stream) as attempt 3, id 1f1cf82877f46ee6, equal to igneum-pow at exactly 1c420786 (build-1, 14:07 UK); the class v4 control reads attempt 0, 17d03dc8ddfe865c. The harness now reads that seed on every run (`class-v5-harness/attempt-3-seed/{seed.json,state.igsd1}`, check `attempt_3_seed_reads_equal`: the engine path beside the run's CLI, attempt and id against the record's expectation; an unreadable side is a FAILED CHECK, never a skip); the node lane lifts the read into `igneum-miner program-id` on its next line | | 14:2x | The harness's attempt-3 check read live: on the rebuilt pair 6ccaf9e9 with the CLI at exactly 1c420786 (build-1, a 3-epoch no-flip case, 14:16 UK, `class-v5-harness/attempt3-check.{log,json}`): "ATTEMPT-3 SEED ec0a8cf9e1c6874f: cli attempt 3 id 1f1cf82877f46ee6 | engine attempt 3 id 1f1cf82877f46ee6 | expected attempt 3 id 1f1cf82877f46ee6 | EQUAL", `attempt_3_seed_reads_equal` true; the standalone path (`--a3-only`, seconds, no nodes) reads the same, and its known-failed flag (`--a3-known-failed`, the record's id with one digit flipped) reads DIFFER. A first short run died at 14:10 UK from this lane's own fault: the runner script was edited while that run's bash was reading it (the mid-run edit class build-remote's comment names); the second run is the record | | 14:4x | The Arc B580 reads EQUAL on the rebuilt kit 65b47211 (14:46 UK): 82b19cbde8557ea5, self-test PASS 96 of 96, the v4 control PASS; the rotate fold was the whole Intel fault. The kit is one fingerprint on six platforms. The 0.3.26 upgrade line (8f481459's line with the Intel kit in) goes to the shipper and the coordinator | -| 17:1x | CLASS V6 KIT (the coordinator's order of 16:45 UK; the worker-smoke rule): the kit zip built from the hash lane's class-v6 merge 3f25a830 (my kit tree class-v6-kits d731991a: the Metal hosts size the dataset by the ds55 words and items defines, the v6 kit script kits-v6-on-box.sh, the PC job scripts): /srv/artefacts/packs/packs-class-v6-20261008T160432Z.zip on build-1, sha256 2c56bd063f1a8f60599c5a546c3e38bdf7b00c65adaa6852a0755fe641f0ec3b, 847,590 bytes, 42 files (packs hl-v6-all id 9d40978601a7df2a, class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw, and its known-failed partner hl-v6-foldrw id 605d06cabc489f94; the four Linux and Windows workers). Reads so far: the all pack on the CPU verifier (the NVRTC worker's emulation on build-1: check PASS, cache FNV 448274a57f508cbc, 96 of 96 vector lanes on the window's CUDA text); the partner on Metal and Apple OpenCL 5a6ad122a71a888f (both agree; the fold family fold f6c34aa6e87bf211 and rw 964ce3ba78b92a32 agree on both hosts and on the emulation too, the known-failed pairs distinct); the all pack REFUSES on both Mac hosts by construction ("kernel functions missing" on Metal, CL_INVALID_KERNEL_NAME on OpenCL: the window's OpenCL and Metal texts are refusal stubs in the merge, owed by the hash lane by 22:00 UK; the 0.3.27 pin's six-read rule waits on them, the coordinator's order of 17:05 UK). Not in the all pack tonight: the ds55 5.5 GiB schedule (a state class refuses --dataset-words; the pack is 1 GiB at log2 28). CUDA (the fleet's one-shot RTX 4090, pod 6tw328v4faxeie, driver 570.211.01, 17:09 UK, USD 0.018, destroyed after): the all pack check PASS (cache FNV 448274a57f508cbc, 96 of 96 lanes), fingerprint 59e6708e46f1e87c (its first reading), 31.4 MH/s at 87 registers and 20 of 24 blocks per SM; the partner check PASS, fingerprint 5a6ad122a71a888f = the Mac's two reads, 62.6 MH/s at 27 registers; the two fingerprints distinct (the known-failed shape on CUDA); the worker's --check and --bench print no id line, so the ids are the packs' program.h, not the worker's. The window's OpenCL and Metal texts landed on class-v6 c245d50b (17:21 UK; hl-v6-all re-exported, sha256 22c64fa5..., the same id and CUDA text, kernel.cl 93,248 bytes and program.metal 81,201 bytes real; the stub copy kept as hl-v6-all-stub.tgz): the all pack reads 59e6708e46f1e87c on Metal (packbench, 12.6 MH/s GPU time) and on Apple OpenCL (the kit host, 8.9 MH/s) at 17:24 UK, equal to the CUDA reference, so FOUR platforms equal on the all pack (CPU, CUDA, Metal, Apple OpenCL) and three on the partner; the second zip (the window texts in) builds from class-v6-kits a9ea072d; the AMD 7600 and the RTX 5090 on PC 1 (stalled since 15:50 UK, the desk brings it back) and the Arc on PC 2 (about 18:30 UK) read both packs from it | +| 17:1x | CLASS V6 KIT (the coordinator's order of 16:45 UK; the worker-smoke rule): the kit zip built from the hash lane's class-v6 merge 3f25a830 (my kit tree class-v6-kits d731991a: the Metal hosts size the dataset by the ds55 words and items defines, the v6 kit script kits-v6-on-box.sh, the PC job scripts): /srv/artefacts/packs/packs-class-v6-20261008T160432Z.zip on build-1, sha256 2c56bd063f1a8f60599c5a546c3e38bdf7b00c65adaa6852a0755fe641f0ec3b, 847,590 bytes, 42 files (packs hl-v6-all id 9d40978601a7df2a, class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw, and its known-failed partner hl-v6-foldrw id 605d06cabc489f94; the four Linux and Windows workers). Reads so far: the all pack on the CPU verifier (the NVRTC worker's emulation on build-1: check PASS, cache FNV 448274a57f508cbc, 96 of 96 vector lanes on the window's CUDA text); the partner on Metal and Apple OpenCL 5a6ad122a71a888f (both agree; the fold family fold f6c34aa6e87bf211 and rw 964ce3ba78b92a32 agree on both hosts and on the emulation too, the known-failed pairs distinct); the all pack REFUSES on both Mac hosts by construction ("kernel functions missing" on Metal, CL_INVALID_KERNEL_NAME on OpenCL: the window's OpenCL and Metal texts are refusal stubs in the merge, owed by the hash lane by 22:00 UK; the 0.3.27 pin's six-read rule waits on them, the coordinator's order of 17:05 UK). Not in the all pack tonight: the ds55 5.5 GiB schedule (a state class refuses --dataset-words; the pack is 1 GiB at log2 28). CUDA (the fleet's one-shot RTX 4090, pod 6tw328v4faxeie, driver 570.211.01, 17:09 UK, USD 0.018, destroyed after): the all pack check PASS (cache FNV 448274a57f508cbc, 96 of 96 lanes), fingerprint 59e6708e46f1e87c (its first reading), 31.4 MH/s at 87 registers and 20 of 24 blocks per SM; the partner check PASS, fingerprint 5a6ad122a71a888f = the Mac's two reads, 62.6 MH/s at 27 registers; the two fingerprints distinct (the known-failed shape on CUDA); the worker's --check and --bench print no id line, so the ids are the packs' program.h, not the worker's. The window's OpenCL and Metal texts landed on class-v6 c245d50b (17:21 UK; hl-v6-all re-exported, sha256 22c64fa5..., the same id and CUDA text, kernel.cl 93,248 bytes and program.metal 81,201 bytes real; the stub copy kept as hl-v6-all-stub.tgz): the all pack reads 59e6708e46f1e87c on Metal (packbench, 12.6 MH/s GPU time) and on Apple OpenCL (the kit host, 8.9 MH/s) at 17:24 UK, equal to the CUDA reference, so FOUR platforms equal on the all pack (CPU, CUDA, Metal, Apple OpenCL) and three on the partner; the second zip (the window texts in, built from class-v6-kits a9ea072d at 17:24 UK): /srv/artefacts/packs/packs-class-v6-20261008T162324Z.zip, sha256 098e64c3e0dc1dc727c4ded34d16a31d1ae2802b76f9c09c06b2bea9720fa108, 891,160 bytes, 42 files (windows cuda.exe 218ca414..., windows opencl.exe 90aaa1f8...), the emulation check on the new all pack PASS; the AMD 7600 and the RTX 5090 on PC 1 (stalled since 15:50 UK, the desk brings it back) and the Arc on PC 2 (about 18:30 UK) read both packs from it, the all pack expected 59e6708e46f1e87c and the partner 5a6ad122a71a888f | ## 1. The claim, in one paragraph From 05feae882254124e71f8d30db00cbf93d59154e3 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 17:03:27 +0000 Subject: [PATCH 017/227] class v5 design page: the class v6 kit's 5090 reads (both packs equal; the window's cost per hash and per joule) Co-Authored-By: Claude Fable 5.1 --- docs/design/class-v5-stored-state.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/design/class-v5-stored-state.md b/docs/design/class-v5-stored-state.md index e25f840c4..c48f7a48e 100644 --- a/docs/design/class-v5-stored-state.md +++ b/docs/design/class-v5-stored-state.md @@ -53,7 +53,7 @@ Clock rule for this page: every time is UK time (UK time tonight, UTC+1). The bu | 14:1x | The seeded attempt-3 case closed EQUAL: kaspa-pow `program-id` (class-v5-node f912e614, consensus/pow/src/bin: the template prepare's own path on a given seed, era, day, genesis day and stream file; a stream-less v5 read refuses with the engine's line, exit 3) reads the pin's FAIL seed ec0a8cf9...8212 (era 234e082d...6062, day 1244071, genesis day 1243740, the run's epoch-9 stream) as attempt 3, id 1f1cf82877f46ee6, equal to igneum-pow at exactly 1c420786 (build-1, 14:07 UK); the class v4 control reads attempt 0, 17d03dc8ddfe865c. The harness now reads that seed on every run (`class-v5-harness/attempt-3-seed/{seed.json,state.igsd1}`, check `attempt_3_seed_reads_equal`: the engine path beside the run's CLI, attempt and id against the record's expectation; an unreadable side is a FAILED CHECK, never a skip); the node lane lifts the read into `igneum-miner program-id` on its next line | | 14:2x | The harness's attempt-3 check read live: on the rebuilt pair 6ccaf9e9 with the CLI at exactly 1c420786 (build-1, a 3-epoch no-flip case, 14:16 UK, `class-v5-harness/attempt3-check.{log,json}`): "ATTEMPT-3 SEED ec0a8cf9e1c6874f: cli attempt 3 id 1f1cf82877f46ee6 | engine attempt 3 id 1f1cf82877f46ee6 | expected attempt 3 id 1f1cf82877f46ee6 | EQUAL", `attempt_3_seed_reads_equal` true; the standalone path (`--a3-only`, seconds, no nodes) reads the same, and its known-failed flag (`--a3-known-failed`, the record's id with one digit flipped) reads DIFFER. A first short run died at 14:10 UK from this lane's own fault: the runner script was edited while that run's bash was reading it (the mid-run edit class build-remote's comment names); the second run is the record | | 14:4x | The Arc B580 reads EQUAL on the rebuilt kit 65b47211 (14:46 UK): 82b19cbde8557ea5, self-test PASS 96 of 96, the v4 control PASS; the rotate fold was the whole Intel fault. The kit is one fingerprint on six platforms. The 0.3.26 upgrade line (8f481459's line with the Intel kit in) goes to the shipper and the coordinator | -| 17:1x | CLASS V6 KIT (the coordinator's order of 16:45 UK; the worker-smoke rule): the kit zip built from the hash lane's class-v6 merge 3f25a830 (my kit tree class-v6-kits d731991a: the Metal hosts size the dataset by the ds55 words and items defines, the v6 kit script kits-v6-on-box.sh, the PC job scripts): /srv/artefacts/packs/packs-class-v6-20261008T160432Z.zip on build-1, sha256 2c56bd063f1a8f60599c5a546c3e38bdf7b00c65adaa6852a0755fe641f0ec3b, 847,590 bytes, 42 files (packs hl-v6-all id 9d40978601a7df2a, class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw, and its known-failed partner hl-v6-foldrw id 605d06cabc489f94; the four Linux and Windows workers). Reads so far: the all pack on the CPU verifier (the NVRTC worker's emulation on build-1: check PASS, cache FNV 448274a57f508cbc, 96 of 96 vector lanes on the window's CUDA text); the partner on Metal and Apple OpenCL 5a6ad122a71a888f (both agree; the fold family fold f6c34aa6e87bf211 and rw 964ce3ba78b92a32 agree on both hosts and on the emulation too, the known-failed pairs distinct); the all pack REFUSES on both Mac hosts by construction ("kernel functions missing" on Metal, CL_INVALID_KERNEL_NAME on OpenCL: the window's OpenCL and Metal texts are refusal stubs in the merge, owed by the hash lane by 22:00 UK; the 0.3.27 pin's six-read rule waits on them, the coordinator's order of 17:05 UK). Not in the all pack tonight: the ds55 5.5 GiB schedule (a state class refuses --dataset-words; the pack is 1 GiB at log2 28). CUDA (the fleet's one-shot RTX 4090, pod 6tw328v4faxeie, driver 570.211.01, 17:09 UK, USD 0.018, destroyed after): the all pack check PASS (cache FNV 448274a57f508cbc, 96 of 96 lanes), fingerprint 59e6708e46f1e87c (its first reading), 31.4 MH/s at 87 registers and 20 of 24 blocks per SM; the partner check PASS, fingerprint 5a6ad122a71a888f = the Mac's two reads, 62.6 MH/s at 27 registers; the two fingerprints distinct (the known-failed shape on CUDA); the worker's --check and --bench print no id line, so the ids are the packs' program.h, not the worker's. The window's OpenCL and Metal texts landed on class-v6 c245d50b (17:21 UK; hl-v6-all re-exported, sha256 22c64fa5..., the same id and CUDA text, kernel.cl 93,248 bytes and program.metal 81,201 bytes real; the stub copy kept as hl-v6-all-stub.tgz): the all pack reads 59e6708e46f1e87c on Metal (packbench, 12.6 MH/s GPU time) and on Apple OpenCL (the kit host, 8.9 MH/s) at 17:24 UK, equal to the CUDA reference, so FOUR platforms equal on the all pack (CPU, CUDA, Metal, Apple OpenCL) and three on the partner; the second zip (the window texts in, built from class-v6-kits a9ea072d at 17:24 UK): /srv/artefacts/packs/packs-class-v6-20261008T162324Z.zip, sha256 098e64c3e0dc1dc727c4ded34d16a31d1ae2802b76f9c09c06b2bea9720fa108, 891,160 bytes, 42 files (windows cuda.exe 218ca414..., windows opencl.exe 90aaa1f8...), the emulation check on the new all pack PASS; the AMD 7600 and the RTX 5090 on PC 1 (stalled since 15:50 UK, the desk brings it back) and the Arc on PC 2 (about 18:30 UK) read both packs from it, the all pack expected 59e6708e46f1e87c and the partner 5a6ad122a71a888f | +| 17:1x | CLASS V6 KIT (the coordinator's order of 16:45 UK; the worker-smoke rule): the kit zip built from the hash lane's class-v6 merge 3f25a830 (my kit tree class-v6-kits d731991a: the Metal hosts size the dataset by the ds55 words and items defines, the v6 kit script kits-v6-on-box.sh, the PC job scripts): /srv/artefacts/packs/packs-class-v6-20261008T160432Z.zip on build-1, sha256 2c56bd063f1a8f60599c5a546c3e38bdf7b00c65adaa6852a0755fe641f0ec3b, 847,590 bytes, 42 files (packs hl-v6-all id 9d40978601a7df2a, class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw, and its known-failed partner hl-v6-foldrw id 605d06cabc489f94; the four Linux and Windows workers). Reads so far: the all pack on the CPU verifier (the NVRTC worker's emulation on build-1: check PASS, cache FNV 448274a57f508cbc, 96 of 96 vector lanes on the window's CUDA text); the partner on Metal and Apple OpenCL 5a6ad122a71a888f (both agree; the fold family fold f6c34aa6e87bf211 and rw 964ce3ba78b92a32 agree on both hosts and on the emulation too, the known-failed pairs distinct); the all pack REFUSES on both Mac hosts by construction ("kernel functions missing" on Metal, CL_INVALID_KERNEL_NAME on OpenCL: the window's OpenCL and Metal texts are refusal stubs in the merge, owed by the hash lane by 22:00 UK; the 0.3.27 pin's six-read rule waits on them, the coordinator's order of 17:05 UK). Not in the all pack tonight: the ds55 5.5 GiB schedule (a state class refuses --dataset-words; the pack is 1 GiB at log2 28). CUDA (the fleet's one-shot RTX 4090, pod 6tw328v4faxeie, driver 570.211.01, 17:09 UK, USD 0.018, destroyed after): the all pack check PASS (cache FNV 448274a57f508cbc, 96 of 96 lanes), fingerprint 59e6708e46f1e87c (its first reading), 31.4 MH/s at 87 registers and 20 of 24 blocks per SM; the partner check PASS, fingerprint 5a6ad122a71a888f = the Mac's two reads, 62.6 MH/s at 27 registers; the two fingerprints distinct (the known-failed shape on CUDA); the worker's --check and --bench print no id line, so the ids are the packs' program.h, not the worker's. The window's OpenCL and Metal texts landed on class-v6 c245d50b (17:21 UK; hl-v6-all re-exported, sha256 22c64fa5..., the same id and CUDA text, kernel.cl 93,248 bytes and program.metal 81,201 bytes real; the stub copy kept as hl-v6-all-stub.tgz): the all pack reads 59e6708e46f1e87c on Metal (packbench, 12.6 MH/s GPU time) and on Apple OpenCL (the kit host, 8.9 MH/s) at 17:24 UK, equal to the CUDA reference, so FOUR platforms equal on the all pack (CPU, CUDA, Metal, Apple OpenCL) and three on the partner; the second zip (the window texts in, built from class-v6-kits a9ea072d at 17:24 UK): /srv/artefacts/packs/packs-class-v6-20261008T162324Z.zip, sha256 098e64c3e0dc1dc727c4ded34d16a31d1ae2802b76f9c09c06b2bea9720fa108, 891,160 bytes, 42 files (windows cuda.exe 218ca414..., windows opencl.exe 90aaa1f8...), the emulation check on the new all pack PASS; PC 1's RTX 5090 read both packs from it (the hash lane's job run-ca3-pc1-v6all-5090-20261008, 17:59 to 18:00 UK, the kit's CUDA worker 218ca414..., unlocked, 250 x 2^24): the partner 5a6ad122a71a888f PASS at 140.6 MH/s, 440 W (0.320 MH/W); the all pack 59e6708e46f1e87c PASS at 70.5 MH/s, 409 W (0.172 MH/W): the second CUDA line equal on both, so the all pack stands at FIVE readings equal (CPU, the 4090, the 5090, Metal, Apple OpenCL) and the partner at four. Per tier: the window halves the hash rate at 7 percent less card power (a reg64 hash is twice the work: 128 statements and 32 loads per iteration), 5.80 µJ per hash against the partner's 3.13, level per unit of work; a miner on the window class earns the same per joule of hashing as on the partner. Remaining: the AMD RX 7600 on PC 1 (next in its queue; its own class v5 read on the kit's OpenCL worker 82b19cbde8557ea5 at 15.8 MH/s, quiet) and the Arc on PC 2 (about 18:30 UK), the all pack expected 59e6708e46f1e87c and the partner 5a6ad122a71a888f | ## 1. The claim, in one paragraph From 026d6e023b814a4800b4eec3c97ad241eda1405e Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 17:06:34 +0000 Subject: [PATCH 018/227] class-v6: D2 experiment "layer 8 off" (the coordinator's order, 8 October 2026, 18:12 UK; a research class behind "+nowin"): the era layout's window-layer draw removed, every load site reads the whole dataset (win = 0, off = 0); the stream still consumes the two window draws per instruction so the base program's instructions and the shadow are the class's without the flag; the id carries nowin/; "+nowin" parses in any order with the other suffixes and names back inside +fold/+rw. Test: tests/v6fold.rs nowin_removes_the_window_layer_and_nothing_else. Co-Authored-By: Claude Fable 5.1 --- igneum-pow/src/generator.rs | 29 ++++++++++++++++++++++++++--- igneum-pow/tests/v6fold.rs | 30 ++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 3 deletions(-) diff --git a/igneum-pow/src/generator.rs b/igneum-pow/src/generator.rs index 61fe4874b..5a4deab00 100644 --- a/igneum-pow/src/generator.rs +++ b/igneum-pow/src/generator.rs @@ -255,6 +255,11 @@ pub struct LoadClass { /// optimiser split [`NONLOAD_WEIGHTS_RW`] (sum 83, `or` never drawn); 2 the census lane's neighbouring table /// [`NONLOAD_WEIGHTS_RW2`] (sum 75). The draw rolls against the table's own sum ([`LoadClass::nonload_weights`]). pub rw: u8, + /// D2 experiment "layer 8 off" (the coordinator's order, 8 October 2026, 18:12 UK; a research class behind `+nowin`): + /// the era layout's window-layer draw is removed, every load site reads the whole dataset (`win = 0`, `off = 0`). + /// The program stream still consumes the two window draws per instruction, so the base program's instructions are + /// the class's without the flag; only the windows move. `false` for every other class. + pub nowin: bool, /// The 64-register window (the hash lane's reg64 measurement, 8 October 2026, a research class behind `+reg64` /// and `--reg64`): each lane holds 64 live 32-bit registers. r0..r7 are seeded as today, r8..r63 derived from them /// (`r[k] = r[k & 7] * 0x9E3779B9 + k`); the 64 drawn instructions run twice per iteration in an interleaved @@ -455,13 +460,13 @@ impl LoadClass { impl LoadClass { /// Generator version 2 as adopted on 4 October 2026: 16 loads of one word. The lottery hash. pub const V2: LoadClass = - LoadClass { mix: [100, 0, 0], load_slots: LOAD_SLOTS as u8, scratch: None, scratch_kb: 0, mixer_mult: 1, growth: false, era: None, hot: None, derive_len: 0, shadow: None, state: false, wide8: false, fold: false, rw: 0, reg64: false, reg64_chain: false }; + LoadClass { mix: [100, 0, 0], load_slots: LOAD_SLOTS as u8, scratch: None, scratch_kb: 0, mixer_mult: 1, growth: false, era: None, hot: None, derive_len: 0, shadow: None, state: false, wide8: false, fold: false, rw: 0, nowin: false, reg64: false, reg64_chain: false }; /// The construction decided for program class v3 on 5 October 2026 (Counter ASIC 2.0, `docs/plans/mixer-x4.md`): /// version 2 loads (16 slots of one word, no scratch, no width roll, so the program stream is version 2's), the /// mixer applied 4 times per round, and the cache growth rule. Name "mx4". pub const MX4: LoadClass = - LoadClass { mix: [100, 0, 0], load_slots: LOAD_SLOTS as u8, scratch: None, scratch_kb: 0, mixer_mult: 4, growth: true, era: None, hot: None, derive_len: 0, shadow: None, state: false, wide8: false, fold: false, rw: 0, reg64: false, reg64_chain: false }; + LoadClass { mix: [100, 0, 0], load_slots: LOAD_SLOTS as u8, scratch: None, scratch_kb: 0, mixer_mult: 4, growth: true, era: None, hot: None, derive_len: 0, shadow: None, state: false, wide8: false, fold: false, rw: 0, nowin: false, reg64: false, reg64_chain: false }; /// The era class over `base` (`docs/plans/era-layout.md`): the parameters drawn by [`era_draw`]; when `allowed` /// has more than one width the drawn width becomes the class mix (every load that width), otherwise the base @@ -634,6 +639,11 @@ impl LoadClass { LoadClass { rw, ..self } } + /// D2 "layer 8 off": the class with the window-layer draw removed (every load site reads the whole dataset). + pub fn with_nowin(self) -> LoadClass { + LoadClass { nowin: true, ..self } + } + /// The non-load op table this class draws from, in draw order, and its sum (the roll's range). The plain table /// for every class without the re-weight flag, so their streams are byte for byte what they were. pub fn nonload_weights(&self) -> (&'static [(Op, u64); 10], u64) { @@ -677,6 +687,10 @@ impl LoadClass { pub fn parse(s: &str) -> Option { // class v6 lane 1: "+fold" (the index fold) and "+rw" / "+rw2" (the re-weight table) over // any class, in any order, outermost of all + // D2 "layer 8 off": "+nowin" over any class, in any order with the other suffixes + if let Some(base) = s.strip_suffix("+nowin") { + return Some(LoadClass::parse(base)?.with_nowin()); + } if let Some(base) = s.strip_suffix("+fold") { return Some(LoadClass::parse(base)?.with_fold()); } @@ -829,6 +843,10 @@ impl LoadClass { if self.fold { return format!("{}+fold", LoadClass { fold: false, ..*self }.name()); } + if self.nowin { + // D2 "layer 8 off": "+nowin" sits inside "+fold" and "+rw" and outside "+reg64" and "+state" + return format!("{}+nowin", LoadClass { nowin: false, ..*self }.name()); + } if self.reg64 { // "+reg64" / "+reg64c": the 64-register window is a suffix on any class, outermost let base = LoadClass { reg64: false, reg64_chain: false, ..*self }.name(); @@ -1458,6 +1476,10 @@ pub fn program_id_class_recipe(generator: u32, seed: &[u32; 8], attempt: u32, cl // class v6 lane 1: the index fold moves every era load address r.lit(b"fold/"); } + if class.nowin { + // D2 "layer 8 off": the window layer is part of the construction + r.lit(b"nowin/"); + } if class.rw != 0 { // class v6 lane 1: the re-weight table moves the op draw r.lit(b"rw/"); @@ -1723,7 +1745,8 @@ pub fn candidate_from_words_class( let (win, off) = if class.era.is_some() { let k = rng.below(3) as u8; let o = (rng.next() as u32 & ((1u32 << k) - 1)) as u8; - if op == Op::Load { + // D2 "layer 8 off": the draws are consumed (the stream is the class's) and every site reads the whole dataset + if op == Op::Load && !class.nowin { (k, o) } else { (0, 0) diff --git a/igneum-pow/tests/v6fold.rs b/igneum-pow/tests/v6fold.rs index 956ae5b86..a97f81768 100644 --- a/igneum-pow/tests/v6fold.rs +++ b/igneum-pow/tests/v6fold.rs @@ -182,6 +182,36 @@ fn class_v6_all_flags_parse_name_and_id() { assert!(p.class.era.unwrap().fold); } +/// 1c. D2 "layer 8 off" (8 October 2026): "+nowin" parses in any order and names back inside "+fold"/"+rw"; the draw +/// keeps every instruction of the class without the flag and sets every load site's window to the whole dataset; +/// the id moves; the era and the stride do not. +#[test] +fn nowin_removes_the_window_layer_and_nothing_else() { + let c = LoadClass::parse("mx8+sh256x27+state+nowin+fold+rw").unwrap(); + assert!(c.nowin && c.fold && c.rw == 1 && c.state); + assert_eq!(c.name(), "mx8+sh256x27+state+nowin+fold+rw"); + assert_eq!(LoadClass::parse("mx8+sh256x27+state+fold+rw+nowin"), Some(c)); + assert_eq!(LoadClass::parse("mx8+sh256x27+state+reg64c+nowin").unwrap().name(), "mx8+sh256x27+state+reg64c+nowin"); + assert!(!V5_CLASS.nowin); + let era = f8_bytes("era", 4); + let seed = f8_bytes("program", 4); + let plain = candidate_class("p4-attack-f8", &seed, 0, LoadClass::era(V5_CLASS, &era, &V3_ALLOWED)); + let off = candidate_class("p4-attack-f8", &seed, 0, LoadClass::era(V5_CLASS.with_nowin(), &era, &V3_ALLOWED)); + assert_ne!(plain.program_id(), off.program_id(), "the id carries the flag"); + assert_eq!(plain.instrs.len(), off.instrs.len()); + let mut windows_plain = 0; + for (a, b) in plain.instrs.iter().zip(off.instrs.iter()) { + assert_eq!((a.op, a.dst, a.src, a.src2, a.imm, a.imm2, a.rot, a.bit, a.mask, a.width), (b.op, b.dst, b.src, b.src2, b.imm, b.imm2, b.rot, b.bit, b.mask, b.width), "the instruction is the class's without the flag"); + assert_eq!((b.win, b.off), (0, 0), "every site reads the whole dataset"); + if a.win != 0 { + windows_plain += 1; + } + } + assert!(windows_plain > 0, "the plain draw has at least one shrunk window on this seed"); + assert_eq!(plain.shadow, off.shadow); + assert_eq!(plain.class.era.map(|e| EraParams { fold: e.fold, ..e }), off.class.era.map(|e| EraParams { fold: e.fold, ..e }), "the era draw is untouched"); +} + /// 2. The fold's form: `y = x * M; y ^= y >> 16; y = rotl(y, R)`, and nothing else moves. The plain era's stride is /// `rotl(x * M, R)` byte for byte. #[test] From 511253ad402675c52a1e23eca4f0f91a048dab95 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 17:09:29 +0000 Subject: [PATCH 019/227] class v6 kit: the PC job scripts check each kit pack's own leaves.bin (the class v5 script's one-pack check stopped the 7600 job before the device list) and the AMD match is the RX 7600's gfx1102 Co-Authored-By: Claude Fable 5.1 --- tools/class-v5/arc-v6-bench.ps1 | 10 +++++++--- tools/class-v5/pc1-v6-bench.ps1 | 16 ++++++++++------ 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/tools/class-v5/arc-v6-bench.ps1 b/tools/class-v5/arc-v6-bench.ps1 index d3acdb8d3..0b59bbc2e 100644 --- a/tools/class-v5/arc-v6-bench.ps1 +++ b/tools/class-v5/arc-v6-bench.ps1 @@ -43,9 +43,13 @@ foreach ($pk in @('hl-v6-foldrw', 'hl-v6-all')) { if (-not (Test-Path (Join-Path $d 'kernel_bound.cl'))) { "RESULT error pack $pk missing at $d"; Summary 'failed' @{ error = "pack $pk missing" }; exit 2 } "RESULT pack $pk kernel_bound.cl sha256 $((Get-FileHash -Algorithm SHA256 (Join-Path $d 'kernel_bound.cl')).Hash.ToLower()) program.h sha256 $((Get-FileHash -Algorithm SHA256 (Join-Path $d 'program.h')).Hash.ToLower())" } -$leaves = Join-Path $packs 'v5-dn3-epoch0\leaves.bin' -if (-not (Test-Path $leaves)) { "RESULT error leaves.bin missing at $leaves (a class v5 pack without its leaves builds nothing)"; Summary 'failed' @{ error = 'leaves missing' }; exit 2 } -"RESULT leaves $leaves bytes $((Get-Item $leaves).Length) sha256 $((Get-FileHash -Algorithm SHA256 $leaves).Hash.ToLower())" +# the class v6 kit's packs each carry their own leaves.bin (the class v5 script checked one pack by name; the 18:01 UK run on +# PC 1 stopped on that name before the device list) +foreach ($lp in @('hl-v6-foldrw', 'hl-v6-all')) { + $leaves = Join-Path $packs ($lp + '\leaves.bin') + if (-not (Test-Path $leaves)) { "RESULT error leaves.bin missing at $leaves (a class v5 pack without its leaves builds nothing)"; Summary 'failed' @{ error = 'leaves missing'; pack = $lp }; exit 2 } + "RESULT leaves $lp $((Get-Item $leaves).Length) bytes sha256 $((Get-FileHash -Algorithm SHA256 $leaves).Hash.ToLower())" +} # the OpenCL device index of the 9070 XT (the installed worker's list when present: the app's own indices) $inst = @("$env:LOCALAPPDATA\Programs\Igneum Miner", "$env:ProgramFiles\Igneum Miner") | Where-Object { Test-Path (Join-Path $_ 'igneum-app.exe') } | Select-Object -First 1 $listExe = $exe diff --git a/tools/class-v5/pc1-v6-bench.ps1 b/tools/class-v5/pc1-v6-bench.ps1 index 524e7f9cf..c8ab7fbc5 100644 --- a/tools/class-v5/pc1-v6-bench.ps1 +++ b/tools/class-v5/pc1-v6-bench.ps1 @@ -38,9 +38,13 @@ foreach ($pk in @('hl-v6-foldrw', 'hl-v6-all')) { if (-not (Test-Path (Join-Path $d 'kernel_bound.cl'))) { "RESULT error pack $pk missing at $d"; Summary 'failed' @{ error = "pack $pk missing" }; exit 2 } "RESULT pack $pk kernel_bound.cl sha256 $((Get-FileHash -Algorithm SHA256 (Join-Path $d 'kernel_bound.cl')).Hash.ToLower()) program.h sha256 $((Get-FileHash -Algorithm SHA256 (Join-Path $d 'program.h')).Hash.ToLower())" } -$leaves = Join-Path $packs 'v5-dn3-epoch0\leaves.bin' -if (-not (Test-Path $leaves)) { "RESULT error leaves.bin missing at $leaves (a class v5 pack without its leaves builds nothing)"; Summary 'failed' @{ error = 'leaves missing' }; exit 2 } -"RESULT leaves $leaves bytes $((Get-Item $leaves).Length) sha256 $((Get-FileHash -Algorithm SHA256 $leaves).Hash.ToLower())" +# the class v6 kit's packs each carry their own leaves.bin (the class v5 script checked one pack by name; the 18:01 UK run on +# PC 1 stopped on that name before the device list) +foreach ($lp in @('hl-v6-foldrw', 'hl-v6-all')) { + $leaves = Join-Path $packs ($lp + '\leaves.bin') + if (-not (Test-Path $leaves)) { "RESULT error leaves.bin missing at $leaves (a class v5 pack without its leaves builds nothing)"; Summary 'failed' @{ error = 'leaves missing'; pack = $lp }; exit 2 } + "RESULT leaves $lp $((Get-Item $leaves).Length) bytes sha256 $((Get-FileHash -Algorithm SHA256 $leaves).Hash.ToLower())" +} # the OpenCL device index of the 9070 XT (the installed worker's list when present: the app's own indices) $inst = @("$env:LOCALAPPDATA\Programs\Igneum Miner", "$env:ProgramFiles\Igneum Miner") | Where-Object { Test-Path (Join-Path $_ 'igneum-app.exe') } | Select-Object -First 1 $listExe = $exe @@ -48,9 +52,9 @@ if ($inst -and (Test-Path (Join-Path $inst 'igneum-worker-opencl.exe'))) { $list $list = @(& $listExe --list 2>&1 | ForEach-Object { "$_" }) $list | ForEach-Object { "RESULT list $_" } $dev = $null -foreach ($l in $list) { if ($l -match '^\s*\[(\d+)\].*gfx1201' -and $l -notmatch 'dup') { $dev = [int]$Matches[1]; break } } -if ($null -eq $dev) { "RESULT error no gfx1201 device in --list (the eGPU is off the bus: the AMD v5 row stays OWED)"; Summary 'failed' @{ error = 'no gfx1201' }; exit 2 } -"RESULT device $dev gfx1201 (list from $listExe)" +foreach ($l in $list) { if ($l -match '^\s*\[(\d+)\].*gfx1102' -and $l -notmatch 'dup') { $dev = [int]$Matches[1]; break } } +if ($null -eq $dev) { "RESULT error no gfx1102 device in --list (the RX 7600 is off the bus: the AMD class v6 row stays OWED)"; Summary 'failed' @{ error = 'no gfx1102' }; exit 2 } +"RESULT device $dev gfx1102 (list from $listExe)" function Workers { @(Get-CimInstance Win32_Process -Filter "Name = 'igneum-worker-opencl.exe' OR Name = 'igneum-worker-cuda.exe'" -ErrorAction SilentlyContinue | ForEach-Object { "$($_.Name):$($_.ProcessId):[$($_.CommandLine -replace '\s+', ' ')]" }) } $w = @(Workers) $loaded = ($w | Where-Object { $_ -match "igneum-worker-opencl.*--device\s+$dev(\s|$)" }).Count -gt 0 From d0c851a4687629a18b0341bfdde4d3061d516b86 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 17:12:58 +0000 Subject: [PATCH 020/227] class v5 design page: the class v6 kit row names the PC script fault (one-pack leaves check, gfx1201) and its fix at class-v6-kits c98a42c2e Co-Authored-By: Claude Fable 5.1 --- docs/design/class-v5-stored-state.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/design/class-v5-stored-state.md b/docs/design/class-v5-stored-state.md index c48f7a48e..270862cee 100644 --- a/docs/design/class-v5-stored-state.md +++ b/docs/design/class-v5-stored-state.md @@ -53,7 +53,7 @@ Clock rule for this page: every time is UK time (UK time tonight, UTC+1). The bu | 14:1x | The seeded attempt-3 case closed EQUAL: kaspa-pow `program-id` (class-v5-node f912e614, consensus/pow/src/bin: the template prepare's own path on a given seed, era, day, genesis day and stream file; a stream-less v5 read refuses with the engine's line, exit 3) reads the pin's FAIL seed ec0a8cf9...8212 (era 234e082d...6062, day 1244071, genesis day 1243740, the run's epoch-9 stream) as attempt 3, id 1f1cf82877f46ee6, equal to igneum-pow at exactly 1c420786 (build-1, 14:07 UK); the class v4 control reads attempt 0, 17d03dc8ddfe865c. The harness now reads that seed on every run (`class-v5-harness/attempt-3-seed/{seed.json,state.igsd1}`, check `attempt_3_seed_reads_equal`: the engine path beside the run's CLI, attempt and id against the record's expectation; an unreadable side is a FAILED CHECK, never a skip); the node lane lifts the read into `igneum-miner program-id` on its next line | | 14:2x | The harness's attempt-3 check read live: on the rebuilt pair 6ccaf9e9 with the CLI at exactly 1c420786 (build-1, a 3-epoch no-flip case, 14:16 UK, `class-v5-harness/attempt3-check.{log,json}`): "ATTEMPT-3 SEED ec0a8cf9e1c6874f: cli attempt 3 id 1f1cf82877f46ee6 | engine attempt 3 id 1f1cf82877f46ee6 | expected attempt 3 id 1f1cf82877f46ee6 | EQUAL", `attempt_3_seed_reads_equal` true; the standalone path (`--a3-only`, seconds, no nodes) reads the same, and its known-failed flag (`--a3-known-failed`, the record's id with one digit flipped) reads DIFFER. A first short run died at 14:10 UK from this lane's own fault: the runner script was edited while that run's bash was reading it (the mid-run edit class build-remote's comment names); the second run is the record | | 14:4x | The Arc B580 reads EQUAL on the rebuilt kit 65b47211 (14:46 UK): 82b19cbde8557ea5, self-test PASS 96 of 96, the v4 control PASS; the rotate fold was the whole Intel fault. The kit is one fingerprint on six platforms. The 0.3.26 upgrade line (8f481459's line with the Intel kit in) goes to the shipper and the coordinator | -| 17:1x | CLASS V6 KIT (the coordinator's order of 16:45 UK; the worker-smoke rule): the kit zip built from the hash lane's class-v6 merge 3f25a830 (my kit tree class-v6-kits d731991a: the Metal hosts size the dataset by the ds55 words and items defines, the v6 kit script kits-v6-on-box.sh, the PC job scripts): /srv/artefacts/packs/packs-class-v6-20261008T160432Z.zip on build-1, sha256 2c56bd063f1a8f60599c5a546c3e38bdf7b00c65adaa6852a0755fe641f0ec3b, 847,590 bytes, 42 files (packs hl-v6-all id 9d40978601a7df2a, class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw, and its known-failed partner hl-v6-foldrw id 605d06cabc489f94; the four Linux and Windows workers). Reads so far: the all pack on the CPU verifier (the NVRTC worker's emulation on build-1: check PASS, cache FNV 448274a57f508cbc, 96 of 96 vector lanes on the window's CUDA text); the partner on Metal and Apple OpenCL 5a6ad122a71a888f (both agree; the fold family fold f6c34aa6e87bf211 and rw 964ce3ba78b92a32 agree on both hosts and on the emulation too, the known-failed pairs distinct); the all pack REFUSES on both Mac hosts by construction ("kernel functions missing" on Metal, CL_INVALID_KERNEL_NAME on OpenCL: the window's OpenCL and Metal texts are refusal stubs in the merge, owed by the hash lane by 22:00 UK; the 0.3.27 pin's six-read rule waits on them, the coordinator's order of 17:05 UK). Not in the all pack tonight: the ds55 5.5 GiB schedule (a state class refuses --dataset-words; the pack is 1 GiB at log2 28). CUDA (the fleet's one-shot RTX 4090, pod 6tw328v4faxeie, driver 570.211.01, 17:09 UK, USD 0.018, destroyed after): the all pack check PASS (cache FNV 448274a57f508cbc, 96 of 96 lanes), fingerprint 59e6708e46f1e87c (its first reading), 31.4 MH/s at 87 registers and 20 of 24 blocks per SM; the partner check PASS, fingerprint 5a6ad122a71a888f = the Mac's two reads, 62.6 MH/s at 27 registers; the two fingerprints distinct (the known-failed shape on CUDA); the worker's --check and --bench print no id line, so the ids are the packs' program.h, not the worker's. The window's OpenCL and Metal texts landed on class-v6 c245d50b (17:21 UK; hl-v6-all re-exported, sha256 22c64fa5..., the same id and CUDA text, kernel.cl 93,248 bytes and program.metal 81,201 bytes real; the stub copy kept as hl-v6-all-stub.tgz): the all pack reads 59e6708e46f1e87c on Metal (packbench, 12.6 MH/s GPU time) and on Apple OpenCL (the kit host, 8.9 MH/s) at 17:24 UK, equal to the CUDA reference, so FOUR platforms equal on the all pack (CPU, CUDA, Metal, Apple OpenCL) and three on the partner; the second zip (the window texts in, built from class-v6-kits a9ea072d at 17:24 UK): /srv/artefacts/packs/packs-class-v6-20261008T162324Z.zip, sha256 098e64c3e0dc1dc727c4ded34d16a31d1ae2802b76f9c09c06b2bea9720fa108, 891,160 bytes, 42 files (windows cuda.exe 218ca414..., windows opencl.exe 90aaa1f8...), the emulation check on the new all pack PASS; PC 1's RTX 5090 read both packs from it (the hash lane's job run-ca3-pc1-v6all-5090-20261008, 17:59 to 18:00 UK, the kit's CUDA worker 218ca414..., unlocked, 250 x 2^24): the partner 5a6ad122a71a888f PASS at 140.6 MH/s, 440 W (0.320 MH/W); the all pack 59e6708e46f1e87c PASS at 70.5 MH/s, 409 W (0.172 MH/W): the second CUDA line equal on both, so the all pack stands at FIVE readings equal (CPU, the 4090, the 5090, Metal, Apple OpenCL) and the partner at four. Per tier: the window halves the hash rate at 7 percent less card power (a reg64 hash is twice the work: 128 statements and 32 loads per iteration), 5.80 µJ per hash against the partner's 3.13, level per unit of work; a miner on the window class earns the same per joule of hashing as on the partner. Remaining: the AMD RX 7600 on PC 1 (next in its queue; its own class v5 read on the kit's OpenCL worker 82b19cbde8557ea5 at 15.8 MH/s, quiet) and the Arc on PC 2 (about 18:30 UK), the all pack expected 59e6708e46f1e87c and the partner 5a6ad122a71a888f | +| 17:1x | CLASS V6 KIT (the coordinator's order of 16:45 UK; the worker-smoke rule): the kit zip built from the hash lane's class-v6 merge 3f25a830 (my kit tree class-v6-kits d731991a: the Metal hosts size the dataset by the ds55 words and items defines, the v6 kit script kits-v6-on-box.sh, the PC job scripts): /srv/artefacts/packs/packs-class-v6-20261008T160432Z.zip on build-1, sha256 2c56bd063f1a8f60599c5a546c3e38bdf7b00c65adaa6852a0755fe641f0ec3b, 847,590 bytes, 42 files (packs hl-v6-all id 9d40978601a7df2a, class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw, and its known-failed partner hl-v6-foldrw id 605d06cabc489f94; the four Linux and Windows workers). Reads so far: the all pack on the CPU verifier (the NVRTC worker's emulation on build-1: check PASS, cache FNV 448274a57f508cbc, 96 of 96 vector lanes on the window's CUDA text); the partner on Metal and Apple OpenCL 5a6ad122a71a888f (both agree; the fold family fold f6c34aa6e87bf211 and rw 964ce3ba78b92a32 agree on both hosts and on the emulation too, the known-failed pairs distinct); the all pack REFUSES on both Mac hosts by construction ("kernel functions missing" on Metal, CL_INVALID_KERNEL_NAME on OpenCL: the window's OpenCL and Metal texts are refusal stubs in the merge, owed by the hash lane by 22:00 UK; the 0.3.27 pin's six-read rule waits on them, the coordinator's order of 17:05 UK). Not in the all pack tonight: the ds55 5.5 GiB schedule (a state class refuses --dataset-words; the pack is 1 GiB at log2 28). CUDA (the fleet's one-shot RTX 4090, pod 6tw328v4faxeie, driver 570.211.01, 17:09 UK, USD 0.018, destroyed after): the all pack check PASS (cache FNV 448274a57f508cbc, 96 of 96 lanes), fingerprint 59e6708e46f1e87c (its first reading), 31.4 MH/s at 87 registers and 20 of 24 blocks per SM; the partner check PASS, fingerprint 5a6ad122a71a888f = the Mac's two reads, 62.6 MH/s at 27 registers; the two fingerprints distinct (the known-failed shape on CUDA); the worker's --check and --bench print no id line, so the ids are the packs' program.h, not the worker's. The window's OpenCL and Metal texts landed on class-v6 c245d50b (17:21 UK; hl-v6-all re-exported, sha256 22c64fa5..., the same id and CUDA text, kernel.cl 93,248 bytes and program.metal 81,201 bytes real; the stub copy kept as hl-v6-all-stub.tgz): the all pack reads 59e6708e46f1e87c on Metal (packbench, 12.6 MH/s GPU time) and on Apple OpenCL (the kit host, 8.9 MH/s) at 17:24 UK, equal to the CUDA reference, so FOUR platforms equal on the all pack (CPU, CUDA, Metal, Apple OpenCL) and three on the partner; the second zip (the window texts in, built from class-v6-kits a9ea072d at 17:24 UK): /srv/artefacts/packs/packs-class-v6-20261008T162324Z.zip, sha256 098e64c3e0dc1dc727c4ded34d16a31d1ae2802b76f9c09c06b2bea9720fa108, 891,160 bytes, 42 files (windows cuda.exe 218ca414..., windows opencl.exe 90aaa1f8...), the emulation check on the new all pack PASS; PC 1's RTX 5090 read both packs from it (the hash lane's job run-ca3-pc1-v6all-5090-20261008, 17:59 to 18:00 UK, the kit's CUDA worker 218ca414..., unlocked, 250 x 2^24): the partner 5a6ad122a71a888f PASS at 140.6 MH/s, 440 W (0.320 MH/W); the all pack 59e6708e46f1e87c PASS at 70.5 MH/s, 409 W (0.172 MH/W): the second CUDA line equal on both, so the all pack stands at FIVE readings equal (CPU, the 4090, the 5090, Metal, Apple OpenCL) and the partner at four. Per tier: the window halves the hash rate at 7 percent less card power (a reg64 hash is twice the work: 128 statements and 32 loads per iteration), 5.80 µJ per hash against the partner's 3.13, level per unit of work; a miner on the window class earns the same per joule of hashing as on the partner. Remaining: the AMD RX 7600 on PC 1 (next in its queue; its own class v5 read on the kit's OpenCL worker 82b19cbde8557ea5 at 15.8 MH/s, quiet) and the Arc on PC 2 (about 18:30 UK), the all pack expected 59e6708e46f1e87c and the partner 5a6ad122a71a888f. A fault of mine on the PC scripts (18:01 UK, the hash lane's read): pc1-v6-bench.ps1 and arc-v6-bench.ps1 at a9ea072d kept the class v5 script's one-pack leaves check (packs\v5-dn3-epoch0\leaves.bin), which stopped the 7600 job before its device list, and the AMD match was the 9070 XT's gfx1201 instead of the 7600's gfx1102; fixed at class-v6-kits c98a42c2e (18:10 UK, both mirrors, gate GREEN): a loop over each kit pack's own leaves.bin and the gfx1102 match; the hash lane runs its own fixed copy for the 7600 (run-ca3-pc1-v6all-7600-20261008-c), and the shipper has the ask to repoint PC 2's Arc job at c98a42c2e before its slot (default on a miss: the a9ea072d job fails in seconds on the leaves check and the fixed script queues next; past 19:00 UK the Arc read is the morning's and the 23:00 UK line reads five of six) | ## 1. The claim, in one paragraph From 5c6b07015f4703fbd9f32d0ab66d1b546b885425 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 17:16:16 +0000 Subject: [PATCH 021/227] class-v6: the v4 source rule sets the nowin flag aside as it does fold and rw (the known-failed test read a different load source under +nowin) Co-Authored-By: Claude Fable 5.1 --- igneum-pow/src/generator.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/igneum-pow/src/generator.rs b/igneum-pow/src/generator.rs index 5a4deab00..39cde7c3a 100644 --- a/igneum-pow/src/generator.rs +++ b/igneum-pow/src/generator.rs @@ -1674,7 +1674,7 @@ pub fn candidate_from_words_class( // class v6 lane 1: the index fold and the re-weight table are set aside too (the address path and the table are not // the shape; a +fold or +rw program draws its sources under the same rule) let source_rule_v4 = matches!(class.shadow, Some(ShadowClass { instrs: V4_SHADOW_INSTRS, .. })) - && LoadClass { era: None, shadow: None, state: false, fold: false, rw: 0, ..class } == LoadClass { shadow: None, ..V4_CLASS }; + && LoadClass { era: None, shadow: None, state: false, fold: false, rw: 0, nowin: false, ..class } == LoadClass { shadow: None, ..V4_CLASS }; // the op table and the roll's range: the plain table at 75 for every class without the re-weight flag let (weights, weights_sum) = class.nonload_weights(); let mut fresh = [false; 8]; From fdc9557c05f525f2bd10dc1f954a6d98ad931d65 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 17:21:44 +0000 Subject: [PATCH 022/227] class v5 design page: the class v6 kit's RX 7600 read (both packs equal; six platforms on the all pack) Co-Authored-By: Claude Fable 5.1 --- docs/design/class-v5-stored-state.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/design/class-v5-stored-state.md b/docs/design/class-v5-stored-state.md index 270862cee..42ab31b69 100644 --- a/docs/design/class-v5-stored-state.md +++ b/docs/design/class-v5-stored-state.md @@ -53,7 +53,7 @@ Clock rule for this page: every time is UK time (UK time tonight, UTC+1). The bu | 14:1x | The seeded attempt-3 case closed EQUAL: kaspa-pow `program-id` (class-v5-node f912e614, consensus/pow/src/bin: the template prepare's own path on a given seed, era, day, genesis day and stream file; a stream-less v5 read refuses with the engine's line, exit 3) reads the pin's FAIL seed ec0a8cf9...8212 (era 234e082d...6062, day 1244071, genesis day 1243740, the run's epoch-9 stream) as attempt 3, id 1f1cf82877f46ee6, equal to igneum-pow at exactly 1c420786 (build-1, 14:07 UK); the class v4 control reads attempt 0, 17d03dc8ddfe865c. The harness now reads that seed on every run (`class-v5-harness/attempt-3-seed/{seed.json,state.igsd1}`, check `attempt_3_seed_reads_equal`: the engine path beside the run's CLI, attempt and id against the record's expectation; an unreadable side is a FAILED CHECK, never a skip); the node lane lifts the read into `igneum-miner program-id` on its next line | | 14:2x | The harness's attempt-3 check read live: on the rebuilt pair 6ccaf9e9 with the CLI at exactly 1c420786 (build-1, a 3-epoch no-flip case, 14:16 UK, `class-v5-harness/attempt3-check.{log,json}`): "ATTEMPT-3 SEED ec0a8cf9e1c6874f: cli attempt 3 id 1f1cf82877f46ee6 | engine attempt 3 id 1f1cf82877f46ee6 | expected attempt 3 id 1f1cf82877f46ee6 | EQUAL", `attempt_3_seed_reads_equal` true; the standalone path (`--a3-only`, seconds, no nodes) reads the same, and its known-failed flag (`--a3-known-failed`, the record's id with one digit flipped) reads DIFFER. A first short run died at 14:10 UK from this lane's own fault: the runner script was edited while that run's bash was reading it (the mid-run edit class build-remote's comment names); the second run is the record | | 14:4x | The Arc B580 reads EQUAL on the rebuilt kit 65b47211 (14:46 UK): 82b19cbde8557ea5, self-test PASS 96 of 96, the v4 control PASS; the rotate fold was the whole Intel fault. The kit is one fingerprint on six platforms. The 0.3.26 upgrade line (8f481459's line with the Intel kit in) goes to the shipper and the coordinator | -| 17:1x | CLASS V6 KIT (the coordinator's order of 16:45 UK; the worker-smoke rule): the kit zip built from the hash lane's class-v6 merge 3f25a830 (my kit tree class-v6-kits d731991a: the Metal hosts size the dataset by the ds55 words and items defines, the v6 kit script kits-v6-on-box.sh, the PC job scripts): /srv/artefacts/packs/packs-class-v6-20261008T160432Z.zip on build-1, sha256 2c56bd063f1a8f60599c5a546c3e38bdf7b00c65adaa6852a0755fe641f0ec3b, 847,590 bytes, 42 files (packs hl-v6-all id 9d40978601a7df2a, class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw, and its known-failed partner hl-v6-foldrw id 605d06cabc489f94; the four Linux and Windows workers). Reads so far: the all pack on the CPU verifier (the NVRTC worker's emulation on build-1: check PASS, cache FNV 448274a57f508cbc, 96 of 96 vector lanes on the window's CUDA text); the partner on Metal and Apple OpenCL 5a6ad122a71a888f (both agree; the fold family fold f6c34aa6e87bf211 and rw 964ce3ba78b92a32 agree on both hosts and on the emulation too, the known-failed pairs distinct); the all pack REFUSES on both Mac hosts by construction ("kernel functions missing" on Metal, CL_INVALID_KERNEL_NAME on OpenCL: the window's OpenCL and Metal texts are refusal stubs in the merge, owed by the hash lane by 22:00 UK; the 0.3.27 pin's six-read rule waits on them, the coordinator's order of 17:05 UK). Not in the all pack tonight: the ds55 5.5 GiB schedule (a state class refuses --dataset-words; the pack is 1 GiB at log2 28). CUDA (the fleet's one-shot RTX 4090, pod 6tw328v4faxeie, driver 570.211.01, 17:09 UK, USD 0.018, destroyed after): the all pack check PASS (cache FNV 448274a57f508cbc, 96 of 96 lanes), fingerprint 59e6708e46f1e87c (its first reading), 31.4 MH/s at 87 registers and 20 of 24 blocks per SM; the partner check PASS, fingerprint 5a6ad122a71a888f = the Mac's two reads, 62.6 MH/s at 27 registers; the two fingerprints distinct (the known-failed shape on CUDA); the worker's --check and --bench print no id line, so the ids are the packs' program.h, not the worker's. The window's OpenCL and Metal texts landed on class-v6 c245d50b (17:21 UK; hl-v6-all re-exported, sha256 22c64fa5..., the same id and CUDA text, kernel.cl 93,248 bytes and program.metal 81,201 bytes real; the stub copy kept as hl-v6-all-stub.tgz): the all pack reads 59e6708e46f1e87c on Metal (packbench, 12.6 MH/s GPU time) and on Apple OpenCL (the kit host, 8.9 MH/s) at 17:24 UK, equal to the CUDA reference, so FOUR platforms equal on the all pack (CPU, CUDA, Metal, Apple OpenCL) and three on the partner; the second zip (the window texts in, built from class-v6-kits a9ea072d at 17:24 UK): /srv/artefacts/packs/packs-class-v6-20261008T162324Z.zip, sha256 098e64c3e0dc1dc727c4ded34d16a31d1ae2802b76f9c09c06b2bea9720fa108, 891,160 bytes, 42 files (windows cuda.exe 218ca414..., windows opencl.exe 90aaa1f8...), the emulation check on the new all pack PASS; PC 1's RTX 5090 read both packs from it (the hash lane's job run-ca3-pc1-v6all-5090-20261008, 17:59 to 18:00 UK, the kit's CUDA worker 218ca414..., unlocked, 250 x 2^24): the partner 5a6ad122a71a888f PASS at 140.6 MH/s, 440 W (0.320 MH/W); the all pack 59e6708e46f1e87c PASS at 70.5 MH/s, 409 W (0.172 MH/W): the second CUDA line equal on both, so the all pack stands at FIVE readings equal (CPU, the 4090, the 5090, Metal, Apple OpenCL) and the partner at four. Per tier: the window halves the hash rate at 7 percent less card power (a reg64 hash is twice the work: 128 statements and 32 loads per iteration), 5.80 µJ per hash against the partner's 3.13, level per unit of work; a miner on the window class earns the same per joule of hashing as on the partner. Remaining: the AMD RX 7600 on PC 1 (next in its queue; its own class v5 read on the kit's OpenCL worker 82b19cbde8557ea5 at 15.8 MH/s, quiet) and the Arc on PC 2 (about 18:30 UK), the all pack expected 59e6708e46f1e87c and the partner 5a6ad122a71a888f. A fault of mine on the PC scripts (18:01 UK, the hash lane's read): pc1-v6-bench.ps1 and arc-v6-bench.ps1 at a9ea072d kept the class v5 script's one-pack leaves check (packs\v5-dn3-epoch0\leaves.bin), which stopped the 7600 job before its device list, and the AMD match was the 9070 XT's gfx1201 instead of the 7600's gfx1102; fixed at class-v6-kits c98a42c2e (18:10 UK, both mirrors, gate GREEN): a loop over each kit pack's own leaves.bin and the gfx1102 match; the hash lane runs its own fixed copy for the 7600 (run-ca3-pc1-v6all-7600-20261008-c), and the shipper has the ask to repoint PC 2's Arc job at c98a42c2e before its slot (default on a miss: the a9ea072d job fails in seconds on the leaves check and the fixed script queues next; past 19:00 UK the Arc read is the morning's and the 23:00 UK line reads five of six) | +| 17:1x | CLASS V6 KIT (the coordinator's order of 16:45 UK; the worker-smoke rule): the kit zip built from the hash lane's class-v6 merge 3f25a830 (my kit tree class-v6-kits d731991a: the Metal hosts size the dataset by the ds55 words and items defines, the v6 kit script kits-v6-on-box.sh, the PC job scripts): /srv/artefacts/packs/packs-class-v6-20261008T160432Z.zip on build-1, sha256 2c56bd063f1a8f60599c5a546c3e38bdf7b00c65adaa6852a0755fe641f0ec3b, 847,590 bytes, 42 files (packs hl-v6-all id 9d40978601a7df2a, class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw, and its known-failed partner hl-v6-foldrw id 605d06cabc489f94; the four Linux and Windows workers). Reads so far: the all pack on the CPU verifier (the NVRTC worker's emulation on build-1: check PASS, cache FNV 448274a57f508cbc, 96 of 96 vector lanes on the window's CUDA text); the partner on Metal and Apple OpenCL 5a6ad122a71a888f (both agree; the fold family fold f6c34aa6e87bf211 and rw 964ce3ba78b92a32 agree on both hosts and on the emulation too, the known-failed pairs distinct); the all pack REFUSES on both Mac hosts by construction ("kernel functions missing" on Metal, CL_INVALID_KERNEL_NAME on OpenCL: the window's OpenCL and Metal texts are refusal stubs in the merge, owed by the hash lane by 22:00 UK; the 0.3.27 pin's six-read rule waits on them, the coordinator's order of 17:05 UK). Not in the all pack tonight: the ds55 5.5 GiB schedule (a state class refuses --dataset-words; the pack is 1 GiB at log2 28). CUDA (the fleet's one-shot RTX 4090, pod 6tw328v4faxeie, driver 570.211.01, 17:09 UK, USD 0.018, destroyed after): the all pack check PASS (cache FNV 448274a57f508cbc, 96 of 96 lanes), fingerprint 59e6708e46f1e87c (its first reading), 31.4 MH/s at 87 registers and 20 of 24 blocks per SM; the partner check PASS, fingerprint 5a6ad122a71a888f = the Mac's two reads, 62.6 MH/s at 27 registers; the two fingerprints distinct (the known-failed shape on CUDA); the worker's --check and --bench print no id line, so the ids are the packs' program.h, not the worker's. The window's OpenCL and Metal texts landed on class-v6 c245d50b (17:21 UK; hl-v6-all re-exported, sha256 22c64fa5..., the same id and CUDA text, kernel.cl 93,248 bytes and program.metal 81,201 bytes real; the stub copy kept as hl-v6-all-stub.tgz): the all pack reads 59e6708e46f1e87c on Metal (packbench, 12.6 MH/s GPU time) and on Apple OpenCL (the kit host, 8.9 MH/s) at 17:24 UK, equal to the CUDA reference, so FOUR platforms equal on the all pack (CPU, CUDA, Metal, Apple OpenCL) and three on the partner; the second zip (the window texts in, built from class-v6-kits a9ea072d at 17:24 UK): /srv/artefacts/packs/packs-class-v6-20261008T162324Z.zip, sha256 098e64c3e0dc1dc727c4ded34d16a31d1ae2802b76f9c09c06b2bea9720fa108, 891,160 bytes, 42 files (windows cuda.exe 218ca414..., windows opencl.exe 90aaa1f8...), the emulation check on the new all pack PASS; PC 1's RTX 5090 read both packs from it (the hash lane's job run-ca3-pc1-v6all-5090-20261008, 17:59 to 18:00 UK, the kit's CUDA worker 218ca414..., unlocked, 250 x 2^24): the partner 5a6ad122a71a888f PASS at 140.6 MH/s, 440 W (0.320 MH/W); the all pack 59e6708e46f1e87c PASS at 70.5 MH/s, 409 W (0.172 MH/W): the second CUDA line equal on both, so the all pack stands at FIVE readings equal (CPU, the 4090, the 5090, Metal, Apple OpenCL) and the partner at four. Per tier: the window halves the hash rate at 7 percent less card power (a reg64 hash is twice the work: 128 statements and 32 loads per iteration), 5.80 µJ per hash against the partner's 3.13, level per unit of work; a miner on the window class earns the same per joule of hashing as on the partner. Remaining: the AMD RX 7600 on PC 1 (next in its queue; its own class v5 read on the kit's OpenCL worker 82b19cbde8557ea5 at 15.8 MH/s, quiet) and the Arc on PC 2 (about 18:30 UK), the all pack expected 59e6708e46f1e87c and the partner 5a6ad122a71a888f. A fault of mine on the PC scripts (18:01 UK, the hash lane's read): pc1-v6-bench.ps1 and arc-v6-bench.ps1 at a9ea072d kept the class v5 script's one-pack leaves check (packs\v5-dn3-epoch0\leaves.bin), which stopped the 7600 job before its device list, and the AMD match was the 9070 XT's gfx1201 instead of the 7600's gfx1102; fixed at class-v6-kits c98a42c2e (18:10 UK, both mirrors, gate GREEN): a loop over each kit pack's own leaves.bin and the gfx1102 match; the hash lane runs its own fixed copy for the 7600 (run-ca3-pc1-v6all-7600-20261008-c), and the shipper has the ask to repoint PC 2's Arc job at c98a42c2e before its slot (default on a miss: the a9ea072d job fails in seconds on the leaves check and the fixed script queues next; past 19:00 UK the Arc read is the morning's and the 23:00 UK line reads five of six). RX 7600 read (PC 1, the hash lane's job run-ca3-pc1-v6all-7600-20261008-c on the c98a42c2e script text, 18:17 to 18:18 UK, the kit's igneum-worker-opencl.exe, device [1] gfx1102, 16 CUs, 8,176 MiB, card quiet): the partner 5a6ad122a71a888f PASS at 15.79 MH/s in 8 s, the all pack 59e6708e46f1e87c PASS at 7.92 MH/s in 14 s, both equal to the references. The all pack now reads equal on SIX platforms (CPU emulation, CUDA 4090, RTX 5090, Metal, Apple OpenCL, RX 7600 OpenCL) and the partner on five; the window halves the 7600's rate as it halves the 5090's (twice the work per hash). Per tier: an AMD OpenCL miner on the window class hashes at half the partner's rate with the same answer as every other platform, so the class v6 pack is a fair floor across vendors; only the Arc read (PC 2, the shipper's job) is open | ## 1. The claim, in one paragraph From 1a9de1b36deb8f7275cf208c50d7f3e54a3092a5 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 17:34:55 +0000 Subject: [PATCH 023/227] Key succession, the pin tool's half: elf/prior/ and the manifest's prior and succession blocks, the host embedding both pairs, the release-manifest check comparing both MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit docs/design/key-succession.md (the enforced-proving lane, 8 October 2026): the object names the prior pair, a next pair, an activation height H and a window W; the node embeds both pairs and verifies under the pair a proof claims when that pair is accepted at the carrier's DAA (the node branch key-succession-node on the fork carries that side). The pin tool (igneum-prove-pin): a pin over an existing elf/ moves the four files it holds to elf/prior/ and writes the manifest's `prior` block (the same per-program fields plus the pinned_at of that pair) and a `succession` block naming both pairs' ids; the top-level shard and aggregator stay the newest pair; at most two pairs live (a pin over an elf/ that already carries prior/ replaces prior/); `--no-prior` keeps today's shape. The host (pinned.rs) embeds elf/prior/'s four files, checks them against the `prior` block when the manifest carries one and derives the prior ids from the keys (Pinned::prior, PriorKeys), checks the `succession` block's four ids against both pairs, and builds unchanged on a tree whose manifest names no `prior` (every tree now carries elf/prior/ as a copy of the current pair, so the include_bytes compile; the in-process verifier reads `prior` as absent). The release manifest check refuses a served manifest whose `prior`, `succession`, succession_daa or succession_window_daa differ from elf/manifest.json's, and a `prior` present on one side only. The node reads H, W and the next ids from its object, never from the manifest; `succession` is for the served manifest and its check. The first real pin (the live pair 0x2b1a81cb…/0x474678f3… into prior/, the re-pinned 0x282dcfce…/0x3fd721e8… on top) runs when main names H. Co-Authored-By: Claude Fable 5.1 --- .../elf/prior/igneum-prove-aggregator.elf | Bin 0 -> 319744 bytes .../elf/prior/igneum-prove-aggregator.vk | Bin 0 -> 104 bytes .../elf/prior/igneum-prove-program.elf | Bin 0 -> 2832504 bytes .../elf/prior/igneum-prove-program.vk | Bin 0 -> 104 bytes proving/igneum-prove/host/src/bin/pin.rs | 44 ++++++++++- proving/igneum-prove/host/src/pinned.rs | 71 +++++++++++++++++- tools/ci/release-manifest-check.mjs | 15 ++++ 7 files changed, 128 insertions(+), 2 deletions(-) create mode 100644 proving/igneum-prove/elf/prior/igneum-prove-aggregator.elf create mode 100644 proving/igneum-prove/elf/prior/igneum-prove-aggregator.vk create mode 100644 proving/igneum-prove/elf/prior/igneum-prove-program.elf create mode 100644 proving/igneum-prove/elf/prior/igneum-prove-program.vk diff --git a/proving/igneum-prove/elf/prior/igneum-prove-aggregator.elf b/proving/igneum-prove/elf/prior/igneum-prove-aggregator.elf new file mode 100644 index 0000000000000000000000000000000000000000..a6d068225ad66ede9cfcb6eeff8a1df633694791 GIT binary patch literal 319744 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 literal 0 HcmV?d00001 diff --git a/proving/igneum-prove/elf/prior/igneum-prove-aggregator.vk b/proving/igneum-prove/elf/prior/igneum-prove-aggregator.vk new file mode 100644 index 0000000000000000000000000000000000000000..51e8c6c00a96afc767cfed9f49837d08a1649ee3 GIT binary patch literal 104 zcmX>zlYxPu0*HaYUhYy_3qzew$+=goS8p$rkK$91TvjwufM3Hd?ZC=4l&9vNORT FvjLX^CZzxX literal 0 HcmV?d00001 diff --git a/proving/igneum-prove/elf/prior/igneum-prove-program.elf b/proving/igneum-prove/elf/prior/igneum-prove-program.elf new file mode 100644 index 0000000000000000000000000000000000000000..8db866f14a49687af9a71c4e97d2cd692a174a18 GIT binary patch literal 2832504 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%0D{zq?GnW_qEGrw&C6_X|&MIr~ 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ÝpYK**}hdpw>j-T-0L^`*>;5+!=1wQ5I zielGwhoUR~ZUN_-1%|QA1jm`e+2lp^$6IK(f80L}oApjGjbu9R6OZe^vjKTtq=~Io z^vL#Gmwb@ed18TEj_uRE86Ct&KW;Aez>;kvpZFZHkE5rEt$SuZxFPR?t)Npwe{jpm zYQA}=h8TU4bx}aSuyZ-f=vUnW!+n%-rtj08$BT6*?;g%VuhN%S!9v)7YoaRml(SW^ z7VPF?JEw2$x8AbPiQWeWq(R%q!GJU{pojEc3<$o6jrwDkH-ovBe&y3I{O)Z_`YZjW z|1L476!|9@v-`(;f$bT_o^ zs4$j^pVBtg&~ju4b5^hh>}pMB32 zmpqG&;7jD$!)^$c!#LS9%@xSlC2HTXi`ta!#VhI{4+A>Zx?QK+7jZu}IlGR1U2Ijj zuqxmCM%rVK?%AKcCa%La;@4tB5e!W9=}2STi5^p7$Qn2ASMwnLA%5eV;4NFYt_qyx zO>8lo;ZGXJJyqZ}wCTPqSW-MOrNnTCm4E^C;6)|arvxuz&w;09UfTym!HeeZ^im=4 zq64p0coE|d@S;BV42gmlo%=W2+=whpd{`DD-&CIqHgmQEhoL62Kc4%ifuSJ}(cc9- zQfEG=s0EB~LdcJTz0|MQ9S6LGIdjnYWFPiZ>|xRC$+5*NH5qKE5Ss<>f=QS~;74tI z7yPISnR*|3lbiupqob{64WJuR`_$iY0c&=0oOrPUzcC6f)0{7S;742HJ(!VEj(-Gw zRsCrz!dAWn%!qzv)34NPx<9figBgugn2}#En9&U(|2Mqq$5;4ZM(Q2Ri2lc&WmP)Y zu(s(Jn2|rTK5o~58Etw%lNddx@d3@xr*B>0W%X?VW<*{OWH$55Z{hi1CGflGuf3Sj zS2|b=0cONC0cLbhoaY95ZqIdp`N|G>{V#qaI3l_=^0*ioWQhITY2%Fe^$7V3MD912 zIHUt`%1vGTv23dkegyx^8Ow>hMH|Od2v)-v@T1kpGF~b634b#5hWDo5$oqc$$oB<5 znv$8TDRD>U%CajQzZL8+!Fm;(rvxks{D?V9Z1Oq#iyn`TXFLSnC-~7Mg&#Q?{77L# z)6qY2KN3I6k#msW*n=OjCO;ZK$`TzybQ1jT-nZus#f~xqAD*>wV?;(*A*ZL(LzIq^ zd{FQv!IVVj2y#{>ACtVP@?EZD?d(#Rve3FNTH!}|wtIn+^*!_kU)t)ott9v50L@>3 zyxP*nx$9nJ)T`trI8v~s!_sAxuNu0&_-oLQCaF0^9gp)fG4H#;m+-IX=uZ52U085I zk#~~&Lv%O%deIpy<}E_4l8Ekga!#&W&weBQL+8I@tH=k&m_~j!QnT&P(1Cq}I6!%B z3AOC-|2<27^LRDUH zo?h(b=!H)C&!81&1abrU=3{(jk4?if&^+Lo=6cET=$P}_FCK^s{~YxHY`gb=^j-M# zp#Nw3a&PL>}7&)P5@T%;Nbovx%EE@gvX&u=WRF_dgQ- zjQZk>sINF`p2{ukL$%>O0)Ut&i#;yb>GTpHwbD1DNA6fgBl^!sbrgLlw> z@x3ycmqm<`JO|B6R~Njoz!(ZY5qr)(%y;I0^e6JEVh2l7n}L|b;fu&kFbn_2Mg48F zx~SoqBF+QPNZz<&=8RhBdU0&9UMw|Pht>Ji|R%GfrUMi=;NWJS$duJ~h;P+GmWJ_Ih#^WO(-xe9|n@ zwZ$K=z3^;&@AX3Q&k-!ij=*#HWvMw$Dqg=Do;(JgJO-XT8lF7b9Z@|5AJZZDm>z|X z=~4KY4#uuF7$4I?#wq$B_mt{^@a?f`{iwBSp4PxR0tXl+H6M|&!#wjL&PhKQnCa8! zgx>NB)|LAb_p7?E>UU^vr%Ys#WqOts0RxPBk#y9KT3KE+9r8kBh{sCjc*d4oJHIv8 z%U_$zIW4c@RGwLX&c!9C@yvo3{taxDIeUq-+e^^v&w7Ub#j(;qt9*WPE`c9ZtsF1a zk{k4S%*Ct?leI*?$s?%Y@DlkZ&nH&(VRAZOMoq4Vt)QKji!#^qoF{{vHN$^E?&p_O z{X5z_!j}B?iVl`sLv4$P$&>M9HrHeaZKS@N`TtVe`UP{*jE#-?h&Gc;M9sz7%tbD= zQS}#j??m>XV?euJ8l@x9$b?2AFJgu5XgcggPssH`t;A9l^SsNVB@Xm3R(3V;?zyMK z%R-mS;9H@~546m9w9I(Wqn^yr2Re; z1ieN*X?doe75rzJJQEr{nW0UpC^K$qIy5uxTQlRnH8bwy$&6d-wPa^xA+=?WkXlp$ zU!)>nQ<-_2UU`&l=poOzG&7FMAwk=nN0kg`+|e_SY~bCiyYeWp8Q78UGyWfB#(#e1 zdCl+eyb#YbKKgmJLbHGl(<{dY&)eAZysF@N7glAScV6(ktz&KLRyDSdc;1%2&kJOX z#hj)!FRl0fk!# zrOdq_e|^yQvdn!0Gw)ye?Am|A@@{ zacb;_iqD@bbdtOo_*Npbg8kXHB0aP@iTP8t^E`Y^J+;T1x@Vf%l~FD|E*oY z8oo5c%a_8d(H?%zXTBvTXi&#Y*WZJm3k}9%kb}V;mLfmGD)#G6$zw*Is9>Cu?>P~U zUU59I~xSszb`8{?E4__C5`Z%q}C(@HV3h18)`#$#gY}!M_-;*=Mt%o1S?QiGI z5yIZRqo1x~ig%+YQz6!S`Al@Ki#QYR7M}p+6AGP)-;NAnpCo>}&;F|RPi+S@kvb|z z$eM%hBCCV_H~4>S-~ZXCqlv*0a&R?Uha1CvD1E06S3l>9wNhU&yT_NDJ3d=kTJ<-QKr~HE;WL z{AH`KdxkW7M~mUVd^x{u=loBuyQe~61-pnf8YehTA-=n`|F^=P_S$bP`k+MZJxl)} z`iy5CgS-`ehIOZOnfQP8#o90(~X&jBTAKx>=^3 zq^#fGGlHBQ_TSU;Y;eyRt7R|Se@{H;z38C1%fkn@X+G0{j_9SQ zFiToPQ+q-tzI+ zt~@K#-mf$7Pi6MHl*AwkmR_=4^y)D`mApBU11}?&|Ky~W_RhDQ=`!@8o*4V;j_z*u z*e~|XM_=BMIqBt(M&=`BuFCMoFMD&MDLzZS-Is2P=IZ*?yeZ; z%+Ph)unRrv$T-IJnqyoMa(#4*Cy3vA!qSc3rS&GOyUUx~`JUZS5E4G49>F4i?t5C$ z*HwRTZnzMeTb<^PF4l~*EX_UZ1kL#RP>ozkn!o8d-MceOr!Ix=Ts2bnC)~+3tktu| zaLpuY|4h;BBWGyNRU^12Tjlk2CXGSPoWN(~%vB3CXUtWaH(G3eow~nsr{?c@ns~3Q zuw#{0IGxWR&m>>ZQbTNmhWKe-IF#Sgnoqy%1rzAo>Nxdp_a%n>n4H+@eTjk3>U{qo zQT!V3=?@atUkp3Fr`!M0P`!OY)?T~#NbcQ3o?)Idz#1$Vp@T0InA6|vx*BXH7YW9p zyI&ii8K-04J^c&h=^QS#Zd9D&!8tmO(=XzhGr8tUa(Ui}zk;iBpV&k4sfAomz65+> z+Y|h5g#61d&}SZ&0UFq{_|hZ+~<3q^FwS~`|tPPxPWUe;+iwL z=1R?Y;YP{lrE(w~TyI(O&&u_lJZBfObJtXC)mqpyh&c*Njt4uFnhM&&$sq>AWe>cI=ZgRFwCl0o(KfLR*tvUixis0t zV7NQB^LC(q^*Q^U(B{~8223^Hxt!U%FZ3RYCN{=PM%fsurXBYmWo54Y?ebm3$XAHAA z1E*P6jhun-gBrD&HP=Bb4tcbOrpc{kb)$~kcyPq+l zni|X;8l>jv{QPtfv0lZJbMwrKapxsVQ5*`R{yc%3el(#2=6!k^G`%w@Hps z@*_SRk=k(X$@F>nlcIBi5C4{aEea*JPCmmJHH$qf$-b6L&7j}&KA1I8j&D#3ydJFg z!XjdBmvbNQo0bH!+Qbg_!^W^3juW4qD&$(QsFcvEu;c`d_F5yJS#5Y0dV=IkDpj$| zi^UFT7j+oY7T12wt7^js)jYKUdFD3a%YmHrv9CI2V_f0GT;yklJ?vebFL4L#LiHUShsmO8ofH;=R40mLXR-$Mu7*`IwQ2DCzCC2Z?xnZ)d z{u`AVQ}QLww0U!;dU;8!WO6ZMs08=poPr%JHmX8T48hl#T#e#S>`b0aTql0Z(aGJ; z=*hZc;`ga)@6ONE-u)%DGfetgjvsl7|1Yg@%XN+$jfRtYfVRom-6(py&bdbq8$;QL zhCiv!J~2(VJZf!a@~M7<`o#J(qo0Z` z#q=kaqt7lwH)5|jgT3Yq_L?)0H~78t?a@`v8NMSMb>&T{NCPiwB| zgzHV}O;S&IX9}AlbrJa8uA0wUN#jE@6uE*8CA~(A)hs1<12$~v<)?nbXZAEjJ8b%_ ztAIzE%i4>xx5ybt*04{!xZlCE7&EnjsE27$5Ay`gT|E>(nEhkv$t5jkKzG%JTr-Ai zCQ)m1N|4)`ct7f;>Cj2VU`yV4$?YsO^E;>LqPw&&u(n|@VGhGQbF$u^Hn%%sYwn;A zDaO;b1Ye5BsS64Zu*YHp-6oiI!+C-|B`;(Bhrs(n;C(uHpOSNo!wl9yfaM0)YL}zW z?geMm_NoZ zb|HGt$*hS7;pLy`ePvO5cJ6YXYk@~x1^Phl?1-*dK@Pi%;}%t<{P7y4#s{-5ma zczOqzVhjuoj2tZNSY$A=xD;7DirlorFGB_+i@}=spB%M|1iu1%&B$V~0Aw-vG_sgA zmUv_GS;k{CWo}s;|43PEJ&G(2c~&wkF|k41Z2aqe$IrQLw35ZQn(;suS3dr~OcsY7 zk;R4PNfLW+7oq17ci$_MH;w*kuS~u+Ba=0e$?=;Hl*#c~p}$mGg*0-5~H&o$g!jIH9EPuW@E^TUzFcV&O1EcU-H zviQ6Tr{e*!oqSjpheZ}A<6e=_VIpT4c+mW9Tx{xsQK6^MzK&kPtMuUjtB&en>m#2dBA=13s$P#l%}V60?5pNS$mb~X zIT!hyi+s*OKIb5xv$;N-`?HYGS;*%o@;Qopjv${S$Y;STmEA$sfs)S;{S>?INb=7= zK+gRi>wV=@yM}x&8pXc*U1+`>{JJB2fQ(Keqs`|68LifB@>`7k5uWjXzrI{7`m%Ku zGFtTIY^5(Bqx9u%eQ9ujzPv=~%ZdMGGCKQH>&w9$$9iRR@cpZYsV_hBk@~Wtaj(97 zLXT|jqc3|Iefjt3%h@FpmA-uCXQ(fC{9S!n)lW!H`G5NIhxFy_j6AOXAF40^>Jaqh zUn7tI8TxW|Mqkc8KodS#VKI;G9`f`<`+kyIW&u=~YvXR@~SX-{e^tIYz z9h?yRK?8Eh_)SZ-ouftNv-?|fTghN#RBrB9z1*ansT|+DU&rp;rS_ZecL^4J8?}eP z4Z#AXADSgj zOnVDoRD1%{U~C=u?3<5*b#BI|W?MlbwEP6OB@4_Dnzw$DaYOS}XMs;b^VQJ&sUKlO z13x>R9IodakA19MGtRBl+;gkQ?IE!mp1+yrcWALR&rkFG+B?aWD1Fnk#kKUKhJMu0j}-k# z(GQD$So9-8KO*!aOh1UzkD2ttlzvbbsTF_c)-UQt?FijH10d$iBI*Mkue+ggJyy3z zTU?i=$7UR4)|Ka0LVYt}aT&y(1$EU;z4aG|@*{ZzR`qqYQs3kw#737L5A$|iN7O-P~*BSUlv7Q!0UQ-yv z&@6J{jiK&us#$tn081ZX@g*#b~>M;$v(|0>P2R;E)R(t|R zl{$(%e?KQiOL&WGurah3Pwci^s6ASAJbO(gzk|(W-Ou|&74}h?-}07-P4*dCS3PYy z)}!$Mw(gj=Hq(9^XYn{|5nD>IACd3%=sgDah+dPpx{)`z^2s$48*y?5 zKONaHU(V*0SN(6$2YqZ=Dle%S*PTX%pZ=>o|2X{NN2?ed+nlUsFEp`r8L>rWnzys2 z+n<@SZE=q+b`hApdsF&gds8L*@iT$FN#UD2 zyZxQ>$x$Tsq-Xlro5mm)Wsi9^us5|pufA(2)q`*LtSj_2)|{-7%=(z!UYtWckLE(L zTLkteo(&B?vpuVGL12IC!8aubRL6Y1{Q!J(Nnn3U9bkV7@XbJ9dz3!wvOhcK#0se~ z+V^~ieik*#z$?qZD@TA=j;OZ4GcE8;6Fk!d&kTcShQTup@Js_dQ~Z0g#NNdJQsg?F9Q)!3wt!yYgio76$iA6m_LENX|dmo6BCY+8=)(x}^= zDeQ%7NXP%LO)Ad*aol>G;(cGBvH@()K10^DsG$UJ$;`4 zK5{aP{3*1X3R8QTx@)wFZ(i)77V?+iLvAKbxgPrB=b$T}w~`(2i;vWihlR{`t~B>KjOWmGsd^pOTzJc1r9pJ$Kc!F^P|;xYWPInUtJeXN;TcOl7}O-`1y~<{sTRV_BxQ^oOrE z#;oC*r@3Ymy5>&tdry*p+s*NotJH;}Q7Y zKPk3N{7x2yy+}BW9Ugg8&Ay@=K@Bu~aGJ&btDPn~C~F`8E*(8D&VImuN{2}wW^-JH4Y$SdLo-Dh~ij^Kqt=zAgUa%j8Bz{lvWg~pq2wyITFH09? zVs+rl7WlG-ez(Gxt)IY`E%0S4eAxcqB*Z7@u13cUBC@)djCeH6YN!G6RZBYY{}8#aor zt^E+b9KWA0wWRQ+#EdGwB-c}H8GI@JhDY2#Ue!6K_A&EK?cFea5WamBUVH{#B#(kQ zgBsoB#2}6@!{_ga-sF-iO@7BmFeLH*N-q?iT!H>uir!SFN8m{dp0v=PgfFAAC(<|J z%kd4RN8_UD=uSPfE!5&#DYuRn-Zy2p>;I~ci+s=@? z3f^6PoZ+r6BOjE=#E#xN^}f`p-`vE!z@w`tgxu9PgxsfULdME@A$R3HA>;XFA@}*G zL*jEQzO@JY=4NCe>v6w~6^8 zM|K(1S$Bum(7%IZR;dXVSj2uN@~RSfRds;8`V_M2D*;c$Px&aGh?RYnIKK*T$MeA* zFXLH1Kt5Hocix8nya+w|VO{O9C#S%j25H3Dz-!{an=Df`K(oLYW|+`vKXzzSPXYeL zKW&)iO_{3sL&;rhQR6j(A9^Z}e9!QMOdKs=~~ zz5j}F_(Mj}FNjULVi)6|s@udAP@^L1N3;rms>EkC5TA7~B?CWT%wVqThS3LfhN-Lg zZ?opsf*-yZ$@e3##laQherqRqRI8SFdwGF3hFm)7HRSVvcHmNi1;vv0g5Ba{D0?6I z6r3rm@X?1xVb+ykhSq(Bf}2Y0cY~&CLJR`4c~9Za^v#LTPoC}6@$574jsF_H@%Z4o zr{f#n7sv8k>Rpm&0b00U!#5rueD`#GWDj%`IUHgd}kHr)j!p3SMKd5$5Y6k`GELWZZNoC=H4+Y!QTYef{uOK6kd;oH>)$1 z*F!U<%fxR58~a3@%Pp_b(L3UDRz)9oO`haa2`InI>h-n#Q9h^$QA9L z!nw0YFG;aJiK`4^kdx#!-XQVWoZG7L|0NEk>{!@-5 zDqaS={2I9B>BE>Ouu1A0y63>R=T6n!7b2SRH2*)%|IhIMGyMN7|3AzB&rN0B4P)J% zA?r?GY+M1>xJzHG5r+$^u~`4S9-BT@TReRg*zr1jvHK=-6VVqZS*O*k)9Nc!eoTdL z{%l>RJ#`9tQzYA)nl6z1Hl7t{?mDzg9D!y}J%PB82(fd?h;fF=S}cO6j@R61IdTB` zuoC&O@_5atFK7K%vHmC0kID3-h39V87AMgMt4%QLB3-o=mE4MLtfe-!MqI&gzZQWG zCEQOxHTp?R+v4OE+QRe+)VwaHf2;$Odssu_k1MfaF~Pc%d@rju+%nxTMpTE~5qiiF zpRbX+Zk(*>J@^P4Jl_1j4E5_{GRtsw{OY1VUZ2KmDFk&j>x*Qoog z#1LwUVfS^w*Sr~7Z%h53_Go3d^NmV)GFjnF{!hkNmBH;ERO>@9THkyqj_oKSdy$j6 zKQ4MR*hF_sl9^VIk-)Ldwh_= zF~SDE>*zVq559+ntOMmYr*I%>$T|?-H%rr>yO^d(*2i{6e-2<^*mV-AjG z4}|u^p?%r;%)w>M0kjui|FYWx`p@n||LBM4|Ekd6hyLEo8ERgPlUv4Q=)ca+O`2*B zQo$VfH<2UE%CZu7F$azK>IHMK#+x})&4I7x;8y%iWez4DFbB%_-~0u1PZ`i3+M6F7 zK>Hy=d-H>a_z}=P{wT75?@3e1wD5fJrv6qUeE{9}X6SB0cN4l}3xxjUp@HtiIY9qD zKIO9!&exlLzvC(cF@qz{4}+EN1_S(n{U8qg_X$liXNTXhcf$V@GJHQTd?4SW z-vs#Gr{>{+_U@yH!S{zo_jI^lugnQ$5hKu7=9mv0NcWbK{dAx8(1++A%8DLD_dk9b zx*sTWCiay%AG9ZB4ytu&-_vA+lxy#XCmZQ(r zLd!-|mwZ^UQuO&>W$sYZuq`c~sBb;V zST!-vT~(E5te%|bu1@8B94_dtTEaE+xu!ACeX1qz0v+j8C29l7Xl zAA7yA`gqzbqRsL=V`XLD$Jy59457|mt0&TC6>Uz=HCCo_Kkj;W^%Aa`&ozy??#h{VfXdkTi67R9`PKcc333b*pS=2b+AN~Y@?5v2 zGSlvr3IhR00XJd&Y%T&fHbeea=5c+U-eh)j23$eT(>n5b5{GEhp42yLH>fvM7a}(Z zap%!(Qa{Q2Q=K7o>iu?Ndb?H-k6f=W{8Jq<&BXu8?_I>3-BllAJchq@J^fnEi?i1& z;3hkKYQ9g`oN3fbNKBK@p`gv_ecF5^)8_O(ZH9t2Z=Y`XZ@kR;?kQeBq)mJlRGYPZ z+N{mAS=*=0rc9f)ecI%#Fa2z&HT*Z%;rp}vmlhj7 z4txk-i!^JE_+h~aWWDtAezG-e3`@~Jxo?-|HklD)MJhrJf0X(MQSo((l||4OIVX&w zF9)?_n=gjc`s_(tN%h@7okykVYerT#%t)8XPSDk0* zVvjLAll2&C3cK{l9x#q`i;PdFwstkS{5Z!iTSv_u`tw)`vY~`AZ5CUq-ZL(n++Ird z&@cJ@?~Iik|0&5=5N53C%Aanmz4GMJwdnZtS!785+7S7Gz{OHoUde^n<~r%`7Wzwk z)CyjYA>+W}W5Zi|=b&$2rJq5&muiWRZuj`ZZMS!>>s$L7_oi~(d(9kUYfH9!Un<+( zT$$73hofvB@R7Z)PU~HZQzQDqmnG(vx!BH{1KVKDvDU~_@a9(P)z#`vp>CDq-hQQ) z9P`@>L{3Qjy?>=mj&Rn=^|HR<)x=8fyOP`k<0MakKIl)iI(Y^{^1IUoPY>x?C#w`@ zWRDa7peq7jq4mfV^61;Iq*QEw&~{3-?Y)wsZJtNl{&x0mFsebXq^L0`xd<-ToZZMD z)(h*%@Hd%jdoGo!v9v<{`{?uvUV3-uN-| zY-azr=lR2H+Jw(d_}qfevE_U^K0kB(b2Z#ZO0aG zM@qp;TC~KiTS|@cG`TOxdoe6cP8q99Y$DFY&D2;)9ch;rp&Nn+P3(X+7Z%gQ5Kj4DE>wCMguFqY!44#tuyOjIz!{(Cx_7}D zyL$7ocog&w^0H9>OY*XiFU3jNx^eCh-90B?chCK@Zj3&ax|VY_=eiBLcXt7~`)hRn zx}Cc7-h2E%p8wC$-O<m_f_gqfPOZH)dC|39z0Uw>CO&gqh8YR-hwy8Tn~=Ae5y*Pg?x zUbFk>hx}`>r@l5z9~MTRyJ@E8{c#ppGx{9u`TM@1J8#d{2aT_%X7@~Ll03_OztEH|Psran+tCdY=Ercx~YYe3v=7-c@^)+E;d8M1BMGtpVty zg5O`s9tNIIy`h>^H-pXI3^sc+*z8ZhW`DvuPV(Ao zlP_56o;0PIr?hpolWvJCf0TV~;l#8BVX$i>v2BfIHx-5Ph0r~#)WAPNYxsV*_(F-^ zcMGowXSHcYnLf=etG*fh?Pl<|o50_00)P7n_?tZM7U`?l-P$Lu-RtpOX}f*G+Pw{v zz=4;yUTxnwnl(59-|)}tiGBFAN$qiL63Tb2P|kVUEgm*&dlvp*FN$3|StGVgFFOeh z@NZMU#cyx7z^^#Vd*qq1hYbp=Jiyq&#E)Zt-!+AmNRDA?|4_z}IseY#o_E1v3&B|n z!CA@kd+ZV5um#|-1>mp+;IIYYuzCES$NzcwPLP}D;T-C7Vbj2`WDc~)25D0}LU579 z_9E=M^wG>izGJ^j=b6wSxzzE}DvV*| zSHb3K&!2=GO$Qi-c@K2eVorJ~d2*hX&*8)m?;VJ}7rX@eS_9D4@R^Gsug8_}9h(Eb zkBJFa@Y$f=MU8HpifyKb&eN+o8_fk%h!op*v!>^6(!C+bjQrPFe_7;{ zJd(A__v!ye{j%^td(F{->|67d%=@{S_l!(jQ-B;nHm)fM$-DPLcemW*+_Fh`=Dt_q z-?BlsFX7&48^|Ni=MCqOCmwmRdkDGHFA90<>kO|h3U*m-Chmyjvq$UhN!9q_gz&?e zP7X74(HGE*U*P&T-y^qmWPo>9m|XR1sNY0CL;r^Dlz!LlVV~f8-9SAtxS-hHKp&9h z9?y2J>*oF3%=_HTJM|mX?*$=wx6keF_AX(pUGy`5Lxs~lp4z@&M&^*iK6DA6zebKi z&a0AdtG1*!-z9n6qTc%9*q^|0-d#@)X^p(h%#ZL*T==H>4v$<dhhF6-w&U6-A@-+$Qg|KR6J`PHtHz0=@7P?;v@X!#kwms=cf-)^*Zgj{J!z> ze%P>%@Gj}E_80pzoFmoeJ0eo+af?T8&c5Sre`7s04U-X}UqI8(kmh~p-M(f0+y2n| zIJX`|mra*b6U3mlS6X*Z#V77;@|6Ald2o(ddZONl+6&?PSrgcQvqMgJre@#8K3@L} z`y>1_cQ5>tn{EG*ny-JIrQ3fzG4pU)-@IW zPuQ=&eWK>vFpHWe@_96M4kobIK22@SE~&3gE#>?S-%A~DEeAawa&`o{Mq5iV`o)eOH`)u->f17)D@_%?%-1!N5 z(%9oP|CXJ)U+}(euR%V|MK>|Z6LRubK5ol`F!-64b;Mn zL~Z1sQ~xw|vY@N+V`|~Szr-8a9&~lD=A4qB?Tts4T`Tey8HRqQz+t8ipl~S+E07ndCN0;+a zwvAlloE5dl4d!AHIE=VadNGw;li`aQr;?Q^=iJ!-!BJD?%!*y&1ubH>1C5(nf> zbf&g*_Ke_*Qft_e2szyYI<{XsjyR5F)JER+{x(5=i$|p0;8~wxUwZm+^|&{j@*=Rr zrTFxqcjQ>wLh2Bq+hRkW6}PJ@#Rp&aijcL$MPSp%A7N40HpwYtX{MJV-(a)ygG?CZ z=s87|=tI;oEt)8LP&lFGoq+yB9UXXt_#w|K3hD=@(QAkaNK9DEbHOx+*5a!hL7$n$ zTq1X$TBkXuZ{-YdIr-ux1WX__TsWNluHLy-<_u}(`OnRjsXAt&>S3Z|{ zXJ1#}r)ShhECBP4b=k>DSro)2xlP{hac(^waFm9ADyn z%T_**pJiX$=UJ=`u-~DqjbW^frW|O?9=G~U&HoyD$QJ4~r|Cbmb?U;pR{|{~dpYAH z%hULxLR+WyFT|=uzu~Qiww%wrm%qR}XE(_auHNf1?@@(mdM{%Kk>6ME?)F|D04+n% zGFsu^xSQHi+^c-n_`LoMg-!dN>!1<#skLc*!L2a6V%k{AMk-&Q)C+B|ZeqjeYMK|sF-$eKRp3=RY z@I6}MFS9M$EVFZR-k0kg^Fhu9!q2%q{5;f~oojk|=zAj1KYYLFgQZ^4H^E=Nr|it) z?{Z)p&0m!^oV+=DV(;vKH5zk2c?~R|ts70b|8v*CO{)ew>9^zL4Gwu}_>8sSwss>1#9oKTZ_Hx?8;SdIHTa}p1B*4`=aE`!hi8a8{YSdzQ_7t4gPG-v(Bs~;u~$M zGr!fdFC=w8_nwM`c8}?vQf>NkzK7p%7O`tO`uRPYJv&#e89SB7*&OUc?IrOpZ%&?R z=i(C;4!_@CnA^p@x~#)QZeF&m`NV`J7dYkw-HTLPvSxeE^!Okdb}hbB!#SgEQ#cB> z9u`ILzYisD{AK#OjT@9)`lr!v(yF_lRioQy16E2y7%pG zve$C2U3?94ZmDWl$*KLPAtAfI|Spo|i^v}Ixr7z(j8$RuQr$fLxBUuxHF zy!-L%HXgmgjui4cItkbI$}GW?E)`joycewZ2;}JzZdrAqF+%FPRTqHu7J&8UgZ1V! zhCE{wxp_xb=OPDk>3a@XX+MQkQ_EFki&OI;&%5N|>kGB!k~Za6aDK^Jsi)BTP0yqb zSzP%EO>f{gbgpwmo{R1u{GPm*_6{qLqZa{tr5=|z7t9r0EU~+Ta{@F=704MP#Mlli zPg=b_*4fsXpWJQe6UTZN)qy?UsC(Z+C*3|>*%SC2 z^0(iv+ZW*Hg6=PJ-~S=kh>iP#y8Slp>+cZzQ^rOS*eAqR;a!xdWv7^kodVn1#3J1(zmGhooP)$i)OsD=#0tAjY3i|Crn@3-x{p{E z#VIY>$?JWOjiwrs5#TagaO9$SD< zMYVz6j}J(7*r2|b_||ca6rQ2i+qXr#Xl3r_&1CHkx#QYOXLunG>d0H$$Y;Q=70R9|HgCiOY2hy$rz5$ z8omPVNv0Glr{6i)GY4VU{5IpbhI^l59IrEuzk;Q|&-1HIcc@PMc(vsY(;0UQ<8EWz zo4LLtB;(?L{B77jhv~#8wQzqM_iyI@4*0AHeCT&^PsWq;Tebe$H~xBkdo=4tZ|!Lc zdzZXPg2USj7AW6x$9j(Iz}|QM+7h34!(nVE%_8=Vv4B?#PUA)4=Q`qU3fnAqIOAWD z0+)-LQV-O|hMefXBka|Mu&46*t~Wy9B?`ARP6bB;r}XNh)Xym@U@tjB)&p}x{AWQX zH?-E_6_7JVBWK4e@b8Z6#g_}Lrd|(xuj=rVy6Yf+t{at2@j!pBI|4tcgZ;VSan-PIzO$*u#>~`z1+pP{_aaQ2J1}=NR_y!hn#%KRJm9uXD zHf${hb)2y)4_T?()a~`^siAtu521Aq@e$E%#(SjqE!NidAF?)6_@o53Up`|y^sp;n z+e@^o^SX2WWLZc0pi5HNCBgLh-MNLeg^e<>0dCfviOf0c%X=BRNt>^L+w`>gN`27g zhWh<&?wA&|xuJf4o85OEVE1&|uT^Js|D>v*-~BJjPs}Se@IhdH8RuQax|fbn|A=wk zu?qVgpX(TB_S9^fy38tP|2pufsn{(i-iu#Q8arl#?yXDXcZQz=c1vg16cs{!FGCRWJ$U~L=r{OdHZ zoP2j^9(xySVcv4$>C>$DInZG_?|I~Fu=KS9b&T>Gvk5|JeSWQ ze^&!Ojf{`DIMr|HK>zeX>(gL7UDt4ZH{3K7deQGD@6vD{S7&Y zJr+60|HR4V==_fylvrY9psFXQBg0r5!=R1elEc%oR*-?|5Ck=l2gpHWU>P!SI5Ke5 zPq-HuScVK7{yuUH`6IO!hUv(_Y76;|99)YW+`{#pTu&PZ$#?$e{w>_!$^ATYXigY8 zjStC7G8U7#UEXJzQj^UXo+C2Ma!<;M7|ty0lsf%6g8$A(hF=zT@*k9Ikb{ixB>KYm z$o;g_F3`eW0r*Q^GRx0@Uw0qMr!G3WQ694Gr$Db+5As_U^=9G!+b<2d56vJK5O%De zou~0TxzxFCK_P8Pj41YyHA&sMf%xxN$z!u;hVE>dq47E7@3~X=UP~JOTNmS7QKtKQ zzE6#!8TdaW1OEqp_xIi^z7ZksR<8TYdAk4B$jtq7xc*1nKS%TT&Q!niIppvCsqVcv zhieCF(yqVvX1QNq_~IPhyHyLR-?#mo&&iPYbFO>mD9!)NzpMNGQ}B}r|CK(lS7)89 zyT8c_Gq$ktXqM?V%`lDMWZ{Q2!*Z8pMcm~xn5)su?Iz}G9&@#ZxgD#=%K9@m$H6B% z@!hO9VvoH_jhlQUwnE|ssRv)kx7^Zt@&@G-4__aNJ@iC(Y}t^m z*oyJg465%kmeo^V{M`>?%ep>@tvL0A*kix?AU3MrGJcnjPV#QV_#JamChz&ooBGb2 zy=(Fv-z#}%F3Qw*@Wppc6|>+P`@H)6aQi%Ct35Y=ANWk=|C1qqM}}kvGQ@bij|>@j zpW$m~>&D|+AVc~sHjKxU85!~)@_R;x+y~DW!n1K?$eciitYN+HtU(4~k6gog-#JgW zUu7Lr-^`gXkN;Tj^J?@#ug<~83!atV_xxP^z0`Vl-uhDD_ayg^MTYFWLANiSqu~>! ze&;j(QOKo>=NM88P2K;ao0Y%V!i$k1@T~g%N5~La2S@Sjt4`6Kx4sy(TQ*O#zu6y~ zCURsRawNP^BX2<1eY7U*{w8d?kJp&)Lt)EpszH{7ks~$8k^b=FPUHx(M9C54M_Czs zh&&m!4E+>der!!fj>tQ_yG(sYj;Qa*ku@1PBJUzc)OX~_ny}Q0IY5qNX9sd*6LKWf zQDHRZYj(cKk^4eMV?Ccmjx6Rga-?45`hVc3f*cXub^+%Z@>{4m`2;y)j}ID9bn9vU+m6+lKOqI$L=Dg`pY6a z{`<1z_8wWHeZeXCD}D~x&m>;>v})uvx<#hOJoWDko3pjeIV5rWb@;`HIgcwc=(@#Gb3kW{>Oefi?z9kz2ixAL3GC9e-0bv_?e+2i+*ejLoXhd7cz#= z;ar?&xF^j)_j;doo&(RI6OKYBEPaqY<~j5Qbiz@8Rd~9=nHZgqbFt`xzvTKqAQ%1% zx$q8o(yGY;!dZVPXMJ@h{w4SSf&2f9``-b}$_q>EpI^hiDQ8b?lOFzWT${nilYjQ+ z!YlZiD2#mXJ+r~cHz~e5EyH(Z#Pz~=?x}*o>v|%*TJWW}gzxNBKKT+}(fPhrcu#mR zQ8Qise^dBR5mi$%Z2MY3E#IH5TSC!~z%3L5@Yml?|NPJxgT2Wh&HLC};$mM^RyjDS< zw5JUhPeFrTgR zbp_*Y9)EbxPOd-9XGiysTN`(H&u)J4@SdG4+W+kMxrg^`?U}=SHs`MW^L@tQJv;v7 z;XOMU+5hb3(+=<1$wv?U*@dj(IM_-LpKHSp@7c`{ANsTLd5$E_{m+gQPtj+6f9f@+ zJ#gsH*05)4eb!j=3y1gY_9XE)z| z=+9R3-RIfyBM$G`+AN;kh0i*BFZ)2*ZR{<`^D^uzn(`IybjjmNejwdXt%)c0E{RJ1 zAt!xLT=I}6wzr0z+WGOswd=sukoS@kW!_kg+#I}?uwMXL4eTvUeOv&Jg0;8pXvX9@Q}Z)?4p zBd!ID#Sf~1_}e~t$c&YfgE$t!U%_f6#u8f;u~Ec5@trtwL-2NE6}+>mh&GQWcUifr zX)SF_{HVYA5!J4Whmm%`FZbI*8qxbq6{9S91xi--Lr+@y#{SQzf6W+UGDoFgzH8NW z4b$Pz>C@j2>eO5PJkE0DK!nERjoK!8@0u?cn)cH0qwn99xj+9S?*DGz``t=(D0%+8 z7WI7ERr;G9Nip9)K)+qY8hV&{t!6BXw4mKIx%3Y1mv&>{c4_BBxefc~u~Ru2k9b&% z^?Q=MI?J_~{SrLelCSdB&4ib!kAUr>pO+1eFR>$S{k5hlaEDY?l{2|f)*^L`<$Jl~ zOlc%v+VQl*?Cz)XdxN zF&_=bs92%9ZL{az%GYh{vJc-&{wea+KN8&A`riI~;|m*BVRx=2MuIx2#64jvf~Lf= zXY}Hv$P(xhYS^fBcZdG&Am)nt+tr6u`xQJMUmE1pEannfg-)&ezg+?ra02pgjG8xp z)`Ob;v*WQ1GJmsEI(ok)^dKoE|T-mOHweYJLcP5b2ispLwxE_crNxTk;lkya@BU3TxsC&0wD=|Ds%bxfAM%ASnfKB#^TZxT{1^1g zZ7(*v0=b~&^1tMD&@}>4|~LcNUz2 z`7fW3ZPEmjsMh_|9CQVKTfT-EmX^3*gHAF4KeFDwCdYEmhxl&)b5qn<@8PX#?0ve} z=fO$f--niR21dTFXce8}uxphHT^P3!$bshVHse$}iFs=#N5!R?_aG++azf>!NB@E@ zx`nx(=a~3g^@b2u0WxtAkHIUd}vkINyDs-ef zHD^|992+QhUC}j=+e(kq_DcMtpBk$>=?S{hQTX4kMNbL--z~DjH~HV@(Qi`Q7h+Q*1Svd@Q>%`B<*d z>I*mGl?5Qr!Gj$>%bNbA2ilrYez3l!MC-H^NuOVWIjju9G;YG zx25!97IQrrxw#e{E6P}rU4EyfOAY{j3pJ4=$g7KP^E-?2|Qzq|674o{)dto`ie!TPtfn3MAiak&St{pLNNy!M-S zee&9G?&w+j?l9IqYu-+muy%^sQ;VQsG2dC!n|1t1U`WEPh;E=_ttUE=1Vp=018S|+A{VK8)GcVOrwWP+ zhibxP=f*|th(V>cl#A8c^FlXCK(UQt610|T6;RuHiy(TeMUjgT$nW!AvvWgGd%@rH zKF|BderC_inl)?I`mXQ&qDv0c!pRdRSfR-i+=2K@WWAyn77?=?Dze>Pocktgg?)PT zApgZq7vBfT(Zbs6Ze^cr>wfN6o=D73kLar`N; zj98P4z-hqs?2Usg;%DqoV2oYvgI@>`dxPwBE;fv4;5fSgMiJWRhWd~*r;ldc#q|%b z8wid&?pVbGcl`z#Z%e=6Cq}&w|1V;f*OH(6w`IgHhxF7RKg6Gg_+?)(S~!U{2~J{7 zkcG3h>V<`@NwCm%`*0r0(+l%hli=Q+7U#r;>4mI`6=F^L${MjI1A2u1_3r_%Nqn=! zVTX?6|G5%(tlN8cd^Q#>J^w9NZ`{G!grOx~JX-tpX&bkr5C1pB|9*)vNlaS%d#~U4 zx?NWfop&l;HR_LDWZ0-v#P$i0;L`@tykq71`F=RA(* zrH|lcbsokaN3LVP=jc9*eEC{mZ1gATcGa*ksac;wyLtA`PxaJY{C`zqh5rNJ$2+^l z3U|cieyHMsLlP(4aqS(s77t3l-n;1U7>%Xlo$t52m8uWwiQaooNxbt4v>E$uEwD|E zfYjN`G<(zQ(A*8g2Ah%kiOh5P#0i!QEp?`8^##mvd4cWzgxJiv6SewW=DB>&&h|X| zbgR1+dD-qm;GT-DdLlO~V!ck>Av~A$dMte;_E()d>7$`?23oJPR$O;C>}r!|RE|9- z5l`Jb9(u*IGtgJf<^M}(am25B&!33*+S3uoC%QU;ZDeR-hpB@=y}`u(+~de0ucrc= z<92W>`Gtb$%c$F-;v+W`d$AeVUO7Nu+Z{hJoqLdXsqvltZyzTz)*cm?T0m^1)LS?W ze7<3;mfG+O<~*TMvnyIS0eoUI@7VWJz6n|(svpZ7VY_*p2X||QIp7m>_fA*UHrTAy zOCFc<+-&P1)}*|N*kW=Lyu|#GtH@>EZ1SwR)zL@jMJiQ(o?p8p<<-DQ` z4Tlf2LmT0%B+tXYI?obo%bM@&1r4|OFEo5IFn}JSBG{3m#M@_D1lvtW)f+*!O?>ih zAK7Q*$B)|;E7)fh=r$@2BqG~-+atE&_h;q;ALsq+aQVe!L?5(=`SyJ2*P6_C@<8e= z=6b^~neXw)X_3iRgagH>q>6 zVPNC%u4y-lE+J7?b_#kU&B1PAc(no0>-N>GKU2qmnho{fBhg2@OPH(qi}ZT%k?5nX zpE5TKR_OKMBkC^ibU9BgsMQH!(20x4b|2(?-b|@ov_5Sj* zq4*#iusY)Nr=b(gz<-6kQpjFuo~Wmqk^iRcmAL#s;$HGAu)oAk;!gT{`Zz9qtVkb& z%8uerg6E~3HI91FJR|h`!o>bz{#66L{A;vsSvOyrxVZN+DQsAv1xIyQaubdAbvz}~x3cen8Do|Vv0>4)dbw{u>{eW~wT-aUqXPV<}S8$V2qSf{ltHs2JzpwQ!v z*xqZJKj8iw@(%C4^sU}czv@_?KK|?D>Uigj=2wWv+a_|d+rBS4V6fp#Wd00f{tRUP z2r@slEK0-3{9$DN5Hf#=__v@jS`Rv-O9KXRunsZB=mDZi4{)sVKXkzXZs-1fl<#<& z_4XSD(3X3fID+R2lK#X)P3S>Qlk4!d@;}M{q@MUm6ZQ_#)tOOrf8_oEmk>YX29RY- zg2V?k^pbdq`XD--+xC(pp&WS^ecj?pYToo=5ABd^zIq=zoVmW8_U)75zlbG~e0tZi z$M&JqMBmf@rE(R6rmpXrD0%qOu_V)2&-7YODkp}5cT7fq-ro0Q;#26;oh*II`+|Dv zwms;;iOZNwpY1Uex6>yv6zFygds+Z{=pJPwwd>IL9_ia22oe*K458#l}eB|u_c2U03Bu`0YuqXSuw@Xgl zLiC!ckFWOfVWZcSJd3Ga8;BViFV}qaShedSXcs{er}!!50;xTdEelu$KL0@(v@Xp-;`)Y2S<- zpz;sD#JsQ$>HNbFl7Cp`6HjpcP_xou0xRh}-Pd|~hta>Pyu;%wl@40v9UfmvJQjTt zlPSEY$~!y*xcf{@=0-1m5_@=i&PWB9r^;t4u(Q>J9W|e~F_+Be z+mnC+bo<0=$+sj9P4@mvZa~)8sOOrtgW5-0Adwxy#vg$15c`tc=jYv*yd{1w&+TFN zdhbBjSWa8!a^Mc>llVvGvXA^n7g^6-hIT}|>ePv={cO%^*0&q%NSvX-h``Rx;4EVK z9&C>@laXUCP$ajklUFNO60zdj~e0Pv|9646tN3YKDqgUtn(Ql(&Q0Kn1 z$F`-;v2)20W$~(Q*lEh;I>&&tlXH1a&ZQsx`pczXjsbZO{`%#-mv~ZWM{L#R5IB(M zST-{# zFvR}!*=Mg+@>WXZt@-~3dFv-%p}e(N^coFeC2v)GvOr?by8~U(Yb1B0*Qh0Ta)pV! z1+LvTAXT@G_S)CJ5?Sj3sll8ynd^Y;UGN`yoJe7?H<5=#I3+)gIr+&`=Vp$fcL^=HuK+;`Ok1pGownku*rw5 z6g}SjPP>g|p)WA5)4r_T#(hZaHm_h4Ja&4#t~L*q18}j*0hl2+8{`;dJ#qkk{O%wt zh<-t2w;(vMxuS>DToFkG_6|%H?!|XwEdGk{Z`10S8*~$<)&u?oTTRKpW2M*YI_{Q- zf}dbB@4*^mgKt=aWW?SO(o-AIpS_D-uOt}#mvub<7QNmV>re2L@{?mAB=g>~U0|Ml zAU2xzYahIeedgbx*ZbnJbiDIz_CYD zGR9+LLr0zUl8$=LwhVrp+gaEbus2x7uAMHvm9}xSR&SsKaV+efVto_}jd8Qj8t)jEVfa(;yo_xZerkyiI#7~fVQ=WTR_2SO{ENtc zZX?@lBVS6day}pjZ9?Ap?vGd#a+a3)qV?ZHA2s)T6Rd}PCa&qDi@ysr zhCO5Yj1)Gb6gHy^E#3a(cw~hS$%pKV)Z-)IR!(MZpfw9O>h<^txRv+_xX=>kcC8*C z0k?7=Ya_G;T6Fl@^y?8lX5YWh(s`%K6K**nzZ+toJRtj|Au9VsowMI%e-7CAfSpw#bc=Lwhd1PJNEE3uQjwIkSQTUHqclN_44r2L_4E>~dXvf61>aH0Zcv zl|MI?{vPY4N<+rpa9D;cYtiz7 zk9`3hO79tU?QOXRKX#0A{vN(p)H`?h-mu{}WZlUF{HDd4x37ImS>R2z=HgFOh2Eqn zjL!zN$;TdoXKc^4o*l1&1D&4WeqwcH6kzfB?_y+t(`iPBMo!^x{_8{NB+?Ra&9LcvY z&)9A6eQv&edza9h4ThpQS%%*-s@O*=?|4*v3)FdaI`{aV@q=6+vWhb!F0|1(%fLQ< z8+DQKFQ~kFpuP5LYK#R3l6M@L27N*(G|&x)nM2_N;osiCHvacdkKH$1A#}4!Yk9!< z#IaeIGac##fCqnv4&{&dd7O7AYw~G#zXSXX?7Lbz{SL&>VBt$g^*iWTlf^wk$Lf1j zUT9}SM~?Cid;izzg_}9h1uw_8-P0_`-R0rN{84!BY zWt}atRhihOZc=dyjr=#|nw!MORb7ie!?lRICh#Ctv02@OFZGM~xWB9=ZmsjX#CN#(HVaNj=LIbjdzUNU>E#J^RE>7N zhZq2KLm%DgmfttVt~h^;n>S5MTsbxax-=5GPxSfZ2QtyIqJ#N@9BACfH=F!G!`~tX zVsC6S#-0jqzR#@;wz|Gjr5A6nBiF8nbE!$r{`K4QXYkGs@Q1!kj}^5NZ*Veu z3*PQ`@OJCSSGKNP?h`xEN=*96eBWrpT{sZ_1NuxYkHq{7hq(`cZ!#w6sp{{MgN2-N z--LXn^R)#&@&+3A4V>Sw zL{I%-G&L3G>9(||4wLjL^_TeX_4!w7D#^3bw)KZzpMRa#+2_IEt3Ij8WTgK0SJaJo zP}PoT*)!{J&g0d5JM(io^D~#y@Q z`^P`VALllkiCllhW9z4=;+fr#^_Aqc6w+neeU|ZF?s>{9V1%HPpbK!sk^{L%aXhP#&z8l zn8>aA8+C#Il(=Jiz7--4p-6|P3<+=C3cT)vNAZiD=nJWEI~Z@i|Xa z`;7GwgFOPAOzW~ICi4A0Vv5)oQP~$-)QUt}-OCr~se}KexfduZ{Vd2erl6KKzVOC9{N zX8-Nivd?^}gS3BveZ;fg-U2sBpD(aC+WXwe{7SwswciG4?R$`vRDF5?t{lFtMr{n0tVI@hJP^arQ+& zf6M%9H>VaHpr1_YS!H3%f9UVd`UT`d1^#>8&;LwvA^{Hre)c!6>(&DP-}ke>xsizE zzWtN6cq%k4)S3#Svmvh2E^k67<8PI{f?xO;JM>F|>DKxX`^1O68Cwc+AT@@Koz$2@ zc7YGfy(8es|7GOCyd%JM?7cRCiJTj_}>it zZ!@GX?!(iuzkbL5%AX1SYXtT;1N++~wznrS6xb67O56msrvB5bbwVyO`_3CRa*`QR zhe+y**mu%~SdItDIi%uK+=nK?%Ml&!}0oj!|Cj^ z&GPzu!|Cj^Eus3vmW$197ygkg{9e-CEM&}U?!d;(H<2^UA%B>&Cd*K{f%3Pp?|1Xv zi^xebgt^E9r!3UC4~|&KcW-0Q@8-J~NnEF%m~#hwi=VlK7TehPqIUrMalh0==(yJJ z4xeLJC>;!QO&pBm7sYpU;2m;}{}tHk7>_|Lp`!N<8UOCNOcBRpF_-oo%zb(;?H~P7 z{&$;8$^T}5>ABp1KQQ0?4s*b`Qz?%4GdgEx`HXKdr{BsV24o@oW-GY(U2ySUaB+=~ z`x^J*EwYG{U`|(U1&_Q7F5e3-Z^nL_AQpQAupekekJ^eaQM_ew@FjOIyrLQOC(43> zR6RQCW^^i&-}N2-hk*B@5cwJ_$=4V%9J>-2&S5Plz=KU?EoWk5MxH+ndETbpcTpv4 znZsI6fQOsPTAJjX#8z9rhd6KSj{bLuN2>D^`|eNlTJDE;{Wd->pIgrlAD7wqxXi}K zWfndzv+!}bo##}IKQ9(eyHoPsxPd)wi9>a#BqH#?N2whuxo|}fYr(_Xfo<&n;65uD zY!x4q_V}Rom>}T~UE&dAtM0%?xQThZg1XB;;#-NgvEkuu;&0B>u`6DIjqyjm*xEaM zvGtpvi2((t^y^QA>IMUst&R;Gi{8*KC;zPhJ=_eOACveb}JYtKV=70G? zm$Bxhg`FAw1xl85j(>OXbKAJ%qA_N3nb<%ONOzCHma$@S&c zt>pO+4|#QvR8BJb1fO*D2|iJMcFReY?z3A?GOte$pMZ}fHV)Ws*|X^*#;rNjATz!N zzWWyVZaDaE_>1i6x4>l|0T-n{s|PxVyAnm$EzPXFYl$@JLiytZn(-rXI+}^^U^MTUYhQ6 zN|!!orTd)HrO(-3pUjydwMr%5rhUy|;vsspqRwb-X)Sv_m9a={#co^RP|lQI9i+oTfR*kU8AX;l70oX(2;eR&Wr0ve;&`wVC3VDKfB?H1)(M zE9KhlDlgO&{4R6OC!Yp#Wpagk*bnNkze zrJhBNcTW6nT=*FFi6>XPw6D2RWb1}Ms%ujFLS$=otz?rW@w}st*Hh+sVnQR9CnVBd_3mP9{?|sX_#`Jv8Kpv zlFC@_=^Kc*=et7Q9K?UCYEaZ>9QeW-6!r63sTXyyTfL~VK*T64jkd>Jk?Sm~;;o1$ za|+3qFFBF%Gj(j8+U@9yDs~}%e%1A(y8E#v<}~N3_%~`&q{@F!o)U0NQ~3dEQsA?V zA8VE=dZV0UWqa>h<4XCl*3Cmlks&p6nBRE^y48$Y7{CvuG-@p-4y6(vq(G0Vn3IY< zf3{RVwh15AO!i(Ddnp8*XR(hs>eQ!Y z-<(lOjoN!6Zdq?~lJX;Wf-$-@3~die-Cg#z(n%o`v8R{%MK2Z0Kb2U9F+uiS5cyPc z-A5ApnntmYl&^OB{qxyt2at&lu-Dk@;REcq1IQc)*mDQS(Vd?%%ZMWfry;9KOer~d zutEBc?Y{GJZ0tf-ZpmAmVp6*g`r=`{^@P*vCUhU>vOQ* z;bX>pJB4~Eb?#o-AEDG)+lVis_L|ScAB%mIj&lHZqU~`-vX87B@Ra#*_kDD4C~~a! zkrz+2ts~Y!{FBAUUd{3Bty|EuyeBXze!eZafh{7dS@`61Yj?xe?a=L)k5!GTZe#2| zzULX=8|a{+wGCfwjjU^$m-Ed}2z_*@;p7b0Gl|_Wj5GA0F|w3AviPZwB0uM7-H$vz zAH0FSwAAFfFLBezJGoAN7U*|0$=*aJCzlm*<_Fv;bUb42vofLM88i2}W^#|vNJY!R zIn2E&IOiXw>C6xMeWB%gz{7W?L64S~tdyJ{;1*NWz7skwbY0PL-J|103dhM9q^_3W zJ^4@mc<6g%P?EjDzMyE&IiknIPU*c4F9{tzF=o0Q>uN-fJJ0)jtIB}>8 zefQp1v)i|<5GXPgU(D~AUN9Xn6|9y0x zIli@>&XdEI}^8olG)2<$(>_y~SJ7A-q;~I3o zHV(Z%Q22fP8#BH?q5gDywdS2}7Y@LmG1|J5T4&h524wTiL96j=_}G32yTpHyL+20Z zBmO|lR5AJr-ZQmP<#uDwXDZrUv^1*loJrm`kN$477M;VGt|6z7(CHyMI*dQonW4M6)Qk-Lg}5?~6|LB}j-BkCy7d*&#d>)ODnw67y&{!|CN6dQ$SKXapFA`R z(7~wK>E?kQzRmbx8u(v|Ea8l;AXa(HfYcdVkmWLwXEVuDP;$&_L#lCCFz&4t#B?su zTC%BgPOOPjU#>C7*g4D6zWqChYZ*^{F?_QRn`bKzJ74gF&Us#P?0omT>JLN@OiW3r zeNJ0;C^=l^mg#o=gJ#ib95WyOu4C%<-Zz`yPMuNft>e9{J2Hdp57{s2{c)c$0)Meu z^ms>u`GP8Ne%MD1AmZ%EN%HhoRj>R@!~B4+5at8ekiFbX9?Z+Rz>C29A!?zv`|`KL zd&PSmyi>P1H5_;W%VfLx1zWpJ+Exg8iMZ>(Co2mDLCI;d|ffuGf_neeJ*VH16i z-yU_Z=APG2?STZfazt<4u@~aX|7)t~z^#7QLsuSEbj4bPjCVgW-nK`y)Pi55JH6LW zK4vp<_pkj9dU#{F-Uk^s&lsuaIU`GR;e&Ibi8;udIq=85k#~EeSGJ&$mUBjFFZB6+ zMW0{ug39;$qSEVc$-!P#N50CyncUwS8(tcMcMioyACG=4ttZRBn4BM1p$nf5PhD!( zllu->?jd=R3D+Y=GDz${d8z$@B1>##chnJIi*2+IwlMNaD8FetiA~kSHia+O@QbnW zU4@NrI=LgCGP#fLC5fKc#733G#&Z{PrPe)hx6!kmsE43@Rj~(#LO7c;Kumx3O z3kqQi61yQb@8Q^ii?9QaPSPhf!r|!fi)PYCBkzZIu+iPy@C#?^)D@YGt^7L1a64nz zNdJe~-SQ{%{B=BkJI`f0Hn zH4uAfR->|urm|)-ZtOO{!PjKTc;;Xs{}*Dbl>gXqev^e?zPir;g?i$F@%RQvj&A&v z@R#MC8J->ZbQcW^U2of^N&QC8 zrtaC(y*xj2B{wB~&h66Y+;pFFyYxwH$V232d}D5xK0o&Q{0Z&eew(=LKk<87PyI&u zF?%uOMvm?-CSOsA{NHCvjy;35bFgu-mcOH}PA9XV2cRxl^j}gPEdoSJ|^^ z(~r7yQ?PM8;N=cW&Bh)`EjwyaQCsR#?0=pO5WAq)=WAu1eZE%a^@**pqtE>>dwpUn z?C5jL>?2kb#ey<1XWer19R&);^zTu|5jkz2DZ-zwr>Vj@pE;1DR_&mx(*xt?bzsPvwpEp z;(A)HG+u>gZZ_D%A{!ecOM~dXg7C}e#q@wdU1sNW-9$ew_VKXb0)-Ezk|#Qu9NRs& zv6tH%-ItdOR>e0@ZF2(`^+@bk*~=pLea$pg*LZ{Ex|i5g>~Dc61M9V%sz7lKUlZ5cl_U{ea}9gx%65H)Z0Q%^G1CdZOA46jEEyGKYBYHV37T zab3ns-f9(3i|(C#O!%i>w{o8$?@+n+8{wg`e-{J}5{uhv6qFy7yqW49tm2fpmx z-?5uK;uAXF>5U)TF$WZq10}deDFJ%{N2d zdNg|VyUhl56!>xRL2kKj%gaW0_}K^iduHkQs-ds-OR8ZlU*EMm5ai6>_50W<0pp9qg3$0GKs9M2`Eu^DlSC(C_~*U5d3 zx66Hwm2yAi6fc(h9DgbIIj)ua95>4SfK&X6+~>GM?sMEH_c?~h1!DSnKRgV_b5A4| zC)Cd=1NM_o z$o`U_GlEb3q`xxS@b<&q*r4Lo{qXKMF0^iN5xKl!1B z#!9~ELSh>d@UQi}+f91-i}5HtMt+4hc!>Am5003N!Xn><)Y<_b_kq6jan|`W`2M)q z{$-u*S;Qijh5h8#jJU`z)_s@a7gwj|fVDnk6hMQ_b@5ceI&9^8+EUa4QTOW_S;Gd_ z41b@|wfJfeX)_wjGGl88XC?-KgGTtHMzP5}w#SjgZzE54hOAZMhT0H0o}-B!D>#-# zW9yeo%#4gfVmu;NjmS}#YBut=U9lbA4t#rg0GGLD;-9u361|+zQiGiEDmQ#Ru_5*F zfPp%ny_R2Kqn0YK19v^_OBM1<)`No{_Sxl)k}KS>&8=FhV4H%$gs(1S*D6^dWRQ2- zWsYO>*F>pDA#)OSWv?p^sH- z@D;>f$@e4s`H=m5$bQ6n;4hf2yOVb|u%m70&0H9=2dMcYa^ex&3arWaq>e=UxLPX1 z`@YP$u)*Tzl&vkBzdVZWbuX~ekr&*;zbkLcKB;38x5zu@QrEBMZjm=jt~ZL|^`o+e zy|p}eM=Q`oZI)7zb$of7dB$v9&3xg{w-ot|x+tnm`MIheQ>R{$>Zh-qd;hgl`95So z>OveLN4bne+Iq1($i3=$?dq8L3z~l3u{8aTv4_1QjvJ>MU;27!`rQra=iA>MANG0g zHrONHJe2>3JkvQ3+LX`E!`RW%rgI*Omwt90kgcVkj(H%5bjMgq1|4B6pQ+JfjATC8 zzpfv@vw-IJ{OQ{3!8F`h2tGrP?Zonya@5V55h53ue>TR3HTPEhY=y=G^QrR93J*!l ze5~XdZCT07$Y_I!{q4(sTHflKZ!zbC`~s^rt7OfzyBJ@<7_J9^S!%vwQ)sV^(*<@q z=WOhMs&DOporbZ@nNM(HVnA&gb^^n^`4B&Z4)|H{*?B7;?6vEFpWSkvhK0<-=S_S_ z^2SRor?aUE$Nz--f519I%_F)0`Eyz_<;Zi|*!VBa>Ca_O8)hACPSgIH?~~WHcdV$i zH+fro$MTQIFY{FVGRNSTd9j79)oET8`}%{Fz$} z9h(3S2Sbp%%W(+0 zo0FlX)&0;5T@tqET|*mxhCSjzp80v)o;nqIdU-Ulkg*jA-YV(QD{5-iy7W48OtU_+9EUqh#%r09!`Ot zZA~iI3nP*jbDZu@Dko+VJ#T+v-}YXsdwE^Siy6_`gOQ!7y_0nET9Stlp8VRqTI#m3 z#AJLXho#hY`b-W>$-k-Iv6Xdg?|Uox9;MG$y7aj>-RCRiop~|$5xYj8@{L}e%{>Y> ztgYZ08TZy?mp+r}K9il}+*|C8^OaXF&e%(7 za~^GeK<%zsUyOIC#n-tfWl!jax9>_`2hIiVvtom$_pJE=d`4Axjiq1{7!Bad9`yE5 z&6}z&;>0htUrc=az5V{eKeAuC?-P9WKC@36=CVK3K4HIj`(*1efVE?>C)m&Jd%0tu zO-k>xe|GOqIu?6kb$U-crS^otg1~{oqxf5SaG?DL-jVqCQUg6Uex9X%d)qMfD)F?) z`qU8^`=#I{316zq4DHaIC!`1H#E2Pc7!JjKTbcXo%9yon;GjlHQWym+t@zYDr1 z@jBFR#8;?5U}c5kzr=5cdVME+5v;h>pBFmp!Ai-ze=n?*oB{pzXfHSgI-YG&zpLJa z_TE}Y?WKwi8*6Ic4s!QyB%d2K{?Lp#Z9`|hMJxq{b{53Q2t-sX97(tWSer}`vUa7UjrX!F@z!KzQ_Z?{~*F7!FI zkM@6pp11e;C-96KCv>`FoP3+~`4aS;ym4~f-qqxdQ_=Hj(DI4=a?xuiy*|H}#76M8 z$}7t?Uuqw7@jYlS-z~XjQ|QK_h5CcEr>?IrwJk@tZ*3GhhTSP?C_gRmgGYNm0?+6f z#1ASw6B~VeMlAo-Ok&sIqe}7P68@-^_?5$HP|1hLTRFyXZ0p0Zt&haEJ`&qHrF5{l z_cBh`dtr0$X^hr;A}i*KekE@RuxXkt9*hR=M>h45hYsP~M%rvcCfO~y z&w)+GxHu&I5BQulgkO?44Sa-5c?WBT{P>m@J9)Ll&`53=+oFlfG0&+c=&WJER`8ir_?Q_iIRD67^i4mwHmhw?8 zuUOVCIg|B5&RnW=QSdA9GU(i-?^nW6D?@Z8#4AZW;Y}ismpqlKnmQ)&moR?)a*z70 z9rqf3msm1Yw^V=hqv{mvxl?NLsoXssV~CGZu*aAksY?p3#Ww0|Z}VMW2ffcTL0@6&4+8#6ZVv zJmJq&byJi6NKJ`6-|(C@f*e`q_s7@;PbmF@(m#U>Wbe~wL~8lEQp-0fI%Z%onZ(ZC zh#u8s-T4;uKnlNm^Z89xXLar1jM!Q~GT6>GD+hm){N?0Mma&ViFTJMT+N=W~M8F3T z@Ie@S5C$J0W9lL1GYCEif)4`Vg8+LyL-2ufdir~w;Ct5lGhOB_Hvba7>sO4e{k!5% zS|j>1-Z^~N`lEc;xB0H`f64FC23Z;X`QB^Pcd?g(&Isi10&0PwU&|W@tOuL1{rlNp zFSEZmj($h;jrV@fTo51I6MToC(QxoyK6r2Rso=XY3eUCUHly*rkkeQm za++46TjgZ39mQMNUNC-3J~7j~2g5n`deBUeFOeg=)9E8-7f^ z3vD(7U*}os+6x{7hmkWYcJflzx4d0v;OPrWl)m5_?fQa*R!i)f4iA$AzdZ#WWB-(7 ziB9!^Gct@#A-z8y|IGea?CpCuO*vIFDJrHD_BZ>y9^>3V!Hx@VuG@S@;Nz=gii?sQSj@r{tL*K$_9W~$U zVl(mbF_f5vhwG^6-%U2&WS}=Ys*YNFR$HdMN}t1^oxQQGJkni9t?U8~gZY-D>8O=0 zjQBh9f{D-CYSwTmYxop6L1(`##Xd>RU|ru2Y_ms7*(>+pXLdaC*x>D=G3+IYNx2ID zwCU(5OYw2LM;9879yK#jiEV47KP!=izHMY#G_Q7FoA|^Uqs$wu#@%hHIp`LutF*kv zeQn0+$yaN>&o|He_S06hL}QWq5K?Bo6T+(hi; za$m~7h<)|0RAGY)_!R9R&OPB92@hX&sAVDbeny1bM4v0T*n3yW zRpia*x?f~J6~8Zj`3l!F9?y|A)@n?~}URY8+;XnF`lZyApj%WEJCRU|y@+{XLR*O`aVZ}ZL2)O_NbA2M5^X~>T~gyx@$t(5ndQ74u*(x>=0Wr8F8L2vFG?srD`jYOqM>|mK;-8TdtnRh1} z)%*eLCi~W8-}>3Ne)cVSu#lJF1)yE{sg>%`F5MXojnwr(o+Y^io%0>+0Wwy1(FpqK zI>!y?x}TKc12c=UEN4$F4|R@3yGO=Cji^2U=z9f+@ctv)qGkV#F#F>#CUe)n6E3tk zbH==4FS@3d<7RLVHt!4T{Ine?d|2WEsp(LLpPXOnCguVY_yh=SPGBFk!=}JQ*hplJ z%mD`5TB@;M0~6h0Fg_9(IB1DK*Zjr-%I9rKqu)i>i>+!X?|?t>M_B)pKKC8bk;9Ju z4$YQ#&=+{tA10nzVEE|c_4drs#(PS-uTbZnnQ(+X)9?+}EP}5Xd>yuw`$q8HGt=O%Qz3_|vo;v=m>EVA}pRoo9ldKaP0p zbKcQYy(7E!MDHER8t)xV4|Kkx;d-9;F-Ckv{OHlk;88vN!WgsD&ks&N@1~!>ugmk( zc;??Q?+v+MZr&mq>KJ_F2=D@>r&kD>SvEGK1S$@hr5yrCwn;d>`&x5qp5bN3w}*}(&TrV z8Z+EIxwOT08TdK%U7PT00q4~xmE9vzP7YxoGFVg2aZa;2)M%bCl$x7iD!u-}EGi?){gaWDG!Wjnt~ z_DGcU>Y4h@WZF`vD|nNZ*x4NYOxyBw+v;9DytZ+k^F=<>t|Z;Ati4@{dZ*MJcFB7t z^%=;E-rH#!F*LCReNJ7nzfo_76Sr<<9tO#HnFH4L>MdEU_t&Un80G%)taGn~7W5nS z$>V8*4J8}?Li7@~TFl?*tx4bo^7%DjH(4chCpk9Ac^3W2c^3T)BG)uEk&=TFXAv)! zmnYvG=N%$lAv;?_k)EdkU5l@rN{dnlG`^byrW4Sv--ibFp?sl()nv1f2Wubug zYzfB~@Li_gcbc`rW{upy@}0tG#Z9Nygih{kOH?*On=exErCWHZ-yV=4L?qPxX}}sn{DVhOhfvVeZtxk*Ob(mhg@TAGS|It z4>cV3oSphO7yaTM>PGtXRDr-j34UC_bUA(yfkE)SKiki9eG?1GQ}-LQFMXW=tes%F z)X^}qHDeRsM}9!^Hy$EKsjsDvaj2yv@OI0gytmxIMe_U}H;^y%f;&_Q11=_2z>Gr6A;D_V-Ka&?Bt#l|zWL!HLtcT^6W zd1Xb3>@_~*zi-07;LmiombgCY$A{rKYSp6qy4y(WvCg#3q>=|}8hm2&og7=c{DRp0 zvJ2#UdHy?AdD%Dcfus-oF;Ynh$g?>BhtjQ3r|8{OANo697ZCV4|i z^^APympY{46X!#Yf!^!BMA;)Z7>)P)oW?4j(e#MVX<8?GVf4YZ@Z$k|Da&>7I>;*F;XQWiQkwwVK&EV!waUXo~2D#EP7*qk~zBytc$gaX4?hjh?a6JHF(wonv_XrV@RAlA+@i&X?$Yc%(565m zek!^6sRZy-8A=U_f}`t$n>2dq8UY9`)T)Gu3$5ryIXKOLu-b zS9gB#H2KDKd=&QJznLMaJ%c2NJIZ&auhoYF%=#;Reg`SFP7#8oFv^gjgBhXg0(pmfOlLz<)E0 zoZT3={m2~9Yw=SzMwFWPEwM)LArsv~E|=x4vB7JQA)i49LH>$B+?U=@+hRrcw#7zY z18i5J!_A@nBO=!vGM)&N^SKIKnIUzYIri5?mkr(kzWs-+u>WAja{27H+Y;6od2Gn!6rbDBmYJ2T#GE4snF*#DiT%i4_Q3ut#ko6|g}tsUlw1?jLE z*woim`Nq(V85@_-Zho7y@v%1N>Gf^s!-)6TN8A@S0c<;BPm;I<=jp$+85^Fb-3M*X zhSoOjQ7`3cjT$J##*y2UTJ3gXyyo^2I}q!+X@KTzh-%KJlQrXyqcw6tk_Yk*;?J^F zuGrL%-q0oX&G_SGn)AmCXmx<_;Xj!tV&v~G(e3}el4lO+#_#{a{pU5~`42SXxmFFo7tQ`5 zbDhnc5>IAd-%qozznszyefM&wR;hKHuOc=;%dROoB5%K&;JOU*K~Bj z9}#c5RB#tM19U6OXR723U>UvCoR`q?EE7C+_+DrkU~YmJA-AKSxHQqvi*B^1(64zd z12W{^&xD7z16$OdmVNAu%fs%3jp*F3Q5^cuO=2~o8x5<2X zF-<@5iQhf?-%03y(FOCZVh>aJ=eE80m6sF49bC)1_vKB^VNA){uIMlGmCa%uJiw#W zHh}hluWsD}ev znt6PRd3-U%T=8E2DV}~WK8yC)8JFjC3_0YH!X6aH9)zuN`6=k@Pl**hb4qOV%hW^H zc~1B-?1=Cu$TZo`aBR~f^&ZgEEc8QJ=!Y`V4`resilQHiq94jI&d@WQGfE@yHa!&| zhpgc70NSra2gf&;aPJVhQFydc@YX%7{qf`?HI*H+MpO2$-j<1+0{uy!pO6Tdxi!d7 z=yw+j-ywXDhbtR?;;clDul0)`z3@PW_>;N#l3A~iC-Ilh7_rEE+OkMkk7azSEz5Wn z++L|$TPuk-3+b`wtJ<>Yr&=tNHko~inMm?{l6xk;XGuM#g^gv}r@ol}o^P2Budo%} z-PR=a5=|qP#j{!Kv{(=N?eU)GPAE6riM)4GK>X$OnEzAXGXHzNnE9%2nfa{Gofz=p zQ^&dnjF@koZ<+5|U(BFi<5izKf%i`2y%TxwB;Fh1dgxVOEc~o*S@;p2;k^^tHxqbo zfM)}b_+ml&4L%F6cAoh0`IL{N$B&gVM<(kIePAD4sr*q2fj#V;>Aj)mIiAJZLif?_ z0VitBb=@cHCbVDL*IcCRnV+y`@33b5ShIetSwGgSKl<#x=(GEx&+dypyD$3eJnjqc zM=sc<d5V7@Ow+~|5{Bh$EUKf>tcg#GmI662H#)^d*hh1|660P3)u9@dP} zRbt~ck)NifqKk-4{HbAw7h&7@h#DFTbZidzFyd1%mUSLG1e`fSa6bG-<7av2u@h)h zOq;35B{Shi$~$;x&-TAf(FaT7t$ql-DE@}-786@!?gpMRp(nM}C_vvmKNI_-4ju_1 zAFRR#@@tN!vVpKBe(_ZoJBZjoY;%Qf&rIqm{KO?DOXc6G{#86x{Wxo0eL&$CS>II( z_8;nRqMH#tYw}=Q>c_RZ0p5~YXDtt8?z3{>2{Qd!Y9{=_Zr*WvDS6XN^+dLr>sCT1 zGQXzyQSjb}Ms4*Wxi9Tin=G>zc}d&Ye}0#}T65DuY%nE1acUz6@j*C z$J6F)+9WjN?3>g46nW*3>mfCpbvx0*Z-b)$cH(9&b@q78+O(_9ITPCCyaey?TRnC2 z9mw@Yz|OiUZXen}EPpAv4PG~_EB?pezu#U6KXzf3W?gY6*Z&7zWE1bXLbDe(jv;US zp~T&E*VmRNj<9Qq5}+$?kgT9#=oL}$c1TJARXyOu>g=@hjcZ^l21 z8~`$x)S{QUf(O{i9yePCngiS{WN)qk>ptZ}(9a~k;YD!7YIyDHAhv(m|Ik+C{pP;N zU18m5gccw#8clsw+*}HN*4Q{qcQ%gX{xD=N>_BOs7U5m(8>wr)@qW#D8n|z+qV4_g zw~VJ{GCb-d$o}iN51o8^9rJJK@Ly`qQ-5c!H{pM~=~>O#@GNbyI|?8BgV%NAx%c2h zKjl8hO`noa0Kb$6;49xhpL_%-=~iFz+g$%C?fSy2hT(C;n(=I3$vZ&3k?VEi`C*## z{787yVcZ`{O^~S60MVt6j{RTMg?au`&H2N5n)Cbf;9)P78amYPSg$(`KhTWESv>m# z&3Sf~Ms1CD9~<^rE&thPQ&(WmU&?;ESaRYLD}v0DuftdHE7FOJjSq!3V6%R-EtVBI z1pWvgZEo$U==qwN(=Kz{F24$IW&fRAtBv&fG+HFN81Sl2PP_=t7N3R9OI zac)yLGPlpZ$Gmiz+rD9sXJ=khHzG&>tcTCu_J3&8mo*4?pIh=qIKO93yUeZoV21GV zy3~0|z5jhRx5i;}Yya&r-T4D^+R$Zgf10Ue3aOhSbxu@Gr0XwdZZF24i}^kAtspWR z^%TGdqsquxSO!nD6dDCxJcD0;88IyazZatuS_*CKnJxGcSjQh~Wj9Toz_M6 z+K%kCy~)D~+Y`WEmdFqIXl+uui*~&Mc`&rpv`)3~N_;f9#aOWAw$kaP93aDQ-f;gZR*lX-kU+UIdiPzkG%y@Qide8y3ozvin zZ5oP?wmxm_MM4 z9Duw+4fhQGZz0aKQL}E#(4u@#46 z3&qAc4}K|0p6(oU5WfQdXPs{}o?|$Tml#IVaKmZ3#xR<1F@(O0-MOo7%vcBQYP*6(GXE!@TJR)%+X9bo zBTt~@3G#f*8hna()5I5|wauQB)Y<2Lr>K-XPda=UZ5PP9Bboz_v9eg(Z^1`UqfB^; zmR`|4)*}4xcC!cJ?HqFE;8&6BIu82h*&^qg==1;As9kVK?zQ*T{ycVm_`6K<9RNR9 z3UAl&iBp>iZ@1ucc)P2=O5V;C-p=?IyxScg9*Ms*I{7=@_-FV#_`Npjp<+|YGCs@S z!E*|K*Qb-e6W%UC{HKf01a>LECHx&SQo^?a{U$u|hzNNDst;i=Xp60S1piIs@3qg8 zC+XD=exxNkt4{b6kp5`{iD~f-*;$Mh~^Zf7g(5Ips!_PUjw_dk`71U@6KA`NF*r`%`>h#21a8mFE z^wf-j90l%{l}0M?Iy%~b(oe&OdGrJt!@NDnxId#;5&YHeN0+!4+Ja5SX!PTcQDQ8c z@9&)m)JDYaPOgJYr?xDUTA29V;xmx;i-7+VzuQdYpAh&wQ}9zFx7LrJmYJ9zfJRrD z_-X~fe}VRA`0p2cwpA{EQs5<1%S`k`_hDA~YqG^xs^N9H#`=oC7ycMk(0j4ZRCV}c zFh1fQOFSIAb3c2h#PEFRi|>>%V7C&#;Am`>KZ|b?Utw}kl=Wf!*yhUmazBgvS+P~m zWXIOLoX!1y-0#Qz{@m}+{cP@MbH5k&d&MftdI2j()P*osu_5-!0~ezKd|zOr27i9^ z1Gj!|o~(be)@pq(Xzv)H)AGg`tpQip@fSPzW zOo^?ZGbOevdUsvvQ!ak*1EJ9aq0s}OAA`6bfZy!HbJ$hn z81U2HPkWR08NAdH?U66j<{8?&gDvfoqv}-LMeqZxRcwv)O&ocn zpXUbi9C74F?VC9ArgLa>4Sf?wuJ|_6kE^l=Sya^w@;b0 z50svu_$>8I$qaOWeXN|*vB&(7dbq!eqSPiZC;3m#x-3PPogIV{%tozW|+7FIC<|}2)V&{IK&1tO0KK3Yfw8x1H zIPzM>e$IR}_Mz@%luEVGUl~1=SE9z#tw`8X2OeNM?Mf6t`BAZ z4Mj#8imu>9=JrH%1t%t2i>X~J>kmy&qR)*ho!VWAPy`#$DEt;@Q^$2hyvD=v_k#C{ zGv_C5)wTF9T6|_}{SXZu>T1^6Tx>ueow_7zi!Vog5?#(yC$Se#VlSQ?8~)MB&Kmp_ zpGbl;(3KB=s*m$%(r{KZq7xc33_1EF#(GksH+4GmFT&n&G5O@ex*KUU5-+Q3@mPK- z`7rccz9U!VV68q6*>6mau>zfp=yFG_^6=p&i!}SdRJ~s1rZOWkKJcW#Ja~6?FNVjt zxf6VmTW@Mt@*g^~x_5o!v+(U^5%{fl{qECfvsr2!AS-99xFmE}+17l*3Uyvs}`FK3GYW)lgKb6Ea)MOiU_l0ixdE{-An1MKB#wWyErvuL8 zQTBUuy763<;m$jsy*20N#FAf;?=8L8*}GmGl2&Zg&Yy0ZGqI%gG>Zw%2LTfge|D63c_lL{HmH zkhfNle`cE&E8VOuD{TZ;qB9uhbYm2Dn~e)O%cy?jL$p0KFpE(vG!}CH+g(hkxI>!^6B_+r|Oq0LpZjB(RveGwjVitnL)Deafie)Un?8)ILj%~P~_YnC(a zqgh?;2a|j?TkBh_R-oqV=t!77}{Jl+c~=qh zcHO1u5W4!_IAiajeJSmi(th<(+Z*Fvq|H;bd26KEBYkp!nwqgeBcp~d_g_V0fJV+z>rxy61f4Rz;Qwv{*k09q)7zL#l zp!fL>dY|u*TMZsda8e_&U7PW_+U7GFsVy!!PKw41BWIXA3{NR(w_~Y2}^lx^JA&{7dyrB}uG@|Opcvz!x$qc7){tTn(u^CPi^yVl$l+*YZ+B{Di__pTO8DEGq z8VArGoZoaZ?MENAz0q_TZ7!hA4Kwg@0uDNDjz`29O-rUbP4lN4&5uoYn%7T1T6?GI zFSL1{HXlqkHnvXxLY&bwfcDUs=96hZ`l#)V=F4bv0c~!W?rfYh{flu%=`d$h=}ECw z(1$h83$BMoJVp*}!5O8)JXk9!aOZ{nPNAOXR^SISLO;n}G>ROJv++Htiwh2MM(E!F z-o61moeaJ>xx1_joy}ha?wBh6Cw;&-;E<1UV<+$Sp-<@(I|ZI=gz!-43fRl+Eq^Rj zY(itqcDX?D9}1t8+^X_;4Zrvsz+Fz_-d{m;8iv4c1&Dn!?XgMnhBZKEC2!a?J$1`{ z_$)RW@JQ4?#SiXJkq>XoFUii!mHpUsz1olDPjmy~@1UP{trpb0d*wfrcq@E&*>n1- z4spNOux0=G(KQ4mU$xqA(MBK7k~dQJT--?adu^9zPdn1H?eDXK`ZrZAPI5~+_2ukG z!3*W&Kd;yA`W>2G`7XYD8#TLdqv(1yyPiC%xj`?7JTB94|;}qQ^xp^|l=P&%=O!(_8_%>+8QsPQVEo(t<`YSyzmcNu-*3s`n zFTQWoMK6O_yNqiW!q;91e|{nS`GxH~Moqrhdm7G8pWo{Fcxb!Yc@KEaUTIu;s?ZpZ z=EN^Co||){^W2i5&hH-^YCOMwDBsrJu8*`!KmYY~`-{8c+w{G@Jd>5a|6TqE(``=b z^8Cp3{qMK|Fb^I#7{nL!E%v~}$dUMg7Bxek$kFZbzyBfq#e5TTs4b)| z^UchO8OfYwMlp4fmu6U*2is!9hhSG-+CNsbA}>7;XVo+)zp%@g!_yP<7q!#f(VcWR z{*q;`Lbok`*$q#?(`Uzi5`nK@rNx{_v9oEt(tQQ%J(;AB@OtU*iKp+$99Zf5r*^r2 zW_s-Bq=XMWOi!ZZ<->Ro^hw|o(eXWu4*xvz@RCQp%lFqb$T;Ia!k-}z7_pq;I`KOz z(%)509k>pDq7gXhX$(1EbEZZ#V;VBR(C5%qpvOQD;taty-tOZ(dMP@$r*4l8UVVG| zT@i2Xpey*?c<*e;R&*4;p81XfmotDx>MeJXP3~5{?akc#Z{{(|{+KHBmxhy|H)q;6 zx&FQMH8pSE^^$M!+~us(<-qzC!1@*Re-Yns5wLy{uzpdEDf&V4G9?@2*0s-z8f$tz zzMj`leBjUjGkX~Qsg6z-*~7z!L(<1(_~0=Qi-7GCU~Fl`yRNNPvfiMJF15&^YGv-e zv%WvyR{o9h_HRr9e-`y`)BOx`Gvk3}J)aC(=H=+^&Id0J(!F~P1M_Bz4}IhJmi2!! zxNP*Vv6Xxc|H}ye$R)n?^8=Rkelo){pNzQXqu|97D?N_>M$V%Hot)^9#;~U2_#4Py-XlYeyc32s% zo(Mbz(({)y;o_Od3F&)kO?)wU(eyfN{nF36v>$Dm^}{!~@S|jU<~uy~-R@^djWsfY z{wDR&KC_qp`F{P(KHB?wX+PA-`sn*sqS)8_J1w41zoQjfiTg+Q(Y~XX_J#C6wU73P zdug9X|JV1?{zGGA{1&@B{#|&}TU;EvA{2UHwbEChCqN&EZf@fhqNlsS32?4AUU6Y) z(|H$$)?6`-y+p5%ZjrjYA!J~Fqsy18E?2LM!jf*U#{4`*E}2uExkPp`1iPd?HS>i@e+5>Ti%9OP`JT; zmY1e4e`fq8@c1QMkK=kA*AevBpZ?`4{f`L6ZXYc=a`)YlUw|g3Y?HAMCDyztao%Y9 z|DxdJRR0n8yOBNgaS`iy5$ib3u82>w{LIr|@THzKhq)9phbq2*Chz3%eXenA`f}Ba zcot#JBi!r9Gr3|Lk*j`zT^_%H{x78e3se0=x4Y9c+6|zOv$z(A);)X{b3Hq>>5A&q zc)yxnclY=5tGoZs`&#;UXyfgZL+h@X%J;MA?;QFYOn>Ll-#MWl^0#L3`JvkL&S#A0 zhZb)-zw5bUjZSVT)u1QZukH20{@~vJ;NAg7^Wp)WcBkfGA^Hlh@z~-5D^QPau^QYt zU4viIl7R=|wOWvE14h(yIlO6oDkhpdF3YFGKS7IL65Wk~h9XsNzwZgM+&F(Q+B@7p2}Wa^IhezDoGC&i5}-c(C`%3zX6#W{o>t1vn_ZN%a=c>;cjJDUSK@2_|#A=czQtszgBoLH`hw*!{EfCXfQhm zdU%TH$*pSaIJYHqXGuLY8+|A7QC8yP4&h0Xx6Rd~8QB@pALDmJ{Xy}OWWE0AETI-& zMxrBmZUP&Uj$f&{F=^g7F}eS7^l7W`NnRx~Kyli~(!s|viOg=zO^^d+7VH0DME1Zg zPkch${2^<_be^wgF3UabcbbRj?-PlY!A5YT%le#+{Cj}CJVoh>efL2F$v-N3VK;A9 zt0nrg>mOA53TryLAiRTka*k@y7n$95XDC+OL-rdItDcMoo5Ehp&xIg``|Gy8>>K6J!N zeB|!KtGmy-J$6s^@zK_q5 zm!Vo~mm1fJtb+}^6d&|WbnJ)ZnKQQ>JG6PgnVZnsYs~}V_k(TufYBTr!(NOA$Ba?= zI|B9H^LHrtlKdS3_PHKjEWlZ*#~$Nz^LJ3+It6#B{2hU#`8!;A8p(GKbB@PGec3t2 zW5EiUd*^u-c+T$Syn52-wR4?zx%o;y|9KT3VD_LYoOmRH-I};f^CN4;tn?Z6wl9z~ zN_`*qj2=FEMk7Ux`JnyS;)>`3>=|{bGb;RrI-`;M)fs*3LFCmUYFltd_t$rby#tyz zmNQxb{yLty9?$<{oUAp}{xrSpv(BEG$pCv6xLo3QIpg)@Be|S>B=zJYnG3%b=p!Eq z-`=P8^iA*>>lv&OoeTJ%obmfQus2p()1NS$;wvR@8ZuqvWbkqS=uLBhiP%Z@6Tvfq zgEJY|RQSydqjmAQA?l2yvpE;MLVh~p3oF<9qxD%C%)2^;Ge2a!jFCUljjR1^@wq%& zguKX&8SJUg+Wr+__>&Io%kZkuZK=^z_pIjleaN!>#_uEQ@sT&8UJq^BhMXS2jwn}b zcI(t{&6*#8mTv?9`LJ0K6A|!h?fC}}t2JT_@-4pt`u`Ji((@tiVVcyE7Jopm z(zA;%XXzZj*aBEf_-o)?>F|dR7W<_)wZ;RDux^55vZ6sF!`gN(-~TJ?480+a zw|mZZ@TF-=ojb4WflWPnWP5x!u!C%<_c-$dMrh4%usytvPYCnDUTSQ_uDY=ve(g8x z!|U*C9`Br3MabDm-Z3nQqLq#{cSfq+yNHgMJlwI-~b@mS3Fm z4ZDPI6MGW3j>^c3#~yswe1#P$ax)}##;)0 zE>bZKZ-Kvtw-;WHtvGn0$`{qV82t-v6RqShNRKnpN?+6HYiLUM@(uJ5%KrnN@Z0G0 zu{oks>*Bw`{cgH`!bxk4)_d{2SU~Rn2k__L*mn-?)}6GWzFym#_>3M(<;QI8)91l% zEu=lMtZidxU)g7SqwO-eX!9n%X!x+MK&QBOZ?`;jX`56MJAlzvNc#-hkD+~Ks^9MI#WrSaA&z0o z6xv*ef7>m6#$~(ljkI4M#HNAWQQ03|-Li#`6!r1Y9l(>F-Fmg)MSE=A)9zV)on>CF z8RX2g$#vGAzxrw`P%3;U`UL%Z?7iOsR^SD%PvOfvc&6{!<#A;1X5w}BPm+3PQEgR$ z;AQNkg?71q2Qte%U|}Bp8O zb8|y>dE8IGe)4h5RQv%vLiFZGW<~!rof@yuj|}}BgL-LFJI$yWL*CxXzVQ}y*^HV6 z#LYcGe8EO=d7_Wlx}CInhBj{!H*u&>yyE)4V;7-boL!Sa`!TeyO!dp&biqT(SsQ3` z8EvM}<~m}dZ|M~eIZHfRIB;d;C_chQIw78&G|xA}8>Sdi*Q(P#g%2FE8usnr6%Kl2 zc!i8`Vu}HrT?w3Bna1&{eaI4+6~EF@*|s$7e%i;ZRQYT5!v_mmfGpB>0yvoj&3)P$ z?*m_=cW!$SeE3-3YufgE+B{2}x4@YnefFBR7STRH`x9sn|F8C{mo;s>oHpms=6dk( zt-Y>k*R|w4WhKogBG~VO;SH0GWTLvyH4P^w|M%8X+45T+gx~d92C{_01Mqp3jXvPI z2t41mWl-|fOa4y2;0}<-}fje3w;rSaP_#f!W@&}YHE!m6> ztL_y~a{VjtvgkVY|D3o?>}_@1u(NGbZNg*0Y1rGupGo**#{=xO4d8r8?8tG@?9=>9x*e7zHY#}z`nMeEFCu7TRX!9g(UWcZ>e@vPx`)X_%Kzk4EkE8wReYUr^e33S1 z(dKLTn18#^oCV@ruJX&K>GT87gQI4k8+769zXeY;`p;sj5Grm!Nd_vs32fsI-2;x_}m>eSKGtVo5Hl{oF)*kUy3eRiqC z6&b^$VyArDCH}&1jK!XcZCCI|IKkeI-7jr8|9hxkzn$DmQ_0!$KXflQz73B2;}xNw zK7Up8Uh^d6s*|jQskOhm3Oz%%)_!<8@dH1(pB$plyu0=2Tdh6^-Ya@dvwI~jX?AW) zu>l{z+PZvqi}F`PHx>ML_j|FR$ZWz#0L#ipuABVw!?dk05fFUbP@-}b*F)nnhG?DqlJEjTrPVZc40y>nklfz-HPJ-+|2BpxQ*pjS3!c--Rd9z3%-MVguqq-pw&4 z=(*sRT)xwv?~q?x^lH3Q?dmlxa@8V-iaqVK^^~Ib6kX-Vb9LcEkX@KdGk%Z{5}&R2 zcWOU?k4)@ucuCRwkFbU3M(^}`+JBHm&ViJ^sXlO2FNc1V^*;m;9IzR$=tgCZ_=Bc$ z%>e}DNw`4RPyANrCv{wwl> z;JVO8&hVz^Imer>5||b^7aktnqWBliw$}%5{2Vm@<}_c{=~u33ek2n0W)sU3&*lsS z!`Z8J&Tx+CYpm?-Pn7=On?2B|Mt_!J9xXZZ}@|n%V~2feWMfo ztiG|?qmM<_KyUW@^c0!iC>txq<={8CysPb&b9(LQ^wUIH72Up~Vn;#{{_fb!H{YGNF9*U5AERvkR5#Huz zJ-qQbmv7mK&uQH|p74fuJXXe`j_}RTP-l&r%Rc0&%Dt&Jz*pI{oM=9=LOyt$`OwP5 z27G(=!!NCdX41F04gP5({5ky768Xlhdh&^L(KE-i-V zpS#OHH{UEcEwu4@S6@VYMtYAr<+@yj=V$$oo%`jxY@EXP8Sv)9`_7I}%@CE!PFD+MKrXeP=Rocs)@Q1zB!GPB^UhcJCRFtZx>fW%rH_bSQ(_bf!52A6lY9(ia&Pff;q|Tf zCAYXW;VU1(|MV5npHfHT5%LPGEu=qiN4B}4o8MOF_|`CvtWd@y)Q;B!P3j6?lKIHM zrpznzoJG{cshTqy{#){&B5UY5=4eZ6iiKcBPmEwQzy{7L>sd$-!x zScTZTqp>XV%3`lu{*9D8Byy9kH>fs|GUOX__Qk2U@gR9VKbjX_H^{ATY}qvE!xVBgsM4X_F`Ks~NrXR&wWIQTM5V_>ySULDO$D#`-}`O3#oq-vJ)m;o{qyAW7R9%r zkNn%^bLE@76kpPc9x}Q+|Btz!`MG11z+K@4F*)VSwWN1VB>AV6?1i5Hsd%Q+#{AhW zUwuLOW#CV*u4RomvtPQaUi?}cN(5)ezAJDx`=zfo+vsgrUn{MbiQcnHo4sq;e=47b zUB7;P_O7qK$#?RE2Wrq1E%+UN1%*~7JQaUD8x3y7zqK~g^`(m~p}$e-`*sDfW@E8Q zjV0cUT4&?~Wlf(3HxhSVPD}|gBD{YB?M_7Bdm{SYlkC$aF63!&aG4pZ96^4Um+@uz z6LBFQ;CHzaJiQKEn3sH41JUzdOsxJr_)5&Ajtwy*Wh*m6V=m@@;zdqanUSI~ETlak|vucvt*m6fSeyw{}^-)`C4ElbSOc_8#gW zpX*fxZ}8hcKkAq_8e>NZZ+zfx;f>u`*BE}&7eOPI(;qf%)nDvaZXc~zxP8=I?)EYH ztG)LT@!}gqoZrKGijLph;L5|-q<#L`DXOaYc#+ z-j#2TJEjfpm=a%d$K;#lj>&&X?_<(FPW6dyHa)LMlJ$O%oMhzfjHA0<7Ib{*(($j6 z+!WY9B_AWcLj0BLlKY2RSo|rUna#x8M06ET?BY^gpki~Y+PcK$g36S zOl?Jnu$vm$?_mdoj^pPoetMy@&8ZscqC-N@EVaxPpA!=}kTZt9SkIu34D!0_V|^Ve zmy5GAfj*i%@sf+>5Hj_fJE>Kg@NA%-s#E8qp6YL?r<&+erxaVLs#BU!`4QbZrQ6&( zrORoz2YkE-eI~U=oy(|$scMpvzv}(>yVO&q&u;ZppXsHZ>Q2=sxv#p{Q@u>aN&7F7 zYrM11`P5UDKD*R?{q~krpYxB7^E>2mvuw$kWrVN2mfTmD@<;9&RZms=Oi&-4aZaC<{XftSk+!-U$GJ6-^-a`4-@1{a^=Wv*o}cN_SUDnxowq968U$| ziqJNZDJ2e)JYbCBjaIk*Njzp9-K&Q@Pixk8 z&cF^+<@jy#a?kugYcj!gKJssDM@OB?@!RBiSqmBKv?hc1y-$;4D?!Y;Nz8ddZ_40V z=F?hJ<~l7DSjjV!JiQ70VNIjS_a`mnU#T_u=`({q;nzYMbO2Z}%5;gH$_9S=3BC$x z-d^wX{8fAiN(L?Z$OUX+`Y#98F6|Gw}O8f(&KUjr-AkPP{o?<`dHOb)t z+({geSMsWGtp%RBwhkOhK9Qm16B$ZAk)eIcSgrRAG1_W}*ljC^7+cm2=}Uey+Fqv3 z)3o{15PQo9L;BM59QBnMNP92sN6@~k&-QlP#k4t_HZzA9&)hVmFWq%#Tv6#}&MxP7 zOryts+?#1hZiOK0$5J{ba<4B&9h%5getV5J)}W0w*uolYVGZ)@I&;=`jUTn!Sc5IB z!4}rw8P=c=e;s2BYp{hic!o82hBYXd4~!lpzf?x=b#=F}23uHzXIO)0Sc5*=+gn(J zXIO)0W)88RWDOd?AE~;!g3lzsId%NBB(dx^IhyfL#6LAp{E1xKVJUE2wv{zuZ8!^( z$3y(XSRcRrJZltWjXKvSHsl!`uU#Tb)U;I~tU-wwVQQ}7q-3wKOL=Q^d0HhZaiaNslj z4D8AIwD-||6zwbeY;R1tgf=y_xdt8F&E0e8seGLHgkR&s|3dO{9zga0_muAThDL1l zCKKz>y{tqRjO@Mv#IrGhKZ!|BlmvVL|Kn4J?2F9up75C_anHydYq5R9x0$+MWMJ~Y zakfPFwVEq55#Rp?czh?(x>WQ!(l`1lKe)^1kbhNT$N4R|3_c`=4J+bRbh2YduitpgtJ_c1>W&xLK*?QF$4c|kmU{9UJaR0Utb5s=#}lmA1QR`l@CQ0F znTq9^WlIg+adD|5jqOTsEYB`dHm<)kWz>>Ow>HP2&bI{*?aJY?JCUtSqdbmp+)Czt zQ+6ol9%8;xs@W&>;Ht^Z--<5HAwWs0Ll?(^H{{a7< z_(0m^(I$^~i03~WAG~$&cq!Sg@@afFR-)6JNgZ1+G(<7hUfniJpTv5 zH#B_I%5}>qiw_V#K*w9#E!Hc%a3yQrBK4n)=$#|b8P&S6Ud>))v+3}Z*!F%Zy4A=L z@foKt>Z*xfLUk8AW{h=*7ggPjS2c-dqTVz{_Qv=kLvm!-&Eluo2(!Zd0o%pgAkwG&Fo zlTfuR58OtaIJFbdOOfj_(|8Pds%o>#%dPO`z=LIyhm`AxOmegYjn=ZvXpvmc&Wz^E z^b*4NI7_B$SbFQ`Woa;UEoa;(?PHe|IdCv7|dCv7^dCv7u^4w>%ejv}edILP? zIxxU-c}QSsbxU)+miPoU|RX*tm!Q55!f1mFYzInBwn+)Qp{fyxvY9c(y71@Y* zy>wk@H%4q0xpn8F_mg@E)xZe*%2F~>KnP|T^@GAR9y}ktT6Zpe(cAV|`)ViRA$+vb8KPP;| z#?JRd4{za&Ay=*WC1aNSI+BAZLN0YbIchZQ2-_pcgv1k3D|ACGzJ`iEWV{iBKH$IP zr1Gv=b+f?n@r-DGYd~t2q;h6}V;fVoO32eDa-FIX(nyUEeE{U+YV<|Cr}r<|F8Y|7 zN?>^aF+SvTZba^i3r-%;P$D@nB71?OAb?ete%ezg^-^@-0)(ZP=%3ZJ*8@^TQPvp)+T!8=!~H(8jSkcylZL?53Z!IrJak zJ6Xoqc$VN=>Mnur*P@%*3ftQ%gYz4a z51`ML$Ou)tJ@};YP4X!x@IhzokFI062YQ-xn9q}GqzjKF!>W@-;KLWj`>0PF7hX+Hx$u_o~WjLTwNmh{c~kC*sOa3*`Qb%5-J zOFvtl;(hj4Xs6~&;r1MO0=Y-u;QM_NV;p-Gnr*uESoPd4^x}T@K-Msa@AXTv)?M|a zmKj4AR70M-l|ESu@(MyjWG#Ln@_iBKx(NC)$QY*&vd6^>p&y0Nj{@Tiy#V@=5B_(Kkn_Gs3@{RTNx z4p|xdzJLFYS@2&Qz0MwgQ2K7t_RxPxuli-ju2;7MvmJj`Y2ucE$y{m=jKBOy1qlswvoEC$Lw(5VXpdqtx3HX>GeJK{t6;ENAaN#xYCI-g?g7b{U)3`tCt>K8tsn`u#gNOM{`Cd;FXwX|tDeA?+fb^m#ja zZsa*~ioTa~vt0|<)$KXAg{de~bJd)rwH8kmLT&=a55M^7M6Cze!Glwd0%6 z;}3bK+c}pU;`S=`bpPNt8Ffz@`&*gFjPUMG065~Ds{O3ahX?fGBQxrs9*6P|^`|4&3H~97-W1zVeHc0# zOz|UMKsK9VWikI?{W$xiz&LFFW324JDNg2QCA&&~er1PtWw8}T^>fhq8OV>sdQ~+- zTd9>bx0*V#%Z%s`O)sLn^}K%{?H(jX1Rsck`P8U9R=t#GY5#lLzeT^qG^zHNs{E#^rV#pJsh47J zA&%-9;;EiIK{uWnuVPb`jY#HEKrI7&yQQvc_zmh}S_bXUq5b95)w-T{$T=+bwl}U- z^Hz07-$1`DH8eZ*J_n#XqW1yc5)Y5=8NPJ0mwLutYZ3Vs%=gfFiB6e4zgzi6eTRG0 z5t4iO6{>qJbMRvUw`5XheHFe#_58n3i~e{O{8)gv#Y`QZlmF}af1w_Yts+hUpObQY zPAamX8;j%&pjTXrZelZfhphqVHqRxWuc9kFe@F|JJr2%&jx+QJY$DVZqo$Za?J&EI z+F@yVI3L=*qONN_Y0d+EwH?nsj!W%rE4DQBU97pRU#gxoZKl%Z>+H+-ju~U-!Z!7@ z+8Ey!_{=THJbl_Den*@Cpv`}>*B|y8y95u?SyxB-%a*N0Za@Y(N&FK|6F6{faqjwm zMXin0!?|}QaK;|Ew77&?4!{ktn4lg`rodo~{LH@qUI%eMo}+Y9?tWcjCBCe?Fh)Hb zbuTs@K3ifa0`S??DT-6Sh>Jz*ZHZdA2{ZlJKg#v&X$86@=o}>Z&D}a4QgP42X^r80nW1z z`}2+({MPp(`>%#~X~jN@4#G6O@B|jQ+LazRyce3z+K`Llgt3<}e%~e2odW!S{RgzM z70kg`5vB$;bK0wo&1Vk21N$7o6~65nc6)ea=5Vk03p0oOj8WFkfz)F0V$&Yu*6O`% zO6s~Gb)~M~b%i|7@W|Dg!aiSCh%Fp{0RN##_|O|_4sJcKH#O(d$<**ZNG|d%qCddS zTZioB^E$q}{m~n@4`wc-oJ)BhT=@@OH+(K7hNx#wB4895964Nc<;e4P^;WN4v)gM- ze$Q)9UgkBXGU;qtzR_YK}RHk+Z~R!>uq`DF9` z?EZ#b{hnde>^AJ0t%f~CM;=(~ZPFO0zSY~L^SvD1Xv%rd6Y9sf`}OB+&BaDv4$jd$ z;mp zh6y~9Cssp_AqVTepB$Dm-QMepqpII?K?{3^&j>qfeSh?tp3VS2NJn&k_Dg;fmFtd%ezb;j>E8IBWs$QzHoYE=Nz-?O975@1gIN zXI^rIb$w4uaBnEOTlT{{v|){s?S4#qY%S=;^7b3i+Es3DwQ_8!E6Tf!3*RJ{ro`+r z?;v9Ja*$_=qQ1<4J+8K}V5HQl$fO=|^>?jSbf&jg>jmZ98*lEh7A@2oo&yIgI)gmA zEoRt^O>}FKP4A{J{ZwwV#4jSkYoY@uOykM) zv=0n^B>YBrZZ&oFGXF?D4SeXUJHqEtkAOPi*77puGZXvJDtrf*LvIF}Dql)PZ6UF> z5zDMYAIm&r%6{=}quN_2d~Vd!jQ>~BI|I}3U2Eab7Xkk=+5uT2b9 zPMnCmHW7JkBJ$c7c>V>Re*s?a3;4`Ti28ivMOP!Wl|tB-g%*X7-T5EBQ{qsimb?~r z&>ve___Swj9yvCfv1VuQOVeDbmn>(2K0TducMxk2&|0lWelly-! z{3Lo6{M4a~QfoPU;6Z6aT}ArX+oq-4^6l}~wj$ocr+oTI%p?i}1>Dz3MBn~ z&KzTh!olU7$M~oeu32x9D}eJJ5j}yGC^}@7=V{4SVl$fa)OfHvY1ZOw^a${DK@B`k zyzi~e;B@xsq-7&QIq{M7PfqAH^uKka+po4ZRHb{O`|6M5n|b)qlTYmz)OHQz;q#8n z7trlZ^O#sg*6%Tq5;FgK3Z3NsB0k?d? zsM5axe}ASiK|j-;5T9V_`q_dr-2JK9Zs8-VbX1zsr%&T~2XqwOvyXG{H*<+^UbK2`#au%U)@Xlgl1GGjPQEl6^U87_5eN_esIt>c(nbV=&f5= zlUxsD7F?&x7{dN7kxFbKM7od|F?chn3_moKe>EvmiW`g zQ+UR?T6;>UbaN@crEYyGzf1XjI&%H#>@~Wg_$dt+DcjW)_Bl-4KuN)WF#gQU)r=Ee zN}T+hjRB*2S(rY!HikpU=0^3}FyGBEsyEAXu3P0f*WL1*>wEIthYh%l=Un@f-&3x` z$?qxG)5>`6HL54dbFS0mKGzxY+hbJEk@j5Ua-ZumX|EaQHW({O}-fuLjGwJn*0+dgffOtXv#QkLMU@t zRa0iXDil~dp()Tf!2sumvKp%l>Yz8NYupnGs^3PFd-aC0)o-&&UE}c0>bI{+UE{t` zKlR(+q^@y)NNbe*!5K~J8qWyn>UU<7y2dj@9`!rWq^|Km$WXttn&es$KiRI(Phng} zlUMqM7d0EJ;9=oQdo&Q&f>i2R&2=z1PT^WAWJuDOeLsWYOT&$?yNPdcyS?`&e( zT)rcI@=+Y2?Uue9_9bNLi{XC*QW|ha@`8-aE9ZY^{if=6fdy4=3%T^L{CK(39df9%j76cW35X zgTAhX>qo###>c>epbtZDS@Srt_F3q+7J-AZ414S%`1?k54QodjQ=S8U{(#Q;&*+># zhTq>k0>7vcO*%0klOMuQY!QB9_u~t_b(CFmo8IKvJt}1AqnnKPMj4a8!Si!@{uMps zmFH*ZO`!)C-R_I* z)AAyDl3tVd8=4i}o7TM!i{v!ptYU9Uo!MvLe=9kHThpzQClqeehG4}!u z5rw;>{GZ#9t8&hM;)tG4-owWoeLQ?Fu|3rBHC(YH2 zGSS)ALm$`r!sbIlL%aphd365moM|t#hg>c2Q{eBhnL0MW%zbHjkb7S7Mc$CvL5_Li zI_^h@OPyz<`hLG%y~uCWJmlvL`uo(&Ru|JIi#8|vjmc*qk0#K=wtiYKTk{p#oJ*T; z`0dHJ`TNqdD*hY3+^D(VXV)z9ao&CQY8y1D!_Rb;ynD&{1QTZZpvpk3?5oehhu`blOzYW)}M7xxMO>l}#Wu=IDUc z1B}+?^q-*rRlM8G-Y4Mid#v@|)#%i>(XN#?d+2|^+wPiHu`_h$#Do?MN!NA@U$dQf z*wy&F<)McM|F(_9?t*;MXaCb_S52E)*eT|^?LO7NKD0;w_`WUYy#)QQ;@#$B^uLXE zt+d%g|NHysKi<86?`ny^pq6pM!~Wo7)ChlX;%iCG+p4ugfwNKU>#!7$u#@?Za&uK) zgdC!mxV(ivI;9)f?U=wp6?|BkUMlYb!>3wOQ$xXUstd!~X!kj~eN#Wq^&inr z75^^FtB**1Bgf^tt2YVXt#G08JBghn?b>HmiyXl&b=>sQ?pK+8;mmGvmDqTxd=bhX|mSP?6scg z;_M2eD$CPwqp~xdD|pS#Z%y7?b+6?zaFm-9I=AKP(WSwFwe4Hr&BNqf=3K+WyMB)k z^PcI27Wks|+1M@@3ts^2kwdg1DD-+1_mD3Zi>`tH$uU|UWDNYjfj+W=UdLQ)Fz+$S ze_3*dmg~pEUrEe0HNGAsSMy_@(8g!UP4IiZYopQ`EvvXrtvc^M<3Vd5D;zJ#LB31r}1%CMa zf{E?7zP-u044wZ1Y=Z;98=i|b<0*33Jw*@S2{C&f~t}Nz&dj&~@I|G{AW3 z2fTYH@BWN;A3a9@zoE^Ow0WKW-~a6XZRtN5Wc)hg*BQUg__1O3IeyxlMVqhbj9>rk z@uT~@? z&sB!IH#6Vfi|pUz{DzwJ?=z2Ana8|&dh%;mY5eaA&pSnTUbT(z4X@JAlY00_Sht2Q z)$f1RmOb#O`$s~uXCCHeB-?+>-aSRzFKNz~=<~0%zbe%y`^5ilpI4>&q-}U!s?V#s z^f}M%lXW%1(cdEQ(T?-ce$AJDFJouSzei6awBPrsGwH%~*-_Yyg`-QU6EJ>}k%Gru zfl;X^Bk{iOz1UEf?zNOg13`Qp8x3naFlq{n68nHX&&t0B8U0!D)eyM^c;hTA7B~$6 zli1OvjsZ@c_$>g3=+?kLE*z3)0GJG|fsP5^vQDn#PT#108=*~d?E#COdXeW`yKzrg zE`12Ne;hpU9DL9pJOZo2mr7pD_WUak8WVKUhqyX0=4#_(9x7cn95}^?axJ)X+3-+R zd^qzsE>so|fp02o$%9uF$6mD<+tn!j{!13?LMxLupQK_$iVGGid#~^m;J4up{<7c% z!`ShyQzh4@<7+uWZ8-8x@l1SgGh)Y~9}ikzTB?V?6V{!pmTJi(^MLCcH2(J_kDQ`g zUtMY>-+h<8<=o6WQ^9`mSC<0Y{XFXa_h~ciE)QppGe|qmVK{n&oK4OR?K!Wi&v##x z|J^=c;~Yw#a%MTNf=`NHvyb-K5mJ4+=e3>l>Ymx~ncvaE$*7hzo|;G)tYKwL5nG|= zESRE4fAFQer0vHCeNvv|F|@Fqt=p3<&A7nO>x9%lUDK9ArsE62+o-t@LT$)SIncbj-Od5r#lOPi-?)2(_qgm)@}s{n(>KlN=o58c|?xd!`qoOY^39XZ> zK0LHh{T?3Lq<$Y~Jm#U6_np}O9~GK^9PPO3-e|_Ap!oMYi|Y-cv&kh7qmx>EguH4U zwOF>Q3ipP+WY+ZRX-G0c;kis>;11<~&JHQ+8NB#2|$A?ae7s*HGEH>oLyykZE;?8E8sU}N^Ud3h zvMluO_ZaO1%$e<8ZyCNZnpHG2HI7J2Cm!q^oAzRRj(N2MpJt%X!MBjSKgiBiadda+ z=#X6*pVWjwM>kF8z&IAczf5Nz;UB=qViV)tQ`iIa$mGB=ThWJ$u3sNbZBN-l=B0j* zfxiHMH6yDfSchtOs#)+k3By@1gueQps^*Hk#vFa^OCMxirk%<dvLeVh6vg>NxYiCwXu*G2ID6{13v{9wh%=xsnHpiD$=`%A@YzGLrunq~g;} z>=^rzG4|kxkm_?smp+N}R(caiFuQFH}QS4cBJ~;(WTEFsXljh>GNQ!&z)WR zJmmI?3~40y`dt68z4%kXPbzt_YIFMhoyxgXymZ4$A~Qy|@%vQCBkStqv~BG{6FuG{ zPc-N|4&GjP%TuF+>qa{wE8Yvwm&ilL`M*V0)JuEFa(`!8G2XNPzq72UpVn>sA}i*u z4%km1D+<5zxQUEVf-O1gOdI~k`e1**Xp33a9`v5+ptpBC>@_+fN8)12bj|{Q3K!{P z!gWu8%MNr9KdLzg>pGJ2-^VA%uQ|71!zd`wodx;um40yb8|ax5s;yI(p|#(;@vu=A zABC=Kv_bAKqY8OLd<&{3l1nn8OT4%x_EIl@#DxotheY-P&XwE)ZdEc5`Fp`1C&SNx zhZ;w<|L}>8;K!3)`$y!9=*2c7%ao$4D8J-7I8A*cYT*c+HZY+yYt0-Ex7<+ zLgzZ@_$+AO-=B_$ZPzlC3H-y8kCj9p|A=xA2-+v_}5*2mOE`@ruk8G@XZ zFxq`t83r)cezy56`DU{nllW8d2PU?+{ZK1%!j1i+ZzhlrZu}U!>1n^=aj(E1KFq1*ef34!cF1?ozeTK%_V;U_d9ESf6IeA``4)cl!ZTn~pC~XW^>7Ym&<(d7uKGBB2#e=UwHG zyiMull6zJG^D!g3Yt^k`^W2G+kGXxV?w07)&9@|%oUhBgWPI>qw}4-W^J>1S{fDbI z8m&LVCw2++;SqFYPo(r@=tX+?#2Rg{@caezWbdFS`$Wd7a%njEuAVQscZVk9cEqOv zy`TeaOdcGI?;-7OxkVR$JLL;eFrW9f&~}SfOdI8o%$&skHVOR;&t)C**c0ft_)COm zF~6Cu=o#UcTeBJG$&6#dF~)f%&&gM~H+=`a=_j4K+keV>enYJ%<0J;Oja-~<6OJ)Xkpa#V&+F3+bx^K zFQ<2VLfao{^E_?dW(^K^u0dBFcbeuWXJJoh8%+Bk?N6e8RiEwcwkv3J9&Nsf|NrgX z^zth2%Nyi-x&|Lz^zuny3mxAm?1$t5SY%?GclktRSBMi=jhx~`|GG=%CfFr(TJ#Xn zd(frs8up;b1maU7_Ogbnm98{%_O72iKrDCAT0Wk+U#@)F!nG^OF+=R*8G11`%t20O zZZ5n*uA<|$_!lk;5=&7VAh!&@Y+u1fp%)od@gj#9A17E0pRlYr?E9vkthfaEomxi+ zF46JBh&cHbtivVn0oz@fq;xJi8sSm!4N>E1xv_m$751tuc#y&5^VQJ> zK5(Vpuc1`g#okx`65wUlcQkF0lNwbFZm4QAy8W%_tK!61YW)?@?XKN5{NJDZ*xNeC zKhrLak2T8lv36O!!WgGl*yG~m@Lc7LtBmz5!-gG(_X^up@zdFx)8V5|vvj@EwF~0Y z0_f>u`k`Geav}|Jzr#4g{!N(?1RnXR-wX8voOV4xJ=uqkA zG2%;UnXMxWR&(|F{!PwF!!CJ0R#wo;J0>xeWwb@7?Y5n}#%FN0w+6=Q)U~ZD;2V~I3uA^y#U|qR(GqmWo%k!Z{!`&oOX>5th8lUN zuD~7F{2$5KEx*V~>2XE&rRKY@%X=eI@4cCN@BUA}*YbAv`Lr>gTr)MF66qh<@XGnb z*5bA1!p~nvypwq&_gl2~+nbLFzpwZQe4^xPnGyBO{a^eS8?h(g7ozM6y5hOrZzdYt zweT%>*TR2qYAsTGs2z6uC|SGTsB&{IKJ>(l?;e0Y zgqU=lnDqAs01v<_w$vNdIoyZOCpwh49v%1y^JqEIsQwXl<|WvWAHhES#4+s5Luivt zo0G92PdJ91`AXWHPn&OHXTIZe*qMKXop}j12i8}fILJHb zF1?BkWq&2V1oSaa>GtqX_q5j^Kk|R<`L5dR`lgI%EHauG3VzHbXM^BNt_uZ!%5U*G z5&Jr{TGmb02sn62!NCf7kC+1VmJ88a5>I_;0)61MDZS;TUG$a>T6ewWtX}k%%OxLH zA9_pr+#!0)RG&(3NuS;HmZ?6w=`Gzpd)HgaI7P>p9;fISWt?4fjNiSc7ro^QcbvWI zEoGct`c!&L8E2P152pI;rnhwa{FL63wO2SOg_}9ULBU0eKTCdV8|dv7`(4m@tCSU6uRyn}97%kg(ltkR6iIQgK^Cz~6| zjp-liT#Bt5SaU8Now`m=U0oP-E_LN!){X6iB-NM=6U5Ov7L!P~) z#^qV(u7+=I?u?0ZOyP-RBN-R8vJoGucm_F6s_axwEa(=wS@ay}mgG-`Zh@b>(XGZ# zx`ln@u&G^i< zW^a(oi6u;Ikh*+1){eo%2*3SLSnIp}=qsoV6$x28*k9t9|B?Ia?rn=7S%Z9W+Tef2 znQ~0#cx&@OzD-TdRT0iOF}3l|96TB zo^o2Teb&TcW766|_N2x^#s$j;5w|xe6qr%e6qr*K%GzAqlm(3m?k;Q!LUXb=7dB;2 zDFWkvR6aPyS4MfQ}z6&aI;7ul2g7ZJBu6!P)DkN5q&@84V;(zX^g zX`72e`r4ui5wZymXT9PU@MX-`gP0Xx%;~Sy9s$2P4o$Z zr_%3579d~tL%!@6s*3j$xQ2&%(x}uWKbgvRmxgWovXP^$oJ79UaG4f1_C>_M-!Wq7 z)Umr?g@4Sv8+7NZcWKFvuVQ2Vwfyf%cKk%MuDHuc{zd#}j_Aqn&sKKm;w$dbt-(Q$ zx_>)u1~2xYKQ_X%X*aurw!hY`*RTmo``54&OP|<>`QPpHkJ$31PueCs_%62X;y*4u z+UMaPt3I(IW1q*z=Uu)ncKR>8s)v8|qMpooccQiQPI7b=XwDJr%eLW({_ui9$(-+y zhj?kBO0V=ZE+*{DroRU-=qf_?7yE6o9y;C7(e|l<=ubf-CrG}|5s`AB5mHK|0AE>|6TOIV*74o z)4vd#{)O1|&r93%dt0BYXmbH=ZotoAp4N5z;^Py(LH^!#{Sw4qp`V}e@Av~}%M-25 z@k9%i?)yGxKK7lQjC-AivCyae*lH7_rREsA>g}A}exZ#&LvIw%v70^Eb?zkB+LNM3 z>c<)OI(4J)IeSuzwru+&@rS>+B!0(*jW?*bhF*OMGFhCuHSvsweF8(V3Zt1=qg34w zd;KEa_+^&2D;*Ed8mW^r#!J2rPs1K)Yoe8yaC9V^#JNOPDjz^{%DB(W61V@(=RZ@= z1Lg(P6fuCyfyzIpIm`9eX

|?=)xOXRr!>Z+L->Cj{?7`xGCTmEsGH|`9JBR;s8zN#$ZSh6VF{g-pBt8o6^OiP+CnR5qT8oyKql3|*X)PDBo+2M(V~^lF zDRTRq>=3ax+#?5x9xSL69ZTCy(m&q~Hk7Jwe4Y1#;PY(uAzR)T-)Z=L@|dx%uAlb8 z|FOJ#7ui(ynmq;ANxa4n(fnR;BQ#YC4-U)tP`ZwU$FAIJ>wL5k3{qKQa2Q5tDSAKsU{Q5h=uWs8;{Q5iaYr4-5!LRh`;@4CDHvGD@2Y#K}1HTSh z$XGw@j$fyOU#E7#uY)pm=U*0rUytvOU;BYy^LyaesXg#(xBgT3bt?FEY8U+4XaBw6 z*Qq`5Yq$PW_;o7yb!r#<+E@R*;n%4>@N2jJQ}}gi5By61E`B|w5B#bb(K_&J5%_i2 zYdZzMMhD9O!*&XeO(yn(|I#>i7&sQbT;W*V-yO%ssgKbG$G%KW>s`Zkxcc~?Y(I)? zV|Sy6-^ST@am&8fer2Ik1TKh?7d>s{yWkFTxnS?}#l^QrcX4scE5MVPiq)(}_dFck z^Kf*}CB}a>@2&V_B6qmo({2#l<_MqUet)*)Adq`U$3z=lKW6R%mFFbK=aKkCcv^HY zHCnR%X?#9wk*AR1Dol7WQb=YbkbDgMrV@#oaQ`{*>GlPbTR{mgIF+|{5)Zk97FQVr6aE= z7f#jDhtk(+di#Ql|0;7b9wSDRSk16mKC%64)gQO#2M!~nk?R;+RyAux-s==yxln3$ zqo>sxpflu`yeOPl?XDv}>?%LtQ`{QRTetOHunKB&z zw9{C>iMr%24Evtek`?GMyf0C^>1i!``#oO9r6p@?BVqCsMz2}nv&SXauM%W=a!bAW zGUtF=(c}SB_2fC5Dz?mx!Tp0noR`!W3VTQB(q3{3I$p_Nv|Mu1iNBu#e0hK`k4;P< zwjG@_=9PJ;=PBpa0CwfPIn2|||EKiPlhxVanT);bxY`fAd;oq;a`}D!JcC#Fl4sE6 z-8QB33^Ha9WA-rS&b)?vL*+C~k5~4hTaH0>j#_e$3@ zcx{Zcsdzr~mttp>@5}cJ)VVa?YN+PiCaQ_&(`4VfJe%~U<*Vb&Z1yxHq)lQ-!F;j( z_=_#y)vPUXmdfT8`&0ToS#!6o_;b9}<6D#3-Df7xuI}+Id$;>+6}hc;^?2{8*HZ7H zLtNA2nel3B{6l*g{~z6Fi2*w6&B4q{+0_;mEMVRl z8NLRt&VmORM~QCvW30^_@X!p-;3=rt#3yWoSTMii*4U7x!Ch&}0+Gg4s2 z#sCxc9f&x-QZ4#^8*l_%`wnPQkIC9$O8p%L4^0~LNafIU=1*ok(8FGGKf>d6!i3NQ zMF$f86b>K_j)FDtz*xy+sm}f}#&n~MiJDWLV=@?%!I(VGPSX?e|x#(ePD>j*9Rs13VX=a^IL$N1)tKE@bIjxmOq(PIn(o5xtU zf5u)$KI$>1Pvs=-e!l)s*h}p%J;p41`6=8hd1f5Wf#f_vf2&1rSxxLXbnBO1Jxo5T z=yeHilz0Jyyp;TgP72KkdRL|2{4H?H%YY6B@t8_u8;7^BK-% z__ux0=LywaqBW8KEi~V!H_gY7`qDal#eL*>g9ebFxv7?C37#c*wms1u*6#$??*!Iu zVBKz$=ST5VY`xYL<5`?%adh|d@rCVypP=2sYj_mRmN;r?QRlkLUMrq1ji+MI3;kAm z!9KaT>b3WK@GRVM#$;bn>f5n7J@(~O=lfW+O3^8?(?hes3)C7lb?dj_hq`N^SC?p^`QVB9 z;4OGgsY9ypLoIlr7W|NarX})qXL=oWc}2_gP$#W|EEs%O23nW+j8F_36>HN% zao&#$F8puMDmC|(8H!FpuY{*a(<()mk^Pd@!>3U}W*ZtRponPs0y$A~AE*h;N-yOumvq zJf~*TGHNC@QZs37fkke0(OKZ*qU22Oql-tMKz>N{4CuTz6Cbl4UyXX&k>{4 z&H<0a?{f89<}z}zT%@~vRRkY=bWvr*o^|@5p`-DxB@fxk9D6+doDqN*Q!&8e>u;v` zv1f_gZHaob0@gzM z%sW?8@rUF-36rA^TLASqGFiukj356Ja#g3}5XpUFMl+`J&4q3)^zzK3wa`nIF6ts= zpToo@Q?G@*Di!tQ2U2sFwJ~J=-RG$@Pu36j#$`VIhVwW1`Tp6801>$ zW>3QZ;c%!d=(EhlUU)T+$|>&h*N+&ji#Q*p=-`@uJ={D(uO{v)9>{wn=Pura^e z{zKnKHZUN4I|=i7(RH*hSb>f1wGXjJ`%^XJj*cteL?1NlZIv_M<^TV^=lt5gXukiQ zT&=}HXX*rqK@FgvYR(*uf759Eo5qm)5+8BwQl0tnW8}HfgQ1O?qsY-cDzqkZjOfKI z{IcD;)U79p9*=x@9muZ2*645&f%WC5q)*XeFNG8Y{38i{v-gZ^-X_EAa>U&9#_)jO7VGE$fK=ZXj2Q zcN=IeXKu)AJg2{}NPDh-miGs+hU1;OV)Utk3x7F2I(Y6Ni#&_GFLtX`UmEtk67EIF z4fV0S53ZmS^_@tLl{i=06K|wqXW{+P8%wf-m zQs4auYkQTKetb5uyL{izI{O7LF=p20L>V9X8cWji;s4U~_yyOd{>P^`afZx~>up?P z+4qW5WL+gHny!<-(Pu|Dwp=t+GuV^lQ8*$UB7ksaK9r9i=_6)mu z;dopzjOTUwf1mMq%+SUGrZJW^W;{k^JiGU? zFphPMW8?db#iPqu(zM3L{?fi+)d9iJz?fI)C~=a4L%?AHXh0TY2R2IMLyR(g2)ft7 z$ee@G7Z;;1F1E+Vi--j%A{JnfQKb*EtKx;m1ijFn5HEnn4(-$>H%OhE`Eo`zYyNHQ z`|ccayyfuSoQ4E2pD_Pu`E*}H9sk$0y%18h&hRlS!xy-6Yi_}Q@U%Jogo2yJChg-a z#`~pW3(EP<8^m|xPZTf27ap27oVtdmQP*%Hbq%Lc*Kh`P4d;+gHBJqcWfnA&8Y*io z3;7t?m$MSlqBpm)CM}$&mQzH3Om1P1l|LQ6llYhQ{Df>8{sjjs)j=tV_SFIp4)* zI(8p;{GgWHu-6m4&p(Ph_t4tf!syp_1j2zGkx<#$gUI{rOJ4I8;?UOX(ffQQ;lv2y zSe9!^A9Mgd+_{82T4TM%`1tE0^C#<8YtdWDxnX(>$x$-Wf$wTqBl!#?8&n)Xp*c7` z7Gr#Eq3osO)!h}$~(~o*#m*IOmaO8WKWLr zcY}TS%Ewc+N@G7w_0PSliLq+wA2zQ?c34>m-^KX$nKB3WTd@jf{}6Jw>722(S)t&x zEWvrv6>=_Q+zIeGe5J=60N?2~#+%e87eD=pR&-a574=E(I1@UbKxPp>C*frrUd88( zi<5gvH-QcDuh8xB=zWMwZumNS@P(OIimfcX=V5$BSLu>-SZFPC<99Rj3c$}i$dx&= z2OvME4RT>xa=+FVw%@vA zC$zoYrMc#|6ii~v#Xn_#hxp6b*m)(+0UAj>M%8BW-K_N$n82|){n3JJ1fJ{8aagz1 zyNCG32k_?P{gZRBj5>nDv*69)Z6{{Jn^VJeMy7(@>OB1XFOnKnrSM7yb1oJAk}(e0 zl^hb8zhECT$&bG92)t|uwYi|dj6>BOWE@pn*{{v)8+o?Xn#SVjLr2=<;Hfy@_Omm` zvG$|GV=35CS38b5c^%*86u+m9GtP~}%X7B#B|b*Zv^K&f&$uN#+?(tl`_>Rq^>bgf z<`#=jj@JIo@t=gv@$Px7t@SpviceAEUEu{~uNz(xJ7vpN%5R80Og#rTc6)w>dQL43 zR)gHQ2Dx#&@tTsmn&&>gJJ_hchn$?Xs&v^kqLGpQSW(`Uy#lx_u= zZ-(z#3*RF$A!kMMsj73;@}z<{e3A`(DBxp+W}BhXU&2@a2YmJK(6j#M5#TWkc+3JG z1HdD-1LB#$VoTC$_PSJ2YkO^m zlS$ZAaKO0qs;Mk4{q_qULJ+Yfl_a38m1=^u_p4$EAZ;xO0YruG^Zhw9*+{7E!Y zuaEB^^GN2L_k7Os`FvjQ{rx7FXa)E-l0A44eZr>pgC`OXdVSvn|07;H>&$(l_DVAQ z2OXdqS$;A1DSwl==W1fTWZw|)wOnBl@onszN$i`+pc||uCe!%aPj#vEOMhP(~IrNe6PBmP9@C}zAETg{y zwI-|z0dGGfqWZ*JqBg&!0LEb|+2e$X$;)k;3F~g5&D*`;N6Vu zgooE@;p@P|k^xEV%Ov(?68kc#r+Snk0~n<%1MIT^`z*jd3!G)2L9-p2y#e-Fpx0WV z@fA#rJ$=^ek@W%wB)5&#U{_Pz0l=L~zWi3urdn#GpwVlB2n^~8#_7rZHEi@YDdF_U) zz4W;D+VyvN<^4G1co+>{uhBTbYd4Pe8ar~m^jD(~%mz>Q{%Q{W)r@*Dx?#1)Zd~ax zcF>oK`aSOZ!|fj!r@zU~H-OHG_dzpuz&m!V zWX#ou{pvkki=!r?b5oFd9R|JCwnP6mWA5cQN8|MOy7bbA?LdEZ zeclzdg>Ixif)Bi>e(a6Mc+XxV<|pw%;pHAMtj-fUA6r*BJ>ONom#eY!)N7%#HOxbX z@MggSJua_3A^XSe!L?HA()T!*L9np*b8q&3PS;PcuYBw)bkG&(pChTwd6DVL8s<>! zO6My%qmPT12^~S%Ns#lEu25s1qF*!mf=Ml}D7nbh?pjsyzSQEb!{#HgaDtmWAf^m*s*CM~>orzd!KM!LkSg+2RN z8{j1SJ-kwE0mKt19j>@v@NP4`rN584@MaqY6{co{g(ce~aXz;=*iRqjWJ+Kv49 zQ6IbEt})odimkhwwNUQfENsR;_1pZ43_G8mKF1n-4tf9K@8Ab6C?BM9tD=pXv#yPv zPsiwU#BY+Zvp2O(W4)?A^GjPR2E?zr*(+)jNfx>`eVsPJtyPM0x=?Upr#4Kl^Z zFCR=l9iC_PV5tksp70yFx*zQGfqlf1VTaK5fZ!kTlE@G5f5G?T$PMrmcuNs`ppZR~ zdyyZxLF&|+G0~Yz*bDv5p+S+gkv$c@-i_X(-hEk?U0Y5L8@h8P@%x+n)W)l1Klo1@ zwUx;Ht*1kq(TQs+Kd08y7xw1LFRb~`(#tBt)prL31{j4hNB+-^!hqovp74a12L@V! z6CQgr`t1jSOlwhKYG@;KQsxgx-$KDt`d+6y_-3sd-n031vG}2ab7n~_V!M8e-IMjx zD!QU8m#96sP4ZxvCz!4oF{(zWIKh1edDfyo!IKSmv)2%Pjy_xoeTsRaCO+?tPt`5x zbW1M7E{uJwhP_i$9x&Fzd-J_x!Mkzj9LQ_Ph2!ezRsJ^b$vd{{I_bqy)~MuxymD&W zO@}AUQ#pEqe`4ngtv9vMMzC-*f49z(9_V6&^cZ7xBecH62yM(Jk06hlpY_;-n!KUa zt!{t9oR#C4>i}~dV6OelwV%26@f_0gMdmz7<~*q8{HZVKjeT0)ZOhTX@3|k5CqHMu zX2ty8>=?W-m_%Gb1$N@aKJ-wDB@ml{wkcL2v7&sa5zvxlo*))O`->@g$MS_*$qf3Z=xMD>-j zh^@uvbBY*@Q}`54+XdKlqpYREE$;civ*>z@u*G3Bn?SB}>$943^DM@}hVr98q0O3N zJz;wc7?$HP!s$klv(RH;Uo$Mbzit;U$#N!KMLppwik%N{V4cjJ-!W_hzFddcw=>pRUUJuUcAynmPvjBt4=B4%%bDv;+tzuVvA(>_7i+C!oyq&4 zj}Cl?_wdLpSD)vZWnbGRgOTx)k@3bO<4sEHwcbnV<6t%Zp&8F3Yi&7;jQ1`yuR(JV zdF*7bGFyi(H5ht)Pcz0tKdD!GW5zYmTn5c8$awelDB~HEncKTXab}z#Rol3kPJ`ztd zadjuPka19Z#(11Kn^aG1H+gCAP!C&sjaZIkVgXNT&*%ri^kv`&xm|PkosVO_gIdTB zjUS)c>{RS<%RI3;{LcHX_KcS?O~y1|BYp=TPBV2fcayJ^%(3KmwNMJbOSw-EHdF7j zncCpH$^Qv#p*IC%Ch_|u>HyDL$~9A{jm7W!aIDX3TBt8HeQ&`Bn}UyZsV6o&1)F<> zejDJ?IPj>@OZ_|WCG~mwRB)X%u9LQ<-L4oKryJp{A>dj&-jucD&A_iw+v?lh@CK~e zSfYnE^Y;wA0cSR@!u|~Abiy0e&p2n^x#(3!3|pXJVjK@^skNiEtTf-It|oGi^jroj z@aKx1N_Yhrl?+BDv*wdn^GRS7b{8;f5|}j^%$f{l6@ghr3bRr=VbNwut8yaD!d*%y8}FnfM+Yfvuf~cgTEce2AWr&fny)nU;aOWV~+Vhfnd$ z^_vv7i(D5z+2oNmA?qQr7T~8-lq`pQA74K)SwBMGav4b!CgW==nMiD-TDfk?6qhEBv$M$~J;A6VN#~JJkufj+7`z*1IDtw&1 z*oZYh06tRNUodhG{gUU9Lo|1BH+&qg2j?V#apaZFO*#`Fo2j?5JB^wPwzE8`}SRW-@fMQ#t%I31MCZ1Jn#dar3*j62dkU#15@~ck~dSI zr;jbyN#iu?r%|sBQQqdz3>{!T3}#J_U?V0ppXw_+&6535-tyzrV103F7pxzq;tw{)vEJ)q{kA?_=P+1LO|(cKu$MxO zvQrd*_xQQc)6Ix4j`st=d#{0V&irG$(TPK14#^)3`i~Q9uurqCWJBd&oOlbo_j@|9 zUb~_l>t~}oRaWE*Rtas(AKv<$eqs1WHz3DUqc_#Den%QE?jMQcKF=-k??iBa5;9{h zxIa01I#|)7&fAmm&w`ckgD>C*U&NwsaeRyCABrCony$~eD0&i}@EJVevu->A-M!9- zZH@U7o>07x{p0K43B^a@3B@i?AUAzBIN1ayH7$lGAj8f@i$BLY;EO3#sWKe|2=Ft~@a)xtHt9#WvH& zpidnNrpI#q}S_rTY^+kr;;vH3?TxH*{oQcp|lzrcyuV zO6oma50AV99vOj0u7F2Y!y`AOwDZKF)MM_>6Zh8N^*_QBmj`Y?gC}Mg-%aqu*u$fG z=7$IS-_avKeAIW#m*R&Xw|)n{XLjO;4e&#HjuEdaK2TTxd4{#%i}S+({4mMLXa1;r z)Ri9=YvD8aVc8Ac_~ENAKP*o0L*zH?hbnfVjx{_Iy$VdM=*ADxgU}Jsh2V!%I`P9v z@WYAd4!Q8d$dHqt*_!^0E;TzLCmK?5Z<&;+^BoZt?=WGudqCon7UHPP}uA*-c*P$~&7E^4uPtd!amc zC*FCDH`wgq-WT%R9(nG+ig)tdU3jF(3xLFGS-z9orJYH6O<93M`pT}r?9*LM1 z{EppvJJ|Tf4PsjC($)AUHU@h4i@XiZc4+qEpE%m9U!)@@&Gn5N#I)Ema(kt>ORr|k z>Cnu>=W$oNUxd82>~=powRr7`m8p^wC$WYJpGv3*-jlN-IW)RDnc6ban>?xNI+b5? z5pjGzD}R!1XL|$onCSsyYC1wv!?Fm^Su4Xoor9sgTDKXFp%gw#jT)LbV8kGa10@X%)BWmQb$rT^&j zl9-e3^^tp@3vH0hh0KG&JlJE(nTzerg*PcE^YE<91MhnL;Xsgih*iow^hYw6B`dx`%c z{z&3HSmQ4JRjL=OJ+mJACg@ukw=GV;Ls#??Uv%?T(tB06FEI^cT83d;Qj=3u7G!5(zgIo(C7heZ`-QxX0FYiL=>!ELgzLjy?;`C?6ZrL+U)=>uUG@E%~4%FP< z++}X%-C73{b6W!aEao9T2a3My+{zsAuJFyTWe$k15@CEDe#{@E}z?`;#iE*jG-}V-h^*y9!T7P z5l;3Ega(HN1Ab!SL(fjKXXGXI9s{`wT#th5YryrIc3kg{ zAFK^%>Y-`H-`&=uzq_-}Va&*Yo*1y1+0f_pN^j4Y1x*Pw^8-f7f`F_S={qRvg*YwN zb_Soe_}XrTce0)fcd@4H$O-Tg17A-3gjeGB<8ko3>%v{wL-u&dzZn}OUV&JBkL1Qx ztyjH7u2t_m9v_3u63>g~KU&cS+Bk3xLB^4%ykhZ2kR zbjFwL%@4^!!Cc>&{pl+Ctd)Y;8OowJ3eFg67HOAi9 zVx}eHTbV=meT#f#c9D;sf+rJ0PR@%@ay81w8SA)*b&UUPxn`{8{-4D*?eSiSk})wf zx-LC5re8m!p&niT`aYox_w)&kIGi3DrS}WoQ!4W#eVggCb0s#gU46oX{a_KtE9$ZB zl#jC~m7g1aWDB*KRV}p5?5}f)p);N67GiTGo)7<-hHOgyZjkz*5=Z6YSn;1?O9nIk z)#qB9E+xM@V%qq~Ssy;u6Eayf&&QgJuP64Th zoR4PC6Z6fryUWG(D~Ve!XU^h-=P@AEp5S+`w4jCWApcX*(@Z(n3My6DoOoON8lICTlYrJjy!@9%ZnO zz_>=;~RZBk!tlKI=%mC*IM%_88^va=hKJ3VPmK;~MDMo5*WD z(Ho6T(9}cIN-w##u6TspCjED9?Di^tpZq7OO~SjN&ccR)^s1rG!Ui|Dms~A(ua~VS z9#k{7di8MDPb3DKTo{EH3*7o8;Dx!>qI9~iD7^Qa@7!dU3 z#K+ZMF!FTCh2-7q#3x5GLR)`A4Cq#D2*1RB@Za=srdIssa(IePUN-SK7ZWq~)ri5m zFjyZR)`Rf1u7q2{_g_rLqXSyPp@lt|*P5s81 z@roX+&D5-!U)O_$S(>xsYCX1@zrUa+{EPiNe!mFWnd^khP6UFFB5U9LsP4?%?9yIx zxuUgR{iYtYf|@gp-#S730Ab}H$L`OXKjDoPWN~l9xHmo%YxAVPE*bj=7D*>s~Zq*)OjebyU-IPiGe99oFl4lQ?Q`LRT7=>9XHcs?N zXWY}875#Csycc;VA?QQvKO3BQH^F$!y;Xud%`>qM$O|Ut^!DsDtK=2+T+WQIyX%pmZAkms`kS-KTnN36oL?)nY1r7B&q^%31EtiUdAJ(esURkq^J;G_JLZe!XF$W+kTqTiP5gZcouXNO3}2M=cO&+N zJsr$vKW}pPwA2Wam4q!~y8#R4I*0w4dsi^}UV;P&4iX1|2 z!#>{M>x0n+{^~jb!OdK+ko$QNtg(h@&cYkiGss#D4?LmfRMuaxQ0Ta?7r8Ho`|3m& z4D2{<6>7Tl46yED9h9v3Gi%R%&oW0XgWEn)&;AH`FnJY0weRzM11x{5^zA$hM#uG; zxNbSGIZJdK`pRXAjv4cfppHN@@6XkH(05Lv?|6lG1~X?fSJ?V$eW&c&ic`jBA2Ijn zCOPoo+{5riEI4$0?6ZN=wyt?vu!k$eH4fv4^f9t}_3j+6DqI+HvGUsrw8oga>$kspaInpoYb#Ohv2?!oo` zcAIn`bO!XxKa(@gyWb%Cp?dd0H)oufVHMZ^Bs~6XIpgTlIpgx|c?NmTvVOHr2X#nC@JBo9YMdJh-+v{NWqy4GlZyhw0&gx1|Rw zeOl1=X|aXWD_HqPzwnbsL>@qvLWj@gQ^=>tcS`2gsW?&`^rxqXKi@~skLX17-}G>* zzYjWcU;9NfT`*kohopvrwfQ&jSoZzB@4y#5Q>{eOFRH1ahD`z`Rq|5}>!y3?Lw1wuCrCX^de1@sR+Qfnn|D)-#{V8Q=37xUrqEhPu))fh z)Szo0^9VLr#za3eoYn>CX!EgwwvrElyxj)t5bLPb}O z3>99FE_TOA&X45$aBQH%!J6UJmSLYq$zkwQ56iCwm#|j6tfexUV>6q*iq5q(t7YHX zKGp+ki$l3D3{w1R%F--3Z(llODEeU_w)J}&@sLTu`p-{0`LF1bLm5QB5In0&m%M!K zMs$IJ_Vft)3$gaeKfxw-2fS!1df`ZH;t}+b6`Wh)mt6U(L!V0SS4${$1^HyuzxW<} z*wDrA=Z}>ewJ5#1Ur zpOK9oo!7hmSc?8QqXe4y=-LZ<)dv%H2)h*haYhvSHPF}eN{`(a8nAO_EBZU~Xl5mQ z;ke52R`zr9t-INMvGb$L&&<}b`-*L@M|x}m(3C(kA794;sioO&_f>th@pFi;MQj8z zK0XNX3qZdH`kG$pjhRi*)I-y%;|q}Wjc%3Y`ij`6;*U|jmbfp+`MgHQE`a@Z*HG*P z)J!})%%FEbxGdRgm-I^${ZV>TC|k^_yi5Z<6CG6#FEfde_GTNUca4Fk1e|4$&{N5m z6-*Xf(^#)wsj)NNE{U4dPPhbqETc6zr#Am&r(8-kv!^$@E&H&KTC}f=Cm}A zxtgWsws$*z6q*I{o|vmOz0POH{4=LBYM^gYbK9%^fVs41v_X@h8ztFY=F_#$gCp}> zkz4N|#*Yb{?)JMqGVIHJ*C36tGd!VX`NlmH@$#KQz zEPM)EWRyCB8}J9<7s$bWom=gT{g$}R@>F;HRP#cvlZu`7Lit@H7dE`yypVakAh^Wf zS}##!>c4cs805A-%zqqb%7z=c9XJynKs|)XJd2Us#&PG(g!brJ;hI8 z@1u@aqz}FD(pCMwRO(d{7ZLm30P-`zglM_sQOmm;;J!O>bC_4loQ}TWoqmH+LhP%^ zTf=Hfja;xQ&+B58)LASwryJP#yF8!NPU5}0@4O6|K9cHQ#~a5UY=9*h;^$!fWwTcD zdbh2DJ!0o$9kZSm^omjKwpFkPzasQ&ps(qb-Y#W5fj#z&R@PtJmsr!RQMF#P!HPWb z%k^v%1AFWl>_5StnG3qC>7Frd74%W)*Fay>D?NJ&ntEtj*(+^bFsf%?)&_6~>?s0! za;k?hAJl(S_TQ)5*HK<%sGX;u!&*NFyVfvxDQlVa9QVh_S`KTegVh?Q=8ep;?2p7c zR_k2$nW~kQ*kfhC3qP1Lkl&cBWfk*jW2B@%H~7e6Y?Paj zW$(zOF4bT=FJ%yQD1|>~g^!l_9dk=@_{N$ncsIvuimi%L-5G<*#m_!A zEk+H27_}psDVYUcwq{)-!`%Cw-J-f z*qz4hX-xUOQ&BRt(3HCC8L! z*xHC(u$y@4{hrXGb+VTXH6MaE%tOl~DF?s|J$6*~HF3+z-y!?@IzxC&NL#Ii0vjcd zbTo9M?c7L+{T{L>Mn<9Uj6&ZTiM}(E^)Uh&X9V`n;l>nwxIHB@EU4?*qF>0EGL|7R z-P&5l+oWWc1oo0AdQz|~j<;K+)>38(IAYeHQ&p_$Lw{G~pYHNX_!{%5)HAIbLw-v| z1-_~rFy?l>>N*uKb%i@dbdWoSb}ROU+RSXJiB{sPx?O0tt>zwkti@ow6!ns0>Io+& zO^6{A5}#v+z2*d|TUfO~)e}26n5Y-FT#fZuqEDew@)&ZQ+{q)q%l|pzI0NUyc2x~)Z1Z6L?w+!;x#kTJSbFd%j zs$LlT$7d8Kfi3uLl>g>1c9AT;{}#R#7;O|pmA>iR(}>*+`}NE$&Aud{8PmpT_B7FV z7ZF2)%{OR>&P7ZOHgaS~`;xiP%!KAnJ6@2u5!GWZe81-0 zK#b1A9*_LaIug*s9wWU9I{U?$*n6)lcJ3wbc+p(?*gR`whFH(Wv_~DX7wjDY?9PSC z7vLPl)=rNn{`;TD{4g@os68mF+`?@bv z`{O3HKZdpMpSJe%YF}srz?c9SBfhovdK&CcRYxNhC{wlq^;`>&X~wJlHTzYMX1p;< zv)`ED#z2MdR54KWQ`DW7H*~8d49&kla|tvzX!b9@OYD=aIW4d164Rvg^bd()BJN4O zZ|1`~;?ZM^7HKV6#sTsnKgBjk4|TsDUg-B)fkW6I&`T@l5G%gUaQsK`WuZInEWqG}0))!4|$u~Gfn>hM)I z<=QVHm(?KKD&6rVEnIBohjMj^TaCC-c2?>q zSjT4R4)!p+aUgy{A8`s}m@8~Qz35=Zj@i(ZLUSYQ;BFOHCpuNt-RzM~zI#+0UJtsJ zG0v~q<7Q~~C~6RoZDd||Ys7Ktq4WFcp$o6nLL>H|XZeR_R?42N+++Cw0x?aPjbHa>qW^z4>n!RTej zV>0Ky;`khBd%&>voKW^?Ahh-I6QT9bpA2o>ax%2}wUeCh$dM_~lS5nIJ<0jcIsZB5 zKM!p^_<3l3@~P0qNvA{4CKC_F`dIe-DXB*!?tA^snu6noU{e8CoMraVid4;;Dn zUEa@GbE<=qlLmGe4H?7(n8X8Q>-hS6tp{p1toqA+_dDADyzQkigLlc=*pbZ~B# zH_n2l1e*C^$%3x?9vh)`AVZIt{H3Ou8_y^_sM?L+8CNHDC|P@YvWtb3O{0hB^_f=@eZ}*_vE|+-t5SYgOe`#^@`EwjFD)@9RYuNU0eHU(J>8NurhYbO4)5$LGpp70M!CaO4_4^-WPQt)XK@o_%l<9x)&`G}A6 zVP8;o{xjp_u7+khH1m8$<6XYaF=N&*nAq_hGsi7d%gCKqu$=^(utT%Fb#cX7qP^3aeGU(uWG*Nq2^TZ%d2EFC1)3J zP;$1<%=&+G64x{TR&!E-o|veU8?U7iH2uC9G2U^%&)e)FPv%5y8A(a~j1qDy#U?tS zMruA|uLn0Okh5}-nSP1yWwDpOKS}sPO?=OsOUP40*}v5Alloq+98~tK^u-C~JjXG2 zPqy4#(rDCg55(}@NNs)bVRCKiaFr;(Z79dfy^hBIlIwp)TkQk0d-Y#~Dav=9nI|@w zs9BXGdW?2W_j_)6$F;ve{}%qY^Fuk2^YO2Z4;79)5C7YFp`5Ab;eR_9|J%9vyUykO zxtt%1U2iP9`B-}+*tsc6>|PX~M>V#-It}|dI8&BPoD6m`_*yiB{I(6m53MfdUfST@ z+*29PQjHFi$}=u62+<3=C6JmgJ`NjwhZ@piWA}*OLZ66D!IHMq)_tq=*phPW_>sPu z94D4DlsN#r_Li>?rm2`TWQ;Nsxsv+uVy7wI($Xh2Cp=7S=gIiQ_N}wByKK09X<8#>W{Mgq|@N+lb`JXYnlLOi@o}@LFoACn>o} z>5@4wX)TwVqnH>XDk~~RV=z>@mH!?Z+5-e5=)cyi=Xt7 zHOW;2#kSXQ%vkHwjdi8Ey{^tcvkRUgqp7aF>CY=Qo_ zlrije$b-)!>pfec*=v!Y*`jA%FU*dqBLx-6GH3NDlj2!|}b{ zyByc-`+?kZZ1)piLXJyg?V&fObjWe6ku3DatWe<}#m-8c>g&fs8(%P&GYoa?c z-{_9++NM{0WE68B!gd^DPDh8fzWixu{R`-hFQYrYF1q7r&XX$<$ubeHQUpMb#4dSEVQ^Y4nAK|XS z`d`J@;E4G9_=CF!HNU$C>$fDjE(i8VHi zH8z|zHk>s$qK7p&g7YIeKaw>#>aSUY_;^3XXPXW$3<`doxhBhgsn#U&t?=W7pUU-5 zEj?A`%D5K=KOLmS9$0!DoIUC8CF~C_-tGtwW!=>;#jntMIyf-{UOz~9uUD=eOd5ed z%=FqXrJM*aO2Y4v2G4&CIp9#=D%Wq&Ec`5d@Hy5zeG!@_YO%J(r=7)Xh<~2^DY3FA zLd(vhZ;eilK%_74ES{Fixv6Ui|XUX%b=jZx{ zTt6V!=NWumuK$L*{w>H7+;?ym*I%&sw56_pUi|tgr;Pf=n(#>_zYMGye8yhGr^`O0 zRyLm;ctox~IF9#K?q1V}#NSuVmw4ZUjXZsbofjDbmJPM@BSS-7u;+L5Khy_teh}ve zbAB-A+p)`CCmq-%JRkajXY}=3$h?q?MlPzz96sXh#TO?shhO!V$k+R#hZP6SicghX zuubHGZH0`L35NM@JJc84!*8Y5NO4~otK~;xhZ=q=NPM?kH?}C+-XqYes7I#5Mqa4X z=W-A4=`inU!(d`P1{0S`Kg_zJq1@`BYJEl1=*=OznHHAo$-5^e;25%lmspRZUF5?7 zzN2Cz4w_MKe7*WaR^faj{9DUf6`rk3IB_E6x(NJ{Qb>}zrW|scz;)zkMsUAT>eq^IPbho zY!1%d#NQA{X8GPMwvHhq_-=IVdcN)Lc0FaoQTB$X%HqF&1pD4&fBEmI}KxtI4R@`2dY z@Hv1*V*kZ%4L)gAYLAqOesR8$tDlek;5>BK^RUH@#|JSU`|i2;i_Zm{#u-KWIJ+n^ z7M?%Wo)Q@o)b$I*?h^Nn^z4^yAoiglicOQ)hel!_238OYfNww3FYyhX@|T*RA@-rM zm0lWcy~bX2=i;_mLc|4>B$$juQLChs&hqlyL6O| ztQPd+Pv{iG5nj1(g!r4f>AfS!ndX?6Ju^nPDx3Z~+u*bg+hFER=ywH`&E0MMiFygn ziT%V22hyvAZnJ-y<4>RJ96uqs7l!!ts)%nUUiU4@sY>|wR2~TX*pd6I#Lx2^|3JCd z;M~WI*rJNl*0CM`)MGpI>9X&YPxX;}e5zjEi8d8W&w<$SOzf`5i{V?uY(!L@ z@lfGjsbPaG-E@k&G?GJ3F3_4&idPhY7t-To>#ENM7h=Lca>#qULV9s*Lw^(dT=aC8 zbC>v1(Sc7Z9qw#CRX;veiK`ZTTEuhxHNNbb9lmVk!&bEs?j^<%AGoY1{Bq8{2P7_A zYk4%Fe5x*{;?o(S{G(TQUlZ6B-V+QEIY;`NhZlmQ{x`9WV>hqxxw=%vJMFrZ_($Az z;}<{cK5*oZ*du!E%O(CKqhug)j_8v!#t=u9AJ3I!E<0n${B^`9Jc7*`9dE{3Y}ME# zd$Z-uXojW%nti-O{Op;PJ;s=}W5Nu43Nz3lXO4mXEIx%9_!MTALUSWL;UC3ia_`!+dl;~fDO)4$t07(CVue8XV2#EyD0Z^TYA zvEmu_J-@{-Qdo^HEq)R5L9P%R@3sTvL$J=g_(igH*BAA-@{8nS3z|y)tUs%Y`y!Vo z=?uS!U;MEC|2nH*q}exA=`wS^gkPlA3qPzcwmSPoHt*&6#V;c75Wk2k`z4W6>gu;! zSF?^5pN9X@D>vT%FgxkA@IqO)!Akb&`c^IchHoH#-jhbb;*)kk(q~5D;?J<3Q0rh1 z@!W^0f3K%;{&UWM&iOAmPae`PVpaEG-#JXpWSu@e=_1e5>xX&cn$ia(MxFvX5j|2u$jlu}^B?l1y_BJ^-d$F}0#fIZGsWE{~ zc_TGJR(s*uJ@!mvKdD}6e=k|hxu?LD5tsWv5Lr#I&AL1PFZAJD`$1feIDl+TzuE}# z_$vm6az@gx_9FV#PR*dUgNpb6hsJ}#I(ifC>K__WJpeqQU!We0j>rJ)1!|GGcn~z}sMjcR0k%rDH?(*Dp1#xY zGXMBEJ~W#6 zua=%-%%tz6>an|rxjo!JcH=l?wGliA_e89A;@(;o?mK4uPsh8>Wo;GiDC#ZV&H03Q zw+c^I)y?pv%`=~~j4O(rPi`Rpw7(Ji&5w=DBlM^?rcHG`S0U4SwAgPZAd`K9KYc$m z$25DP2ieRsv_0N!k;JjAU}}FbwSQM?<6~)+OT=ZY{a^Que?ui zxo9?ofOvbzkl|n_x_z&z-A^e+&BM z{lMGlqej$-)^V=kEa!ax-uv%L&vLHfEaw`|a?bb7vs~{i=PJ%}uHh`_eAk}kdS^LT zamG2;1G%&PSo0C^ZG~1fKw?h4A&EIv_Tiy5GC#VZYCo%a^2qv$;nNG>Rg)Yl-$>7U z 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�=d-U%b+9RVN!csv6sUaV2{?$KXB9 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