diff --git a/joule-code/joule-code-rs/crates/joule-contrib/src/srt/crypt.rs b/joule-code/joule-code-rs/crates/joule-contrib/src/srt/crypt.rs index fa6e0ba44..8874977fb 100644 --- a/joule-code/joule-code-rs/crates/joule-contrib/src/srt/crypt.rs +++ b/joule-code/joule-code-rs/crates/joule-contrib/src/srt/crypt.rs @@ -115,7 +115,8 @@ mod tests { assert_eq!(Keys::from_km(&km, "another passphrase").unwrap_err(), KmError::BadSecret); let mut p = vec![0x47u8; 1316]; assert!(tx.apply(1, 77, &mut p)); - assert_ne!(p[0], 0x47); + // The whole payload: under a random key, one byte keeps its value one time in 256. + assert_ne!(p, vec![0x47u8; 1316]); assert!(rx.apply(1, 77, &mut p)); assert_eq!(p, vec![0x47u8; 1316]); assert!(!rx.apply(2, 77, &mut p), "no odd key is held"); diff --git a/joule-code/joule-code-rs/crates/joule-moq-ingest/tests/contrib_srt.rs b/joule-code/joule-code-rs/crates/joule-moq-ingest/tests/contrib_srt.rs index c00b390af..79767dabc 100644 --- a/joule-code/joule-code-rs/crates/joule-moq-ingest/tests/contrib_srt.rs +++ b/joule-code/joule-code-rs/crates/joule-moq-ingest/tests/contrib_srt.rs @@ -290,6 +290,8 @@ async fn contribution_at_twenty_megabits_passes_the_door() { /// follow the group's last object, so it reads each group whole off its stream before it /// releases any of it, which the relay's stream window (`limits.quic_stream_window_bytes`) /// must hold: under QUIC's default of about 1.25 MB the stream stops and the door refuses. +/// The link's window is two seconds: the door is the subject, and on a loaded runner a stall +/// past 300 ms had the gateway drop access units as too late (§4.6) before they reached it. async fn big_groups() { let w = World::start(|c| { c.contrib.srt.listen = Some("127.0.0.1:0".parse().unwrap()); @@ -299,15 +301,21 @@ async fn big_groups() { .await; let auth = w.auth(&w.publisher, 0); let s = open_srt(&w, &auth).await; - let link = timeout(STEP, srt::call(w.gateway.srt_addr.unwrap(), call_cfg(&s))).await.unwrap().unwrap(); + let cfg = CallConfig { latency_ms: 2_000, ..call_cfg(&s) }; + let link = timeout(STEP, srt::call(w.gateway.srt_addr.unwrap(), cfg)).await.unwrap().unwrap(); assert!(contrib_live(&w, s["session"].as_str().unwrap()).await); let watcher = watch(&w).await; let chunks = joule_contrib::cli::synthetic(4, 20_000); joule_contrib::cli::pace(&link, &chunks, 800).await.unwrap(); + assert!(until(STEP, || link.sent.lock().unwrap().unacknowledged == 0).await, "the gateway acknowledged every packet before the publisher closed"); link.close(); assert!(until(STEP, || watcher.ended.lock().unwrap().len() == 2).await, "PUBLISH_DONE on both media tracks"); settle(&watcher, Duration::from_millis(500)).await; assert_eq!(w.relay.relay().stats().refused_at_door, 0, "the door released every group"); + assert!(until(STEP, || w.gateway.gateway.link_records().iter().any(|b| LinkRecord::read(b).is_ok_and(|r| r.last))).await, "the last part is signed"); + let ps = parts(&w); + assert!(ps.iter().all(|p| p.window == 2_000_000), "the caller's window, the larger of the two ends'"); + assert_eq!(ps.iter().map(|p| p.account.dropped).sum::(), 0, "no packet dropped as too late"); let all: Vec = chunks.iter().flat_map(|c| c.1.clone()).collect(); let mut d = ts::Demux::new(); let mut pes = d.push(&all); diff --git a/wai/CHANGELOG.md b/wai/CHANGELOG.md index 260cb2463..30ae48f30 100644 --- a/wai/CHANGELOG.md +++ b/wai/CHANGELOG.md @@ -6,6 +6,40 @@ wire format may change and such changes are recorded here. ## Unreleased +### The route record states what a hop delivered by its count and root, so a hop may deliver any number of objects + +- **Route record version 3** ([extensions/route-record.md](extensions/route-record.md) §3.4, §5.2, §6, §6.1), on a + price book of version 2: the attempt that served states `delivered`, the count of the objects it delivered and their + commitment (the root its hop's receipt already names), not their list; a failed attempt, `0` and zeros. Version 2's + list states at most 1024 outputs and grows with them, and a package of a long title holds an object per piece and + rung, thousands; a record of version 3 is the same size whatever was delivered, and nothing a hop signs changes. The + served hop's receipt is held to the root (`receipt_output_mismatch`). A record of version 1 rests on a price book of + version 1, and one of version 2 or 3 on one of version 2 (`pricebook_mismatch`). Records of versions 1 and 2 read and + verify exactly as before. +- **An output's inclusion proof** (§6.1): `index` and `siblings` from the leaf up, held as jwp-receipts §3 step 5 + holds an object's: the index below the count, exactly ⌈log₂ count⌉ siblings, the walk ending at the root, so the last + node of an odd level is proved at its own index only. `route_record::output_proof` makes one and + `route_record::verify_output_proof` checks it; `route_record::seal_committed` writes a record of version 3. +- **The receipt ledger** ([extensions/receipt-ledger.md](extensions/receipt-ledger.md) §5.1, §4.8): a job source whose + route record is of version 3 gives each output `proof`, and an output is one its hop delivered when its proof holds + its object to the served attempt's count and root (`output_not_delivered` otherwise; a missing or misshapen proof, + or one under a record of version 1 or 2, `malformed`); a decode of version 5 is held to its places and its count. The + count is the router's statement, which only the objects check; a count stated larger lets one object be proved at a + second place, and no source bills one object twice. Every tariff version that reads job sources reads them. +- **The corpora.** Routes 109 → 126 vectors: six accepted of version 3 (one output, three, 5,000, a failover, a late + hop, receipts not checked) and eleven controls, the unknown-version control now of version 4. + `route_record_verify.py` reads version 3 and has the proof check (`inclusion_proof`); two more checks dropped + (`delivered-form`, `receipt-root`). Ledger 108 → 120 vectors: one accepted (an encode, a decode of version 5 and a + package's run of 1,501 objects, each output proved) and eleven controls; `receipt_ledger_verify.py` checks every proof + with the route verifier's `inclusion_proof`, one more check dropped (`output-proof`), three more mutated copies. +- **Breaking:** `record:corpus:wai/live-conformance/routes/vectors.json`: the control `record_version_3` is now + `record_version_4`, a record of version 4 refused `unknown_version` as before; every other vector keeps its outcome, + and the new vectors are added. +- **Breaking:** `api:rust:wai::route_record::Accepted::delivered`: an accepted record of version 3 states what its + served hop delivered by its count and root, which `Accepted` carries in this new field (`None` for records of + versions 1 and 2, as `outputs` is `None` for version 3). A struct literal or an exhaustive pattern of `Accepted` + outside the crate adds the field, or matches with `..`. + ### The receipt ledger holds a decode to the frames it delivered, as one animated PNG - **Tariff and invoice version 5** ([extensions/receipt-ledger.md](extensions/receipt-ledger.md) §4.8): version 4's diff --git a/wai/extensions/receipt-ledger.md b/wai/extensions/receipt-ledger.md index 5d6614381..a8e4e4f39 100644 --- a/wai/extensions/receipt-ledger.md +++ b/wai/extensions/receipt-ledger.md @@ -314,7 +314,9 @@ of version 5 a decode's output is held to what it delivered: decode's animations, by content hash, in the order of its outputs, and nothing else: an animation not stated at its place is refused `output_not_delivered` at `outputs`, the output's index and `frames`, and an object stated past the last, the codestream among them, - at `outputs`. + at `outputs`. Under a route record of version 3 an animation is at its place when its proof + holds it there (§5.1, its `index` its place), and there is none past the last when the + attempt's `count` is the number of animations. A decode delivers its frames as one object because a clip's frames are many and repeat: a route record states each of a hop's outputs once, and at most 1024 of them (route-record §5.2), while @@ -347,7 +349,7 @@ extension's verifier is given. Bytes are lowercase hexadecimal strings. | `package` | `receipt` (the text of `package.receipt.json`), `indexes` (the index files in the receipt's component order) | packaging §9, a receipt of version 2 against its indexes | | `ads` | `descriptor`, `grants`, `key_log`, `chains`, `policy`, `pt0_ms`, `receipts` (form-2 receipts in their JSON carriage), `pods`, `claims`, `creatives`, `issuers` | live-ads §9, with ad-presentation §9 under a policy that requires claims | | `stitched` | `records` (pod-input records), `claims` (stitched claims), `manifests`, `responses` (VAST and VMAP documents), `receipts` (form-1 receipts in their JSON carriage), `creatives`, `issuers` | stitched-presentation §7, its signers the tariff's (§4.4) | -| `job` (versions 2 to 4) | `request`, `pricebook`, `policy`, `record`, `receipts`, `keys` (a route record's verification document, route-record §7.1, its `receipts` and `keys` not `null`) and `outputs`, a list of objects of exactly `receipt` (the text of a `wai.video.int_motion` decode receipt's JSON form, integer-payloads §15.2) and `codestream` (the `WIV1` payload it describes: the object the hop delivered, named by its content hash; in version 5 a decode's output also has `frames`, the animation of its frames it delivered, and its codestream is what it read, §4.8), or, in version 4, of exactly `package` (the text of a package receipt of version 2, `package.receipt.json`: the object the hop delivered) and `indexes` (its index files in its component order) | route-record §7, accepted with its hop receipts checked; then each output receipt read by integer-payloads §15.2 and re-derived from its `codestream` (§15.1 there), each package verified against its indexes by packaging §9, or `output_invalid` at `outputs` and its index; then each output held to what its hop delivered, or `output_not_delivered` there | +| `job` (versions 2 to 4) | `request`, `pricebook`, `policy`, `record`, `receipts`, `keys` (a route record's verification document, route-record §7.1, its `receipts` and `keys` not `null`) and `outputs`, a list of objects of exactly `receipt` (the text of a `wai.video.int_motion` decode receipt's JSON form, integer-payloads §15.2) and `codestream` (the `WIV1` payload it describes: the object the hop delivered, named by its content hash; in version 5 a decode's output also has `frames`, the animation of its frames it delivered, and its codestream is what it read, §4.8), or, in version 4, of exactly `package` (the text of a package receipt of version 2, `package.receipt.json`: the object the hop delivered) and `indexes` (its index files in its component order); under a route record of version 3, each output also has `proof`, its object's inclusion proof (route-record §6.1) | route-record §7, accepted with its hop receipts checked; then each output receipt read by integer-payloads §15.2 and re-derived from its `codestream` (§15.1 there), each package verified against its indexes by packaging §9, or `output_invalid` at `outputs` and its index; then each output held to what its hop delivered, or `output_not_delivered` there | A source is accepted when its extension's verifier accepts it; for `ads`, when the outcome is **accept** (live-ads §9.4), a **gap** being `source_gap`. A `stitched` source is always @@ -381,9 +383,25 @@ the hop did not deliver bills subpixels nobody delivered for this job, as a rece twice bills them twice. So the chain closes: the hop's receipt names its outputs, the record names the hop's receipt and the outputs, and each output receipt is of one of them. Under a tariff of version 5 a decode's object is the animation of the frames it delivered, not the -codestream it read (§4.8). Under a tariff of version 4, a record that states no outputs (a record of version 1, or one no attempt -served) holds every output to none, and a job it routed is billed by the job alone; under a -tariff of version 3, a record of version 1's outputs are read as before. +codestream it read (§4.8). Under a tariff of version 4, a record that states no outputs (a +record of version 1, or one no attempt served) holds every output to none, and a job it +routed is billed by the job alone; under a tariff of version 3, a record of version 1's +outputs are read as before. + +A route record of version 3 states what its served attempt delivered by its count and root, +not by a list (route-record §3.4, §5.2), so a hop may deliver any number of objects. Each +output of a job source under one gives `proof`, the inclusion proof of its object (route-record +§6.1), and is one of the objects the hop delivered when its proof holds its object's content +hash to the served attempt's `count` and `root`; an output under a record of version 1 or 2 +gives none. An output without its proof, or with one under a record of version 1 or 2, or a +proof that is not an object of exactly an integer `index` and a list of content hashes' +texts, `siblings`, is `malformed`; a proof that does not hold is `output_not_delivered`, at +`outputs` and the output's index, as an object a list does not state is; and no two outputs +are one object, as before. The ledger does not hold the count to the objects, which it is not +given: the hop's receipt names the root alone (route-record §6). A count stated larger than +the objects lets the last of an odd level be proved at a second place, and that place is one +object, which no source bills twice; a decode is held to its places and its count (§4.8). +Under a record of version 3 no attempt served, the outputs are held to none. **Routing figures are never charges.** A route record's candidates' `cost`, `energy`, `expected_cost` and `expected_ttfb_ms`, and its price book's `price` and `failures`, are the @@ -852,7 +870,10 @@ outcome §7.3 gives it: work billed again and its receipt cited again, beside a second package listed; and, under a tariff of version 5, an `int_motion` decode whose served hop states it delivered one animated PNG of the clip's frames, its receipt re-derived from the codestream it read, beside an encode - held to its codestream. + held to its codestream; and jobs whose route records are of version 3, each output proved + among what its hop delivered: an encode whose clip is the second of two objects, a decode of + version 5 whose animation is its one object, and a package's run whose receipt is the first + of 1,501 objects. - **Refused**: each reason of §10 at least once, each vector a control of one defect; a source of each kind outside the scope, a room receipt and a statement under other prices, and a source of each timed kind outside the period; a refusal of each source kind by its own extension; and, for @@ -882,7 +903,11 @@ outcome §7.3 gives it: the picture, skips a sequence number, keeps its default image apart from its frames, counts a frame more than it holds, or has a frame with no data (`output_invalid`), a decode in version 5's form under a tariff of version 4, and an invoice of version 4 under a tariff of - version 5. + version 5; and, for jobs routed under the route record's version 3, an output without its proof, + a proof under a record of version 2 and a proof whose index is text (`malformed`), a proof of + another place, one past the count, one a sibling short, an output its hop did not deliver, one + output twice, a decode's animation at another place, a decode with an object past its animation, + and an output of a job no hop served (`output_not_delivered`). `wai_receipt_ledger_vectors verify` and the test `tests/receipt_ledger.rs` check that the file regenerates byte for byte, that `wai-rs` gives every vector its outcome, that every reason of §10 diff --git a/wai/extensions/route-record.md b/wai/extensions/route-record.md index ec9600e33..87cb8e242 100644 --- a/wai/extensions/route-record.md +++ b/wai/extensions/route-record.md @@ -27,6 +27,12 @@ > its outputs, to which its hop's receipt is held (§6). Documents and records of version 1 are > read and verified exactly as before. > +> This revision adds **version 3** of the record (§3.4), on a price book of version 2: the +> attempt that served states what it delivered by its count and the root its hop's receipt +> names (§5.2, §6), not by a list, so a hop may deliver any number of objects and the record is +> the same size whatever it delivered; an object is shown to be one of them by its inclusion +> proof (§6.1). Records of versions 1 and 2 are read and verified exactly as before. +> > Texts read for this revision: the WAI texts this one cites; RFC 8259; RFC 8785; RFC 8032; > ISO 4217 (the alphabetic currency code); FIPS 180-4; the BLAKE3 specification. @@ -35,13 +41,15 @@ In scope: the three documents a routing decision rests on, the request, the price book and the policy (§3); how a router computes its candidates, their removals, their ranking and its decision from them (§4); the record, its attempts and its signature (§5); how an -attempt is held to its hop's OER/2 receipt, and in version 2 to the outputs it delivered -(§6); verification (§7); and the reference implementation and corpus (§10). +attempt is held to its hop's OER/2 receipt, and in versions 2 and 3 to the outputs it +delivered (§6); an output's inclusion proof (§6.1); verification (§7); and the reference +implementation and corpus (§10). Out of scope: a transport; how a router learns its prices and measures its endpoints' failures, which the price book states and this extension takes as stated; accounts, credit and payment; the contents of the job's output and its own receipts, which their extensions -define (a record of version 2 names the output by its content hash and nothing more); and +define (a record of version 2 names the output by its content hash and nothing more, and one +of version 3 by its count and root); and the energy of a hop, which its OER/2 receipt states ([oer-receipts](oer-receipts.md)). An invoice that bills a job from its route record is the receipt ledger's ([receipt-ledger](receipt-ledger.md) §5). @@ -214,16 +222,26 @@ version and digest, and a policy whose rules change takes a new version. ### 3.4 Versions -The request and the policy have one form. The price book and the record have two: version 1, -this extension's first, and version 2, which adds the members that price an operation, state -an endpoint's failures and name a hop's outputs. A record's version is its price book's -(§7.2 step 5). +The request and the policy have one form. The price book has two: version 1, this +extension's first, and version 2, which adds the members that price an operation and state an +endpoint's failures. The record has three: version 1; version 2, which adds those members and +names a hop's outputs by their list; and version 3, version 2's but for naming them by their +count and root (§5.2). A record of version 1 rests on a price book of version 1, and one of +version 2 or 3 on a price book of version 2 (§7.2 step 5). A router writes one version of +record over a price book of version 2; a reader holds each as its version says. A reader of version 1 reads every document of version 1 as before, and refuses one of version 2 rather than misreading it: a price book with a `version` member, or an entry with `operation` or `failures`, is not of version 1's members (`pricebook_invalid`), and a record -of version 2 is `unknown_version`. A price book whose `version` is other than 2 is -`pricebook_invalid`; a record whose `version` is other than 1 and 2 is `unknown_version`. +of version 2 is `unknown_version`; a reader of version 2 refuses a record of version 3 so. A +price book whose `version` is other than 2 is `pricebook_invalid`; a record whose `version` is +other than 1, 2 and 3 is `unknown_version`. + +Version 3 exists because a list bounds what a hop may deliver and grows with it: version 2 +states at most 1024 outputs, and a package of a long title holds an object per piece and rung, +thousands of them. The count and the root are an integer and 32 bytes whatever was delivered, +and the root is the commitment the hop's receipt already names (§6), so nothing a hop signs +changes. ## 4. Routing @@ -414,6 +432,7 @@ An attempt is one hop the router sent the job to: | `not_billed` | `null` when billed; otherwise `failed` or `deadline_missed` | | `receipt` | the `receipt_id` of the hop's OER/2 receipt (oer-receipts §5): `sha256:` or `blake3:` and 64 lowercase hexadecimal digits | | `outputs` | version 2: the content hashes (§2) of the objects the hop delivered, in the order it delivered them: when served, 1 to 1024, no two the same; when failed, none (an empty list) | +| `delivered` | version 3: an object of exactly `count`, an integer, and `root`, 64 lowercase hexadecimal digits: when served, the number of objects the hop delivered, at least 1, no two the same, and their commitment in the order it delivered them (§6); when failed, `0` and 64 zeros | The attempts **MUST** follow the order: the attempt at position *i* names the *i*-th survivor of the order, and there are at most the allowed attempts (§4.5). So no attempt names a @@ -461,16 +480,44 @@ holds each attempt to its receipt: attempt states: its `subject.output` is their commitment, as oer-receipts §3 *Output* defines it, the content hash of the one output, or the jwp-receipts §2.2 root over their content hashes in their order, every leaf of the unlabelled form, as 64 lowercase - hexadecimal digits: otherwise `receipt_output_mismatch`. + hexadecimal digits: otherwise `receipt_output_mismatch`; +- in a record of version 3, its `subject.output` is the attempt's `root`: otherwise + `receipt_output_mismatch`. So a receipt cannot be moved to vouch for an output it did not produce. The hop signs what it produced, in its receipt; the router signs what the job delivered and which receipt is the hop's, in its record; and a record that pairs a hop's receipt with outputs the receipt does not name is refused. A holder of the job's output checks the remaining step, that its -objects' content hashes are the record's outputs (§7.3). The attempt that served is held to +objects' content hashes are the record's outputs (§7.3), or in version 3 that their count is +the record's and their commitment its root: the receipt names the root alone, so the count is +the router's statement, which the objects check. The attempt that served is held to its outputs whether or not it is billed: one that served past the deadline delivered them too. A failed attempt delivered nothing, and its receipt is not held to an output. +### 6.1 An output's inclusion proof (version 3) + +A record of version 3 does not list what the hop delivered. A reader that must show one +object to be among them, as a receipt ledger shows a billed output to be (receipt-ledger +§5.1), gives that object's **inclusion proof**: an object of exactly `index`, an integer, the +object's place in the order the hop delivered, from 0, and `siblings`, a list of content +hashes' texts (§2). The proof holds the object whose content hash is *h* to an attempt that +delivered `count` objects under `root` when: + +- `index` is below `count`, and `siblings` holds exactly ⌈log₂ `count`⌉ hashes, none for + one object; +- for one object, *h* is the root (oer-receipts §3 *Output*); otherwise, from *h*'s leaf + (jwp-receipts §2.2, the unlabelled form), each sibling in turn combined with the value so far + by jwp-receipts §2.2's node, the sibling on the left where bit *i* of `index` is 1 and on the + right where it is 0, at level *i* from 0, ends at `root`. + +A router makes it from the tree §6 commits to: the sibling at each level, the last node of an +odd level paired with itself. The count and the bits fix the place, as jwp-receipts §3 step 5 +fixes an object's, so a node paired with itself is proved at its own index only, and two +proofs at one index are of one object. The leaf and node domains alone keep a walk of another +length from ending at the root; the number of siblings is checked all the same, as jwp-receipts +checks it, so such a proof is refused before anything is hashed. This extension's verification (§7) is given no object +and checks no proof; the reader that is given them checks it, with its own refusal. + A receipt states the hop's energy with its grade, and, in minor version 1, its class or the unmetered marker; the record states no figure of its own. A reader of the hops' energy reads it from their receipts, and an invoice bills a job from them (receipt-ledger §5). @@ -495,21 +542,22 @@ and where (`at`, a list: the member, then indexes or members within it): 2. **The price book** (§3.2), at `pricebook`: `malformed`, `pricebook_invalid`. 3. **The policy** (§3.3), at `policy`: `malformed`, `policy_invalid`. 4. **The record** (§5), at `record`: a text that is not a document, or whose `kind` is not - `wai-route-record`, is `malformed`; a `version` that is an integer other than `1` and `2` - is `unknown_version`, at `record`, `version`; one that is not of §5.1's and §5.2's members - for its version, each of the form its table gives it (a restated member of a candidate, the - form §3.2 gives it, and of `failures`, each member an integer and `hops` at least 1), is - `record_invalid` (an attempt whose `hop` is not its position, or whose `error` or - `outputs` is not as its `outcome` requires, among them; the relations between a + `wai-route-record`, is `malformed`; a `version` that is an integer other than `1`, `2` and + `3` is `unknown_version`, at `record`, `version`; one that is not of §5.1's and §5.2's + members for its version, each of the form its table gives it (a restated member of a + candidate, the form §3.2 gives it for the record's price book version, and of `failures`, + each member an integer and `hops` at least 1), is `record_invalid` (an attempt whose `hop` + is not its position, or whose `error`, `outputs` or `delivered` is not as its `outcome` + requires, among them; the relations between a candidate's members, such as an energy figure and its class, or a failure count and its hops, are step 6's); then its signature (§5.3): `bad_key`, `bad_signature`, at `record`, `sig`. 5. **The binding**, at `record` and the member: its `job`, `operation`, `capability`, `fallback`, `quantities`, `request` and `deadline` are not the request's (`request_mismatch`); its `policy` is not the policy's name, version and digest - (`policy_mismatch`); its `version` is not the price book's (`pricebook_mismatch`, at - `record`, `version`), or its `pricebook` is not the price book's digest, currency and - `issued` (`pricebook_mismatch`). + (`policy_mismatch`); its `version` is not one that rests on the price book's (§3.4: + `pricebook_mismatch`, at `record`, `version`), or its `pricebook` is not the price book's + digest, currency and `issued` (`pricebook_mismatch`). 6. **The candidates**, at `record`, `candidates` and the index, recomputed by §4, each in turn and for each these three in this order: a candidate missing, added or out of order, or with a member other than `removed` and `rank` not what §4 gives it @@ -537,7 +585,8 @@ and where (`at`, a list: the member, then indexes or members within it): - **refuse**: the reason and where. - **accept**: the record's digest; the job and its operation; the served endpoint and the hop that served it, and in a record of version 2 the content hashes of its outputs, in their - order, or `null`s for a job no hop served; the billed hop, or `null`; the deadline, + order, or in one of version 3 their `delivered` count and root, or `null`s for a job no hop + served; the billed hop, or `null`; the deadline, `none` when none was declared and otherwise `met` or `missed` by the served hop, or `none` too when no hop served; the order; the decision; each removed candidate's endpoint with the limits that removed it; whether the hop receipts were `checked` or `not_checked`; and, when @@ -618,8 +667,17 @@ verification document with the outcome §7.3 gives it: and a basis restated, and the other operation's entry listed; a served hop with no output, a failed one with one, an output twice and one in capitals; and a served hop's receipt moved from another job, a late hop's too, outputs restated in another order, one output named by - its leaf and three by the first of them (`receipt_output_mismatch`). A record of version 3 - is `unknown_version`. + its leaf and three by the first of them (`receipt_output_mismatch`). +- **Accepted, version 3**, on version 2's price book: a hop that served one output, whose root + is its content hash; three; and 5,000, more than a list of version 2 holds, its record the + size of the others; a failover whose failed hop delivered nothing; a hop that served past the + deadline; and a record verified without its receipts. +- **Refused, version 3**: a served hop's count of 0; a failed hop with a count, and with a root; + a root in capitals; a count as text; a member besides the count and the root; outputs listed + as version 2 lists them; `delivered` in a record of version 2 (`record_invalid`); a record of + version 3 on a price book of version 1 (`pricebook_mismatch`); and a served hop's receipt + moved from another job, and a root not its receipt's (`receipt_output_mismatch`). A record of + version 4 is `unknown_version`. `wai_route_record_vectors verify` and the test `tests/route_record.rs` check that the file regenerates byte for byte, that `wai-rs` gives every vector its outcome, that every reason of diff --git a/wai/live-conformance/ledger/README.md b/wai/live-conformance/ledger/README.md index 9cee4c7c2..de7ec1dfd 100644 --- a/wai/live-conformance/ledger/README.md +++ b/wai/live-conformance/ledger/README.md @@ -78,6 +78,13 @@ The accepted vectors: version 4. The animation is written here by `png_still::encode_animation` from the clip the decode reads, and each refused animation is that one with one rule broken, its chunks rewritten with good CRCs. +- `route_record_3_outputs_proved_among_what_was_delivered` (route-record §3.4, §6.1; §5.1 + here): jobs routed here under the route record's version 3, whose served hops state what they + delivered by its count and root, each output giving its inclusion proof: an encode + (`job_v3r_encode`) whose clip is the second of two objects, a decode of version 5 + (`job_v3r_decode`) whose animation is its one object, and a package's run + (`package_run_v3r`) whose receipt is the first of 1,501 objects, the rest standing for the + package's own; billed under the tariff of version 5. Every other vector is refused, a control of one defect: each reason of §10, the reused codes, and a refusal of each source kind by its own extension. diff --git a/wai/live-conformance/ledger/vectors.json b/wai/live-conformance/ledger/vectors.json index 7ea3cba7f..ffa9eddc9 100644 --- a/wai/live-conformance/ledger/vectors.json +++ b/wai/live-conformance/ledger/vectors.json @@ -1379,6 +1379,29 @@ } ] }, + "job_v2_given_a_proof": { + "kind": "job", + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-3001\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"outputs\":[\"9489bec83829fd0e694a10ff891e61445848a0888f44c486d2961703eae3d3ea\"],\"receipt\":\"sha256:003d5c4559ccb5d8be6bd8b5ff0c4936b929263231818e485cdbdb96af825eff\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-3001\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"889abf45e6a9ae51a0adb6b3f582bf66ae06cde717416578ea9117fe030ed061\",\"sig\":\"8c88126dc052e73fd3310ff00df12e0976b11af1d23474a3acf448c50d6e50034904c739950bf1c8ba7e2b8da968805ea6c4a8d8f5793aabac58dc5cd9fcce02\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":2}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:003d5c4559ccb5d8be6bd8b5ff0c4936b929263231818e485cdbdb96af825eff\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:8c4548f5a0e497ae6257f82ab35a19c91a7e1489007119c03e4a299dbc0471c0\"],\"output\":\"9489bec83829fd0e694a10ff891e61445848a0888f44c486d2961703eae3d3ea\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"30.25\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"30.25\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:6080a89fdfc1f6b08ac32fe75f1528dba2f26e652e6a1e04daa6e96a76f66f8e\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"143b5c365dc8ba8e460c4616773bd01da1f6b6ed47c2f28e454c2bc1797e078c09a895fc34aed8533f5d337841539a52fe982dc6b9d3fc829eb1704a9cc0e203\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "receipt": "{\"profile\":\"wai.video.int_motion/receipt\",\"codestream_hash\":\"277865b574029f700f4fac023de3ab06ae598ee6f8ed726444e91442a6bd59e9\",\"clip_hash\":\"3492566e8e2682e3b3bac083b4db02ef8eba9a7f15d9faf0e27feee0f6eb488c\",\"h\":48,\"w\":48,\"frames\":[\"e1d8e8f8b5c534be1421e5858ed9137808ddb849bdff2bf397beb32568d8eb69\",\"ae7214babf5bbd6ec279434740f3271be43d2392b8167813fa557b5c4426fa14\",\"b3ef86db27b82d303bc6b612cb224ad55259b4f2e2c0461c74dcce188cd64b99\",\"3906f91010bf1b9ca14f6e2ac9b499589ac02ff4465e1d9764a22443a8b29c22\",\"bedb1538c2071d705d2d3ab2df2c569ffed440278494649f9bf1ec881561c519\"],\"merkle_root\":\"0f3fe4aa201c275c10289c22f31e7211b555627b33a251bbe33d094abada6508\",\"work_pixel_ops\":34560,\"joules_micro\":0,\"uj_per_kilopixel_op\":null,\"energy_provenance\":null,\"parent_receipt_hash\":null,\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"signer_id\":\"did:example:sink/job-3001\",\"sig\":\"74b028a210394b24c9ae318db1a5385801a1abfa5ec78fd334b839eea33d62a162b80931771258ec06e78fad127f2a2a822d3cc6c5d92be39fafb646a7cc3604\",\"receipt_hash\":\"9593ead44feed0d411c47c085d76c1ccaca1e06787475e1064284a3b55bbd1ae\"}", + "codestream": "57495631010100000500000030000000300000000800000006000000d5ffffff590000000000000004000000090000000f000000160000001e00000028000000330000004100000051000000640000007a00000094000000b3000000d8000000030100003601000073010000bb0100001002000074020000ea020000750300001a040000dd040000c3050000d2060000130800008e0900004e0b00005f0d0000d00f0000b21200001a160000201a0000e11e00007e240000202b0000f6320000383c00002747000012540000556300005c750000a38a0000aa9c0000edab0000d8b80000c7c3000009cd0000dfd4000081db00001ee10000dfe50000e5e900004ded00002ff00000a0f20000b1f4000071f60000ecf700002df900003cfa000022fb0000e5fb00008afc000015fd00008bfd0000effd000044fe00008cfe0000c9fe0000fcfe000027ff00004cff00006bff000085ff00009bff0000aeff0000beff0000ccff0000d7ff0000e1ff0000e9ff0000f0ff0000f6ff0000fbff0000ffff00000000010000000000feff0100ffff01000000000000000000000000000200fdfffbfffbfffcfffbfffdfffbff00000000000000000300fdfffbfffbfffbfffbfffcfffbfffffffbff000000000100fffffdfffbfffbfffbfffbfffbff00000000000000000000000000000000fcfffdfffbfffcff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0400fbff0400fcfffbff0100000000000000feff02000500fbfffbfffbfffbfffbfffdfffbff00000000ffff01000500fcfffefffbfffbfffbfffbfffbff000000000000000000000000fdfffbfffcfffbfffbfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fdff0200fcff0300000000000000000000000000fbfffcfffbfffbfffcfffbfffffffdff00000000000000000500fbfffbfffbfffbfffbfffffffbff00000000000000000300fefffdfffbfffbfffbfffbfffbff000000000000000000000000fdfffdfffcfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0200fbff0400ffff010000000000000000000300fefffbfffbfffbfffcff0100feff00000000000000000100fffffffffbfffbfffbfffbfffbff00000000000000000000000001000000fdfffcfffbfffbff74420000280b35593c000000a214bea9451501b9ad0cbdbd9a309164812c7ece531911d14717c3dbbc1d27782217989f7218f20d121d7bd4ca1f3eb3ef1f71131429e2d1f626c3e7ab249c33af4fe2d2c042a6d2222fb9b3c460c33836571567e55a40c90777634123135bfb8e1357858f0dfd6cd3316844ae2fdb041518b067b9167f09231b1d6f1c16b7df311ea6450d1ea29eed1ecc320c2b747de0206b34c82a708a2525b67967473d53e643c54f6f2f42e6355aaafd6534aabbdf5fe1a866406fac26314f6ad812ef006e0dd2c39e124439f5306ba6e0396f65ff1627ef771e0071f21b088eae1efd0a7d22d53ada205042fa23135ba627dfdecc3c473a7353bf1ea7435671e53209bdc9581998ef568e94f260c2af006595d31a5d0301d30b0e96f22e27c43d162997a218be088f12dc9d0915dff4db17246c1a3c61066e3807ec553cb509743e78e21d250c19332ef30e3d2d4f94a0275d0ead4e59f7ff403f44c02ed1b145563b075b55c0ece2599ea8038a52c4e77287a40b3015595e178405f01716799f12508739158ce39537c6364439c2c61335c774823feb0e4a46484b29464146093e52ba6e2e3e5a0631121b992d5a46a848c8478e518c794638949ff05b4c57d23967cc4b57d3bb164147bebb2f4cd1452f40e1701817cec818f564ff13f4072317feda4f17504f253558977544d057484615df8028fbee312a5a55ed2c1c72d1257130d62be71dda51a0a97748680d2735181dc85721d3923f8d192f8794fcc96be998eb135e56840f812d952b26dc2f2f8537db1701de931a9e0b811c99606b1d7a72b81fe6796623b2e3442266abe726bfe71c26713b582970ff964812b3a7511b88474ad1a39d60fe77fb5b93faa43aa689e37f22cf656dcdde8d4a529b091869c19a199bf5af108ce21a33eb8ae43a8485f63a7c0ae7f3e9d6d3fbf35320f44e2572fb823070f38da5d5fb4cd37f3e167531443d7027341943de2d2e0dbe4918ce0f53b1e5a7368b2c3c6ff4ff9044663d54810e945168c3b1d019852e9412c0563e10ce0287359612c8365ce0fd34c5cdb9f290f0e017571aaef2f889ca179debd4f3065bae18380425f4d7c9dd18bb2cf626ea6faa24e3f4384b1da15a3d6df8b52cc90b935da2e4c23b9597355cee7f1945393e249b7b14ad729ff91432962e6218224895175df6f11b30546af34ef81f1840d4b4f24290fa19e90d41f3792fbd17b307eff2702189161f1552f429b1fc18154682320160642d6a8c304b9a74645336beb060762fd36780e26160b5380e4500bf316ab3b6594b76993031ace92b2efad9cb178983121b9d4845f4ba36071a9d404af3f9d4f2199f14cff37ed44717baad75f448628d19af3421f46a8b0f19184461f3ef7bc1178d00634bcf58624c6725ac619927f15545490f360e0fb877c6814c6b9ea2f952ccf3a3abad91da10ef63f3144a0f23340223ff35814709f4d3516c16e5bb75f3a3574719c25228f4b5a03e1636db84f49a58781762e821f35742a2181bc2f7f397ef311637054630ad43d250643a45395291b55b725ae5723bdd1b62eae7a445bd65319f19c63568c61a5b1206b34d3bed1dd63786de01f49a49affb2a9cebf3518ed9fb7f061bf402f2bdfb0bb9c0f344eaa4fb1bb58df3fb10a4fb6bcbb8f3bb45a0fbfbd11ef477204efb6ff5815087d668629a2a0c5d17e9236a698d0061d79fdb460b2f26a9c24f33529ee32911b3aa1515876dab37a91b8339f13feff22ac0af17a839caf36b8b36183cace0f27ca7e419927205f46713bd1740d4a5f49da36019a6baa1f4ceac2c19b530c1f2eaf4de19c6322751ef91df5b92e05f6533f2a760db246a7d1551e266a304d149e19ef5ab9b67c917279abc17e5eb69fbf214f2182014b4fb9ffe3e163705e1fba23dfe17e466a2fb4cd37c16dcc16ffbaaa6f61663923efb92173218345ca6fb512703175f6a95fb422b751962216358fc9aad68a047125962cd87430577849addf21174af2dc5499c4fcf8778b8293377e4ed3b12154cf3afbf46fb6ab6baf3dc41b0fb4cbe91f32c0b39fb2ef0f3f2262a42fbe21813f3cd5230fb476af8f3870f92fbefea62f47a7a92fb7234cdf297d11f5d8e12023c55bf666f4ef6005c8d58bc9549953d730699fd4ff8264fb23cf0ac1886051a1c4d05891af4edc2fbf792baf24163bdfbe896c3f32f65e3fb6023ebf2ca07d7fb66774bf4993ad1fbd99a01f30be2a6fbd34630f3275768fb7ef1a1f2f78972fbe65735554ebaa9390610c05a5315734087513d8c09862074f653884a096d36bad118d01b4762691789a9a4fb84456418eb0ca3fb4aa9b419eedf99fb865a481883a740fbccb302171e6b31fbdcc4a318d918a3fb2772ae179e15aefb5dcf1b17b3873ffb7673f4189ca65c5d080bdc43f1e1b278e9bbf0411aed639db279b76db39473596dd293164dfc0317fddbabfb866f2cf49fee5afb376ea4f3351975fb9baa96f394a45afbd65b6bf333ddaffb9de9fdf212c3d7fbeeead4f2262aa9fbf329a1f4fa10ccfbaee586f41f6791fbe442375aab92fb3ebf0cd287434e9d6e5b5143a22f6941660f17d858c6629c18cba73c167536ce1e8e78a81944d168f419b32118417e79f37ee3a4168ea062f3684ff8160f7514f3d3335e16d0c984f4e44f5716db178bf3f1e44f1765e6d5f39b589417ffd4263cb1b60b56568bf7410b9931975f374f710f5c7f4fa42325bcbf1b8b7648524f17d3a2bc1d17f181fb389846f3eaf47dfb8dede9f2ef7b22fb6cb646f4429fd8fb1ab5a5f4cd8e2ffb7dc74ef4164ac2fb955678f3aea1abfb511264f4825bd7fb2cdbf5f268318f5c44110177dd73146b7a24ef4d9557b1ac71c8ac855c5302606910468a110d2833d76a203d85cc1c16f25d02f36cc7671902a893f3c335ff186fdffbf23bdcd317eae2b3f3dfb9001a3c8153f3a8edd118ccf62bf491591a17bed596f344cc8916cbf73c423ef6c45d15bc03651b1912a83850df6979ba2a6292c2eebd5d91e87574332d1ec8640e210884defb523cdff2811f84fb900283f397e066fbb5636bf4b5af3afbe896e9f2ed4ea3fbaabb7cf42cfc51fb744940f4fc3dc7fb444010f3ebf46cfb40019ff4ba45685818c3743cc9991ca49c3d626e6cdb6d54ca28d67ab141e2599329871efca9c71b6444e22057e352f45dd8b917feaa52f42bfc1119743121f3694f9818db6c99f3d79c4618989917f426394b16467b0df3b1fb8f19521d21f48db4ca175a186e3dbffda754ced3533d92a3eea77ad2e668dd293056741d36bf0ff6d877943fff1c5c2be22145ecd620c546c1f3241b6b1627e58ef43e187e1951f342f42ab1b917ec3602f4f8a719192312a0f21e3ac51704a731f4981c4f168ba270f48c969c181fea6d40d92c977aaa69c464c1fe0b4fe4ac6e6dca35ef5f6aa19dc29fe940765b492821c377c822552bbe2132b22720a4a99cfbe66ccb18874f90fb5de48618e3bcc8fb7a9dfc174fca80fb033b2e19226885fb5cbaa018cf7481fb4bbe3b1690f45071cf3b545fc7dc4c460fb904a5f494e4710bb28c59b37201bc93c3b85cedf29ed26f8cac231756f41e282b6e208e484d416f57f1f2d56f3617c0a984f402e336196a0dacf401f23a182db681f4e431cd161e6be5f31d3a03177b0239f33755483d85c9d2624864d23f6bb7c5a69c7e2164d4f8ed6167d7fdbd05c2405ff28607d169ffc3238fcc5423c78c9346c614a93f473a2b17750683fbeed5a017f40664fb11227117579a43fbf768d91957ef44fb4994591639592ffb3898db867e356462c5292e4270ba30a3145c994dc63817c2b506ff790c88855f7484a1d36b3cb022b49dc01f39897e3db627e7453b7eaa47ee9c181a325d08f3aea14718447cc5f3ce9d6d187dabeef346352a168c4c9bf38ff00e189a54f0817d9e5867e164264acf9f89a0468af5865b1d0f5d44650780f7a37565a8f4c0ceb96346217425be3f42ddfb460186a443dc4f4f39e726fd2e11ac22fba65269162b0d79fbccdde017447c95fbeeead617a64c9a609f26b64105687099d3e8f96edd6e714832a030810d602862a462e0c908e95486467e4f657a255646fefc1b3d6612ce46f05c183a0aa2e63122e07a4fe77fc847dfdb81f4981cdd5a7e25095e2496ff7c0d982d61f1b45a40c98a5da72c8cd36f9bae985ea04c49826f6e0159848c46d189116c7425229a29dca5753180914230f7d87f2cd1e2294a23bd653c8f2c033180eb015dc4796a35ffb37e5d2a91a83e040b6f9551375c7318d897491c79c9bfd5a26b563d7258cbb89e8e7b06429a6fdbbb519019578d2cf852092d88bd0f2a78859a2f1ffe22519dd8cb507fba725b0e80ca5d8ed18c6087f6007e90e4ac6bd0224e504285c6ad5e2a4885c47c8e5608003a80cdac406c2de6e9d9c33b3d881826ea313c35a52f98773329023e2e2f644eed4c9fd91548d5819c5845a9c356a9e281411746cb75d8b9686bb07213513a6827af9e2d2582d3aaee5d0a1e1582463d496d83be81d6d0003b8586b2b42e814ecb2eb4b31b288dd08d4a6d71253f6f90872d7f2ee65a725a8f582404ef5c515ac37806644d66e187784bf25f74a43c7dd98747933f580caf12c97de8796af508f6ce38d753833fa7e3df673b922672b38b4a3750af52b2e56f46a293d2301edf675a87c40637fa24ff5de154a43f0bf38b907403487346618150454a15be8935547faf98945cf4502f7649b7fb6993be0d924ba7e87e5c44373d6a05774e1f29b0405671ec2d2912145352a9f45d41c46d625518ce670cea41617a3a074385e691abd1d9156a1d614d5fb54f097d82d80c614b6b92cfc8bbf18ecd7c70d5e7049d93d1e01d3208d0df28de97dd2f92b2384b83a3414fd99c8754c10b9e5dd1be2056f367ff898dec986d36884b48e0487aa87651128106a3085ec747b37f462bcf65f40a63d5ef3e7f7cceecdee0471af487ef9a024980f7d83f5964932f413bab5da896195fea92a65bb5e08a7a9bd68e57b2e1444310b9ef9f9b1b0772aea0435d832578761abacc584d3588cdec05e37241fdd2de96b2b67eb007b4e5f9d4ef2a8742af5235a45147c3cab7323fd344569e919373f12bd5554e858d3c3b21c295a1d79c4a4fb2a7b79f3ab4817fe0416134b576cce565e369d8770ed9c2924f8be0dfa9dd680fe77af006c4499b2cf442c3a8c83284915263e978a0343afd905502056046dc7ab6773c132468e7578f4cfde095720b8e785a720e4bc40228f788b0f27669314a5f931b46bd7903017f8e10890fe23b330b2f9651075346d3114f7bd0563a61aa2b540a0abd34d4772278bec85e703c9d214d3cb2b767c686f94e8433cfbe3fab6a77d952576510c5cc764230fd772df1fee062380a787e5e1da520a88c3e08b7c330d28d614ff959b861ecc7795fe87c22712ae536609e6bee407518e19d641c5b653da09e59b8800e89d17848545190aad2538d869bd717dbd8356a67798d9ec5e38da75c9caf09b6ab547b3941643edf2f02e64254d50e36362c41616048da6c425bf9318c40ad18669821964ec7cbd2b8714e8f5dc27626caff71a47bf64d476ce899f18c24556f7820202b9b3fc5f4e77ac5be8c1bd2e3492682645389b4b359578edf64a5a823571c07547829153e647579c44813fa75b8937cd5797249dd5803ee0386f9cab266917789d973c3c989dff5e0de1a65817d238899a57e9e48eb67c3d0321d4dee57cc778c5525bf8f542e90828a8b72085cd25067411b57e1a7d11a4f67da559757ad36fbb9f6f3c55cf6723acf5d58348dc055fce03fd929925ba3f6e40db6df8f0358c8a335945849649d783b52b0006124cf4042c3f16a854dd4a7672206614e215921735710d162219312c171da4b7649882772eb6ac18293790f8a6ad0eb8a98988789622911a626f368e825d45f92441e6949bc1b3e57a98a2136eda230713b4b6c6175aa129315646973336e21535ebbb8b8a549687da77a9c603751abd14723da67adc45dd8ecffb37995aabce4d743db9059e992aa435f87ebf2069785b20d1282e032f87ec90a5977b5b6eb7ce5e14e76816f6d8aa2a99d88a41cda754a8eed7955bdc677bda57b7c9308d8853619ea8795f972807be4487ad3c6ba8177c1897f6ea77077cd107d7b0c6eb9775068bd82b5994983546a8b789ca4fc7e30fe328a23afde89fc09b97d0dc4b878a796bc885f381176c0dedd7c3009868708763778074f1483b056e47b2d2e6f775e060d80613be47905e3c28197a2b2867f2087840da05978d324ca77d0d2c3838b448282d320027d0815b57a46e25386e546797aea5eba75c4748a77a68fe6769eb2d488d27ee978dcf669752152f679d5d4447e23d3767a076168784a958b79e1e6cb7e174abe7e0952b07a7e773b7e902dfe83891d937b603f948047799278c0e56181423661814ddcad7e50682c7bd2708e8791bd117bd3ad5d764ab9e9851e6116883d29db86051203825f38767ecf081c7edad64780ccc1007a419fa88156cbfb8877f0068a366cf17ab74967805410d1775c0ec084f283567a15ff0480a7bab185479db782a0e0027c86b9e58487498f89cbd316877cf25b801767548ac2714878a7a81c89caa1d885c0633589a0289b7edbef3e82b44ae88619e8d979c7e36585e1ac7d81e3dea681258e21841709f6844a668580588df77ba9ec97766b4321899d7c8f84f0b64b880840f485a1533d851767a57d4a544c83b06ffa7dc8b02f8747de5c7fbfcc1387f25f5a8a96d15289712fee8898a5408dfef27fb1fe337a96b4d9119e22eb87a7befdb497371c3793e2cc0aac6839ae8fdf2214934812e67a0fae55765e185b83fc9293793110d187dcce0e868708c67c2d76639bf921f880fcbef0956f67119f67b9559a35d5fb9b7c1ecc997a8cb6b78d5cf38c291b8a8b95baa28623c1f77ac0c1d18300ec467e9c6e94869bba197d07b41b8215ed717c33a3518a2a69078e6c91f6ad16430393da5506a55aa5d0037315fafc42ea2304936366d8c6a231a413a65288914a4878fdecb7772cc2ad83e9a63a83e6830079d593e17e3d6ab47b4116c192d8e6c68cfe19c9af3ec9c39005755d013a19f177bd9ea67a4d820f7a4e487c042afd998ae5808088048d1c7cc641628a98e6237ed84a2e7b4c74f67ceebe667d388172975a9ae8afa684c0785fc93092ba7ee176bb07db75b140997b504ba975669b2c865791fb8b03a2327b42ee2879af368c80edb7ac827a8a198220b7b9783bfb7779379079828ed03eb60c7aed938ef44a98ff16557824090280d15731762a53287703a3b77fe63bd287bed734819a8f2080aac48c8253cc6a75084b27795ed0db7599b7f18705651188868021a7a69f5eb33e38d97dc4fd1985411d5076c1516a76d8de15829ba8e8861fdc0f88aa783f7b9aac607cc4b52478d9b68f7d03c7a57974203779ea94e0764e1d8f9d8ac846a5eb023c84085245853201b782e10ac287e06f07774edcdb8465e7e67b4f201381f6363f8327e4cc7f49584576e49dec82aad62b849a18e57ddab9dfa1dfa972a6a2b7127f6d3b3278c7a2f881f0af98824535538250c2998900cf9b88288d2778e3a5a29607b80c8af1e1f989ebb4ae7dd81bfe750a478a76390a5b7b16d7b9993e2d42cf578d667a5a367b78e9f23b7b6d993680088c68756815f1891602298a214723abf3ed7f8f93785d8a60b62d7f9eb218890b14197c055eff793efab48717d3f3b1cef2697a0b0daf7db98d5c89fd22457b7ea64a823c2d0d7cbbea0f763d9900fbcd7c0993dd268a901da4f37cdd3adc772d0a257608a94f6af2ecfe8990c841a548ad0f0355bd0b81c8cd508356dde386276d8987e4c8a17eae24597cac2c9685aa9cc780e78af9a7128b35a7e9e43f76e95770804540f4893590636813988480ba2f139c9f0c55cf83ba19860744d489391892880cfe0388f03fa186e898e57bdd04e379cba8b8fab785aa7d307981941cf013891e2b397be66ac778effb7b751ce013894acb3e846196ee03de219d897ead1781e16f55890797767732717b7de9e02981710be977bbb463fcf62c2695d6343a977160de77eb897f7530e5f883ab1320711d583f8542c6327aa93f847c26e8ae8708649b7e8188db85b068b58886efc983bb205d897fa99c8468f85ef91cde28a52f53e29aed1c0d7f8d8119889b02c485d946ab664e23bf880482d580c720ae03112885d3da3ef5804946a079c54cd5818cf8d489cd3b628376f4f882b02727872cc97d22c71cbb9c815fe9843299d185b9f9268620db128aaa5432880e540f7cb833b28a1d5a6dd08ba32078d731a87a3e5420770bf03f8511f95e7a99760a8607a9747f5599b1fab4e9db81987a0e879b025b7c8d6f6978d1bc797d09ed717cc600de87c2131b8498b4da03fa05068478a4b287491ec17eaf7e0c897045e87ea6f48782d212087c4ae8261d0f6f8a88c0755084709f6979ab8ade7818d3fd752beacb841a37c8786bccc77c149311847b83808ad929b8893b3819847bd2c27b19348181d8928287ace0be81a2481c1b8b644980cf780f771cc794839d461e7a85872d8038e63b7e25abcd8744d4f87b76233aa0aa52ebd7dcf395882d352a8351529c88f9ed62882f1b3d8a2e67d87b6dfe6bf8af405a83b1c9a7781e89ca76b46e807b4dd55f83761f5e88a1414e8af230b1851248a69d78bd977f239dc87a30b68d7f59940889c67e1177fd92fd861dee88864cb1591be244838471e77587929508875f678889cfd22b885a6c6081052f387e616a7a95bd77bbb1b62c138a067367797a4de184bef4d981d4d4f285ee3ca07ddad63c7a8003257fe6a788793612258267cd397e8529538850e641762ba213796a18c57ed784b7a52fd508a5ff20d6869efabf75d4df5f8a0e37078a9a432585d194c478d9b3b2786337658a8ca57d878c9eac7a19cf377e01f38482fee8c97926b98085796ae89e949cc590dc73e87d162af77c02e8088786b96a808534d2869636ba7c3117c086a46f587ac74f0e7ad36cd0806677b183ef845e870b1448822f4aa087dbd2be7aca2314810d587d869815da803de1e7855f800b850d17f47e7a1e32f90724a69a3f96087f43ea127b6a182a7bfd348b830732597c4f97457bcdbd9182687a998096417287ac455787b3a8cc8246a11e03b6260486f3a3837effe43b89e505de9b95289f9334b3ab840b670f7df76c63884d12b084dc574579ebb4018104286881d85c12861f1510767af346872d88fb86b01c9176e2bb40dccaa58cfa8517f60409c52a9ecaebf394ed2204a1499d827e71164f818c8ce57bf993528a8dff547c5a128f78fdab6e8acf492e82caa1737939ff837903492c9e15b105837ccb6c96d364cea13718beab45cc63a4dbb267872ee9ba80433d0f89b982877b7aa0437c178bc57cc9db49812ee96d839b96ec7f3087a979a9fe4f8942f577a8b8aa46a5009723940ef30e8fdd242eaf54b30298a5b8d579ef96f8844b5bf77d5e8fd989c2dd558aa5f488833c105b7734aa5889366c7f787df91d806ecb87859e787d9079ff13a63b6b2a8b01851c8c0015a1a35783748ad81b147ec9a56b894303be88adf98775b82cea775b4f787ba9ec7675b3313d7e4d8de588bcf81d8969f4238d5e69be94a58fecaa4121839ae315a69706ddf68a3c56d97b031a4487a743597a04bca87a08df6284aa30628a2da15488948dab86f283667e2ded9e895a7ef0864a1ece89683dfe7946884da33af14bac9579888c54d36097cbe562899b6efe818e3cda7c6f139b800d6a0c842c6fd87c625ffc79621e5084fe4da9803ad79080c31a237694b56d762587fe7576d051879db28578da6af183a7ba867b838b1388eb4f7384144be37e35e7437bd647c37642b8047bac91fd8509359281e07abc84e38bcd7b2ef4177e16d7e4829677b57b6a3c1c86ffaeea7554a4c381e629cd76f4b5647af3c05781599421804f32568846ba047bf5f23485aa42797d24c8e1823a8f7d7ef5c3137cb9f9f17d9b79c5771320817ec486607559163f8aad94d487d96a8478604ae689faf40f884899338a71ca6f8052b3ca7934c7b279ef72b6833c2dcf87157d32833183f87e41530f850d5f2f7f6271647a08dfcc76e52240864fd8967f99ff6c81e8509d75436ca985506f117690e56b82115360820063ec842f79887b035b9e81b91d167da253ea76c2179082a27e977eeebe1482cc8030886afb707ce3c56a868b4f457870aa77776ea76c77fd1b65780504aa7812bf8d87f5700f7f4a42167a2d9aa485e8eba27a02a7f98750398e754c7f1c887ba3f17f01a0b27dcbba247c8da525856b67a37ac57b168437f122843eef50897e485d7de3cc4683d97ca77da1c35f7b1e65eb79f4b56a88bc1597889e305e7b62cb8975661d3d7e1b6dd27fe8bc4079c2f3808adaa7f8865c81887f9797c6852b613681a2003e7ca021df7d2683247de48b3d806d107e75b2c9a0758575197e3457fb84c129f88193ae7b80eb7e668391225c87e994eb86a62a357d2003e5822c5d6989eb3d3d89e4e5fb82447a8c7eab8af6799e71b775277fe87aca187d82215976893f7f4277bcbb3d7aeab82e82a4b01789650b0179d29442896852507cef31227c8015c47a1ebf568a159a7d7d797c5080c1995f7b5cdfcf7e7743fc81c01b817e6dfeb0770e1e5479b355ae7be5cf2d8905addf7b8d5d8e83f57b35834e903f77ed5de57da439b5794eca49779e6a8d7f03743b88c0da998279b2597da81b237ca9466478589160773815fa845326708352a80576e0dfed75c23b5d863773717622b332872989b17f3d4d2a786f7f6586858e6981eb61547e87ae438220d4b781ca47f88066367f77171f6a88bd47c281d086d77c69edcb7881ed067b7a423b84e9e73d85d3a99788c01bc985b61e8d76b1b04178483ff5807d0b4b7ddf077f82ea658b811eb49c8866adfa7e3dc41d861bf6b97b1da66c8463379688ba6c5778bf607b82eed76178484af37837732a8261abaf7cfe95a67f144ba6784c62e087cae92979238bb68159c3217f4d16e97d58695287eda5f579b737557e8a4804765d5d4888738cf9790689308957215e8069a5c6889500347e88bc947e6cb65577c719ef8680d45c7d6f8aef86feb97182e5059a7b7b08898a5ff7cc7ae2be8b81c89ebd89ad77c57532305b85370ef17ad5c9d68482fba7880ffdf18283140b8a546afd7f4809617e5e7dd8788e9a0c83ce42227ada17358838520b785fcca87d83ccb57e3cec797c81ed177d3797b3796f6d557c59827e879f99c49d4094599d8f2e11a25021b88741121578fcf0f187ab6d9d86fe9540800201cb80da5f0f8072dce8867182408610c3e687b517098405940177a3c62f87a11de7a140c6518b772ffe90d0ff517a6337bc7a4731e884f009e481c9ff5d7e10aaaf85640f837a9ddae585f677827570a3df88fd176c7fb821e581e3141a880da01185b9c74d91a8d0adb5a830b98a98d596854b503a7f71f93979f199b87b576d82856732b6802081e17513731f86aa71de7bab9c0b7b9504b77dd33dc588c3081d8711a6d69ce9d132b70f581690eeb4c387ef1f3f891488ff850c6ad17f65c33c83fb556d7a7593da766c6ea289b8f2d4773175507ff665ba7b1b1a07889b55d5872eb3a3ad2635c08f9e5cb1abf8cd4880b438bd8207fc1880c7852a825ff03b799761ba7d45ff6e83f3c032836bd33c88f9528b7842413a8acd5f41791241c6797e00768626b90a94288aa1a5666113b2936c9e8674c93378bd4b018435dcbc896f86f58183f0878944c2787e8bc6a3800e95f28030ab2f84eff0738796e3f086a3bb4a787ab2db8e8605e8029dba41fc0fec099202a3146465e9e48541ca737910aaee828218f280c17cd777ba82bb7f86543685b164ef7c2ba9438786dd3a8a7b507f0163f5d885402166773f8ac7876b9d607ce33c1c7e19b2be8724cf6d7c03e4fc8980c2947b38276678a01a957f5b20d979fbb3b980449eb677a3f51a7f85875e977409adb1d85985923d3d9285a373648968b7367a99c2bf777a4d5e8bec6933b49ebb36866d3b2a857b913e801439228606bf4879af072c7846471082c4eb50792a9bacd048f7eaaf50a4298c43f866892c81747939ed307b3117b0807c33b579b10ac6ab76fefd84ed4008863e54757ee60c6c84d8e57b7d6f137d7befe98b81fc80327e5272b490077466a3fa75cc7bd93f9b809600d4816a061682318eb88537eacc9f21a31596839c47862c81877795452d83768f2486d13aef84288d59805cf1fc7da8802b7d5c2bd79efe2c8a7ba4035a8adce0c37c9689f17f1addd17ffb0d3d76923ba99a5f20aa87138ca276bc035f79cd58d37a36caff7de1d482802d1158980da6d278e6c8b2b0243f45784809ef7ebfcca47fc88c2e7670912e824b6d88813c80618ac0073991fe161885080abf80bf4366782a53be7d00c88f7c081ca67d279ca488d6e2fc838529d8da6786987e49e16a8672369b85ea9bab7632300484fc094a834564e5821320058750819d787050477ac7c6fc85a97c4c77ce05b385d731aa81ec7a6b7b21116d9f402da080b61ed37b640f807b9557458322ba2980bf02c67f26cbf57f844a31f92599597dcabe038254c80a7c11f9247eda30877de65f277dacaa7c751e2fb2862d35b4d8ab39677e7c740f822d9a4b8286fa6d88fb38668752b38b8981ac3286cae9891c02f27487ab62bb7a1fbbd7830cdae57b0009c67d972b7b7f732b0b8a8c270a7926b9557e26b965778754407bdb421988008793830761d8810386eb891e616e7dcdfeb21daf446f7f4d284f88033e8284a97cc4898d76f6794403cf75b181cc8384b694886398b385b1ed06868003e785b80f6c789337238259b1cf8602d2ab82d17b4076c8df6b76b19eec7db223cb7af598fb8416b355867f0e5387afea5e8336d12c79d8f7827d10ceb685f72b9b76943ec675625f6c7b8ed07d7bf0e51289590b7789512ae7f942a87d193bc3b7860cfe8b756a23c6798e6bac77e4c1b776f9a53082692e80857c69bd0294a0e67cb08c0388f86fa6869b434e7c16188e8164bc08860b8beb8269e2dd7fec151e79bc9e1880227d888822e976806f499c7e152e227e8bf5fe7c00c82481e898fade846be38140e0277b84f7417c4f07417e06246179c3130784a5407a7d9868321b0570a17582be397afa231e825cc2eb795e065278485135838804da8666c69177ecf1107f5355087c41e7a28673c63484afc6d57e43856c7d52fb6b813af4d0844c1f6f76d44f8783c1e17f7db42da482acf24e771cfd3281b546ac7526d60b8748fe1f983c79bc753462cc825ed78578bda51c8887083f82eb0eeb84495f067e0fe4491cabd286868a4831815475fd818f38ea777403c98871e7ef7ea3c6678512d81d865d110f8c34698d7554afad851fcdd8810c87aa7b7576bd87b58e8d783051d57750323d8688983780655e137f06774080977ead773b79897760af1f7ab713d97c320134a58490f57fc391ec771c748778eeed3a83d8e5cd7b0c1b317650397e751e2d439514250f8869f46e7e32011f7b923bd47f1415e87cca2ae676abd23088e0933786f3370faf90fc5c7a11700077b044bb7d6b67398893c04976bb6ce7844caacb8e90150b8a47387d87a7267a8092e8f383250cb87f92304877e0684c79be2311806aa14e90e6c4b184e8d9447a36415e7e985d2b781cce728a5505d084eb7edd94a0c6317d564da07d912216873720188445ffa3887be4cc850b4ac98349c4fd77b0035ab57743148037b193853c104580ad82d77514159f7eb4c19d8ad4e6aaa8f7030ab738f7d0840fe4f07f92831f80181bbd80af198a8857912a874cc3538aa3a9b184886909a28f67ac8db04c29208044f37b744b1d85543f9976bb1265857df9789baf534c97fb418d816624f780bb2b107f3e951479f5987581800a257985c88e7e6c757b7600a4c1a0b45b9c9448f01495730fb57c8b73cf849c925379f7070f94c5f476aef6b56c92385d8c87d66b3c89f469477c88869387e26060883f981786026df37e2a19ef88f051149ed7d571ab211d0696fa4b4c925b06cdf90b12b2acea4cd994d5f38fa9096b1baa1006b2833d1705846fd93c7608d46e834a25df80a5acbf794cb5a77e37326d8a1b3e6a75d1efd3932d0e509fdb5a679bdeb55f839591fa9214bbeeb30790b58de9e509994ae8207b4929a68874c20377692e2b81b23c58827e0750779f499b816087c97dc582d977e65fd27dfad0327dae652276a0e4e380c964e3814df92e81d70d058694216f790b798d810e953b86987a5c76f1631e7a3199107cecbb598a1b5000879416c67a433d1e807fa9d0788b7e6b7d6b1f6b80f450b3784ad6cb7e7f3d7789b09e05783ff6838450b7a67c10fd09819ea75b84483429889117d079eb12ff7a64ce877e86dd3a7e44c2e576c4e4c78992dd2184b41b1083ad8de681a2659884516b99797ea68b8a7c3a96812140577d7050d186273ea2868625a48003f62486497c2d88cde11c82c797597a68273a86fda03f7a72d19a8025cf8e85c3e48a868b3d3c8216a1b67b863b8c7b9eb9ee81410b977d9bde3c7bcb1f817ad4cd4283a743b689f40f92893852d2824564128963b528848678487e4cd9178a6b7933817714a683b4a4d1794593ff83b695d47e01c4fa7facb56682ef67a086e7080681fb67627f9dcf917c8438338385bd647cffdd427886d68784084b84788f721284ccc1ae804a8a5f76b0731179ec61a875d319af7742add57f49588b781ff5878382a1be75ad9fc286be0da075eab1bf8001057f821ebf5179a17bce7f95c3768523d345893eef997f9803a383b5587d7ea65984813428377ccb4377750e1eb88273b48686eb199e7d47431b837e5a8c76a2000e8217f7a989b529a2871d00c0889cab9b8092fa3982b886b4760832407b0732107918d3578636b48d81ad9fce7f8b4f658a51ac688904d5e378be8fcd7758862e7960512d88e2602684f06ed37ad84ad7875f38518621ac3d84c5f94f83c105c17efc6e887f88864f8349f38381003f2e7a1c0f90805953987e2d11df7a75b7c276c87a1d7633d23b83f3c07b7f271a99754485fd89ae19697fcf49c475db428f75355e16875ac6f27f986fb77704451081b5ab4f8199c9fb85ddd5ff815bcdc98699d0da7e40aa8478d7a8217de64da08891b21a7b6a4e477f162aa184ef848f7963e4ae7f55b2747ee8aae78113973e85bc15dd7d10eb9576c3541b853c511277f7e38d8129ee7c8277de3d8425f39989f3ae567b08c297791d942b7743eacb864c9f9581eaee987a2bfc8e89b6255189a1a604884780c6894f322383d6c503779d874487740ab27a1987977ecd05c47d9e42d37e9582c97e93a3827a8b07197b60807e88ec27cb89c33ed2779cf7a38491b29d87e8ce317c7606967c1cbc427ff2a0a4895ca50c84099aba75434fd6808ec5db790bbae582d59a267b2193377c198e02882392d9786ce58185cd223a764444b782d5ed938493f6fa88497cbb88a547368407df8277524747800ac52479c3ef9379b7ef637d0a7d448ae505fb85d2000b81f89e868a14eded78354c89764d69d6883a67ea761f730d7c1660c57e4b910c7f4265d77adf24907994d9e97d9790c1794b25d48978b6ca805ba2e27bc9e65c825d47877a0075ac86e4f7ef885260a5894e07c382873e7f7a765976775ddb657c9d6a5c867224b68795a61e8a8b32bc854df9c77e2bc6047b471f6c88dafa7576b252ba86dfb46f7752befd880ec0ba89b9c3e67b955e41806d104688ebeaee817da6207ebb5ae182a6f4a0802140548aa224798a7d8296828dffb27c268397866c75ac893ee4f184c092557816be177d6cf78b8489c31a7a8b90237e0af46883a3bb458803d91f7f9653b476079058880c6ad07ed731e88555f31a8873442379ff13398a14f8d9820ffd8f882093ef7c55feb27f2c15658a7e072788a4931b7b7afaf276a3bfcb7fe65f8b848b0e817c89f27c89ae2b6f7653721d7e3a842777da587b7e47a8b17d85eceb7e2451a7855fde4e78d14ceb786f37007e717006847899d67a8015b87736eefa797b3712870022057a8176d47c810a5b88fc1b51832ae3317c6844e189980a4f86a13a727f5a5a8779c873bb79335b6c7f58e0be819283c283f594d77c459a187c4f3dca88dac04689497cdb7571e07b76cc02387cb3de3e7e1d82c389e2b3d77e79e1c187681c76786295c77a50157483bd35367f2dbec389cbba5088dae83a7827781a7e48f7e084e31fb586c9359a77f83d0b7e02cb9a89ada61b7f89b1e87a67d88c7e6707427b99938e781946a582d18214818af57b892ff7ab7ee8989c83f05c297f6f49ac7b60c87b87f337348746433583d576bc75c06e6582276dbb7d4045f27f54ec7b8095e77f8111b8f19346d17daba9fa6da11cf467aa3859288f3cc3728b9eed0699dce1c498a94081abcc74dc93adc02d80a611e69689d47e76d8e5ef81f8df167bee356686fa47db8079296890fe180ca68ea14a8fd585aea5e57284b721d15690735e838c7fa9fc90139b619ebd8bbb885e595787155da79923dc97853e25f6867c169a89cd4d7d8155b2fb7ef283a7b6a01fc59039f30d8be3f2fcaa038f8c914e98bba90e3c390475cfe121366e6c9c95282d8c24ddfb76fcd3e8a12ce52f8a9e9c2b7dd731f887e5e10678796af378db30477dd29b5e91d6efb598e5c645a6c33d249705e638963a36d927ed7b3f7b468fde7fe61793872174c38c3c56c8806533e4946850c47de95ea0881d24437ecf66a68911ca7183257cf48036e333b14fed0a94b7f8369e40c24ab15e273afbf4242f7bc014267d0d46218697689281f3c0707d42369a96dd92ef8486a7e285868a19877702ab7e74c2ba75911089820964c58cc1bb5a8d0d6168ab7fe96395f8046584913b5e84dcbc9d7d691c4f781880ac7fa4270798fc66e48569596e7919b2f9850b92ac7fbf720d7f5d9a7475b3b304b5ae023e9c438c2ca7b54f16ae68e4fd8838b7e27e9bfb787efa2ae5838a890d7e50f8278074ddea87b8a32d8a8360f575be9a587cd02c0c7fb07aaf7fe7789076ac2c098d48130bb71a90919c94084e8ca2e23e82e93a1c8744d405766af43176f3135e8af881de871356c17b23c142a4336d307fe8ebea7646c51f7bbff01d762d648178ba9bac76c395cd88e8eb12057ce8bfdfa887df81df2b0b8a88218882fc269a7918b6a085ab2ca1813feb8f860249749eda88c17d924dfb855f5cae8124b6bd8722e96f79f4a3c37677f0507ba3a6290509290add8ea2a189b00a0c83699ad087dfcdd688bd35d082444b5381864d367773a2068d65335879d21dee7c9cd324817c45bd793abe9a874f689495c77f489a9d579b87bc5d58813cc8ad7b4385387c0e66b7818d118a7d66129b8af10519864c0458a4fb9f2586dd3a327a2bd82c8087913a76c34221860ecb6b77001bd794f5078d84332c2a7b60e553865d064881db78b57dc3e43185337fb481f4b58376b372c08951e20a857ead35856815ff87070e4e8afdc4007de575328529774a79921e897d22a158fa6e65bb79c5579677223ce77887ef4a8381acdc861a660d851bf6ad8548a4ac16a756c877f57b6a7858b56a879a0d6186631a0281c6bf6a87194d5c8932e4969bfa8ccbf9895f23810a3cf07f65286c78f45bbc7524f7aa84178bd07e3f08cf83d9ab8fa3c8e08576fc02a08a8bcd767df2d64f85af6114827e7ee886805d0476e6a01e83358240fc52a107896e9cf08443329d7538f1f7777befdb8471d5da79adc3ef7bb534d317d69949a6c15000822b97cf78ba65ae790bafbd89fd4d7388d731618871772b831631ba7fbe213a7d233828890a8baf80122b39868a89188a677a57843f5b4c7b895ef2f6a8600f8da00b8d7672a6f5894c7b4788a22bf5863b8bcd7b36eeae7cbc7aa388c0c8e27cb9b1a97f18a43e7ea4155487f1c4797fae5a397d739757783cdaa27b49bdd0b0f72f2684eba23585974f5582e0bbcd7f89f90d7b1d5eef7f7c0f586bc4f47e797fd19e1aa42fcf7d7b08a1832ad13d7c08f1da80f612927d6ea7ea825ba91582df3d60b877428d883129448aa6a1a8846f91f9772b61cd819ba8488817d32b85f3e4827b464e3d1ca62b8d86045e467d770d3e781c5064851cc3268677d3407e6ad78d8027eb5c9da485877c3964d1773c6e7f80b9287481069b7c7d71e72d768671e38039e2f47c8737c1849a065e82acc70280fddad8898f09ac893398c088fd17828828f2fa8ff3a7b978bddbfd891bbcce7cd8a43685f421b5879893427abe2a5d7697bf85825123907933e4917512ad6c7efe17e689528444878994ab7dd2121686a3203218f9ccfbb539f89d83848054883afbea7bea82be837a784089d74359823632c07c7fc62489ba9b2b86aacbd77b6fef3787ddf98777f641ef79bf6031824e12818604e00ca3a529537affef3e821e12c889d10b2787e00a2c7a784ac0764444d9838b73ee81f4aa2a97f456c188aa1e7d789f49e37e23558979e30dd37d36d11778d02c98aa1cca728171e797839ed69f840b094e7c2efbb8805fd3ff8517a4d181051d8582ceb2c3800cfe9eae3e68e2814702ba7e21befd811b7f9383e9b1567e24925198062adda32dbbb07f51d0827d6122a880e0f14c850dfa87893da07f8314d4a184ff784e83bc277b7d83883109d35d4a8746c5a0792c44ad75dae83c7b9eb9a0825c7a1b7a5d52ce8506078986a9466684c7fcf1898c81f8824fb4347dd606fd81d8a42c8af1053179539681856a7dcf8dd362e41904e8497e9462097bc026c016948e1b8652962278811c51853e421278d9878688614d6086cd29d0821c21a97c8adcec7c6d87147671ce407bac0f55806881268f947260a23b13310b5edfd2a1c0c7f8940b8d7877b8c70b775a94d57fa43916770c1b2089645e357d593a168549cf977be181487c77cc1386e845a07535f2b68cc3f93d8f3201b17ac14abc8a8e117eb15ff74f93059ec07cd0aa487e5ed0d4894d0bfc8508db8380e04b67780134877ff9a5b77605c37786ff0130841ad252763105e8a7cdf2757929c75685b799a78a41b690a64996109aa444b7781e368c7c151c1476b3433378a7557c7dc6249381bb4f0d7e01e8c384f2d645887c0fc07c865f978c4b78dd89d64e48a8f454d57ddbf32d96a030748c39814a86ace04b8015be4b7eb8fde777fb7df485a3973f81e1881f89a6ba96887bfded79b98d907d9993f17ac0a40595b5684078cf95c1a99852d1ac70f49fa4fb34fe9073a422856b26b07974203a7613ea107f83cc6088d6e2587dc16a4c80414cba885367f67e9707a4890619d8850c673880f670ad8be94c86962f2c84a966d482915be34883e82c40784062b17e5ee96e76f09d1b8650b0cc7b4784d3877a25967d8c441d7df761db7f97a93080897025826283207be7378684332cfd7e206f437a63498e87e99f8375b4f75189bf8b8b7be32af98687c08479b7aef885f88c6b7d8f846f7bb3e9da7fe558957f0009dc8643a96c7e9b148879dbc08a8215ff388aaa42dd7f4a5ff0811ff1f5818e06e47ac8cd4a86f6eeee82aa30b87abdf8cb8432542b87761f5d86f3b5f486b23c8077ee9ac2777d4ca1751ab2a078171f08853d0527878355ec8757913e781726a784ea9b1c7e45db0980bfba027771e0358258eb2e89aaa7b47f5db73d8a47802a7e321e8879cd346383673d8e7ac4b55884a2772188b2a1717e6976c180ae9b567859579c761d69ee7556b9cb7c9bcc00847e071c82ac50d27a3433ac7948af2d881523bf894b91237b1a1e3c852750dc82ee23dc7840452f7e8cb0057b6d34a688a7f0a275f08be77df90aca76059f577c7397527c7d94e488f744fb83783fed85d5939b8708c94688cfb55b87f8686577fd51968287f6f77f337fbe86165543771acbf4779a06947deba203803e013b8a49172984a08d288449cf7d851a308c8172891783a59ab7898231ee7b1d704d848613c57ef62f6b81dcfd4f8026b9d276339c607d0b676a83f0d3d784e1acfc795372c67f94212d875410a28113cda37a1ad69d85a7d3d47ab6e8107627012f8823792085b2c5b689fe4230843eaee281838b5c7c92a70687ec03157bee18507a9a351d8019295b81ca605a7d1004fa819dab4179e63b4178def95b83a56493860e428676c7480081dc339c7f00feb180301bc287f90a0378d8c1e17a6993787ebc03b389350030881cb133894851ac754fe3c9757a3bce77bb5ac287ec6f8c823ae93f7c3e78068122c5217cfa0680878cf8e678ead59586af858e76f8fc64824caa7889d3a99581f55e177d90c1ee85430ef689c81cb975e0b45e7ef2e8f1820350b67a2d52c081925437839935b97f93ae69818a7e838367fc8384b5e10477daf33b87a7c180893f7f5b8100a4f081c6bf058280f88b85273e0b7f0f374584dcc70782d2891d7f00ab0b7f1e19ad813f50de75676c0f7db93a287f5e4e7583c117797af75a9e773e951688613b787bc217e47769ede279fc26547a405786859d4d487e9e54ac83ace08276357bf07c9d87be829271698a439ec77bef84018a124f4d88fbccb8778beaef890c879076ae2fe2885dff2a7aba41178a9b8b9689aacbe97de235658477559f819271118213ea9089aebfd081aead5a7ad987af758288d4891aef73819d8e8378a9c80579c0f0cc7805d523830a2a2c7b34aaa67d9c09937502cb4f8399110585a810cf7aa48c18812e3174836bd3ca81b4c8bf7ba55280851385bf7a23cc9c88e111248a3f7ff9836565b37b2886a389ad82808143d8d67b0fc02a7ded52378414f8ea85680a7c82021ef280d13ab77ecc26c478415e777595212b7637ea107fdf85e97da2d1d57877a85a8f054fd87817cc73785eacd181fd4d1e7ae8507c8608649675ab49ef753ed6a17d82594b8a75be6684e994417ed008b18982d7a68085346c75527dca7e4cfd827c925fb18a26fb9c7d83969e80d5c962781e2426808f9d187f1c7b6b81bd23737d36ad907c5ccd9b88c213bc7a2044cb7da30eb3848296f97a858edc7e66f5c1804dca5c97e631ac8383d3e9924d704e7be766177fc283e37e0940a081f5c3a577effb0f78d128dc7ef283a3849ff6ac768db7d7864141ba88f4fd0f85ae908783c86fdf7aea1d9976c06eac76d5395c7bff787578c2e8a180a0864e7b18d3047f8188748722b30178ddbcf278d68f468626d2a6818176b87618c81588a141c77d688c5799bc773b7706b86a762f8fd0795bd82a762766388564453c856c63237a9993867c28980d81e372fd82d659ef7c1d1de3817f0e7e7dd36cf77e48e5af80200a027c2b7ea4805127f67540e4ce77fd0900783fae4978ff664c801c57cb775701257d12f56581c313ff8387e42676cdc80a7e0541767dcfefb37c209eec7ab27d24874b3e52908b18f993d8534d932c7e948a6a2a6a81bce6f381587bb77d9feff67ebd766a7e14d49a88bf55a3791535c2888326787a68a97579943e53898613d986d8a4c189c1bdcc85633e9d80a826da754c1a851dfd44aef8d62ba41e5d0958f764995a18c37b007fb563ce7f82183f7a42d1b57d7f0edb788f604c89a6c53f83c6f508863d712182a796a8b87bfc419c5c4d928c461498b3c64e467df0f00577cbb3bd7cf9b0af84652f06779b180e7630af657d3e83c487f88c648321596d777838ed8534b14086f6483682494d52a54b994fb14cdf889674ed6fe45cd01677fac9c77cdae8f77eb63b028737324d82d2775d7bfb0d5d7ce1a574786c8be787446fbe7dd4cdba808b3d3e7f6f081176c736929aec6cdb931c365da2f60b657a63e42f894e61fd7ffa064277e70c1080eba22c7eaff558792e18c983a481be75246e828625a70d7787dd30804b1a267b30c8b7907cb36899915363b8a8da7c832c2e1c881eeaeb78400f5279d4a987769820c27d35d5827d56787d7d35e7d0838aee81787bf6f485b379f08946ba9e85f36d258811ad0cb5713fe3b036c48f803b9dee809a182a7ef8bbb47a816fa786238b207b02837b866815257d73f59f7c2c27247a456f3f8a7df9bd7a65d5ae7c446817839bde42b42288a1ae2704c77caf078d7b2ee94780d796e57625ec0d828d2e037ae850fb8070577a87aa8a7f88b9a6d080448c2a77e563cc89ce9c0e79f6a63779b5abe08996362dab3a1b5295f3a0c788b0816586d5b7c7830c990c78718d2d7ab1520c7945c9ee76279178835aadc77e936d187b67e3087a32c44e7ec7d1317758fd8d7c7db13a9d7462d78fddc781813ad7a88792a79383b4fea2758dc2c989eb612b78cda49f880c754177d7a15284f6e3418453794d7fe8624288e2fbbb792480f88789534188638656a9a84e11e2c2212b82fac52c83c91c0177bc320c81463c8a83a6d73f848fa8f3827ef5c586fee8e884bae36783cb26f87d28fd03897ee3f78490229887bbc6f09981c9e595298684870f9102839f9c44890022577c7403908286427e86c83960881696aa8591a06683b7b5f18627b56288c3c7a28517f01f898dbed87729f9d37fd8d3af9a36f8527b9f8ac97fa81b897950df3377dc74ff7d172686884b2c5e7ce34ea786a10be987fb8b28814606588577141781d0ceb5780080dc7b35b8089af50605a632ae6380b113b9841f448b7c53af8e82629c8e7b6d462c84b529f8853fa33e81f3541a7d5da56888347b008ad8f76f797a7175779db675760aa19a88e6fa9187b1590baab17eb086d71fb08185b2638ab04017856421707e37d805881cb15d88724ffa759038b588f69ba18984bddd7b47cc747938328d8319a72d7e1ae8ad862912c98eb6d158a54eb704887212bc76e02002850249b477f2f3da80020c547fa9222488c3b52c7c5b7edd815e06c4897fd88d7b30ecaf79f2faae8243c6a888761f9395281ded91edd4141ed0d5b978f28ecf8091ab527827aee97c6e424082b75bd187f7195d7c9a7df67ac230ce8419a0958948fe517f51c93877cbd7fe7fec03fd81652fc6882e1c87996f89b81c7afb5c7a5f31277e51b72685560c9a7f80e6cf7a86cbcc7cb64d1778f2c4f377c4eb0b83f3ae66890e01a978324d7d80597000884858f28894e06b6e7f37fc75b98dd887eae34880108d7b877db89d7722e2de869b79b580e99f9e822fd347852df4697514cd9d7fe032f18769db56862380f97f929572899eaeb77bb3670d85bded4318a4fda9827219bb87696b6f79f05cbd858a7e6d8901e84b76f7a2c97cda5fd17fbc7a1e8244d4ec8081234387b7494478ca6b05859607b68926aee289951d3d82e6b2a1769dab9f826582fa75eac33276de3abf77bf1f7a824bd2867eee2a257e93912887daa739834ffce37db83364850947b6875cd437897c1d8d7fa90cc4855ef0627bc0e5568409ac0d7fea82ce85b07afd7eff01eb78a8802189e84568772ccd0c80b2060e7fc271587d5343288876315283a33df2894dad79822b0e6e80b9b1dca037593b873416db7a3e4db47f87d20c89e8ce2aaf8d2b4d87b39d3f7908f86678bf43fe821016298197ea5188eadc098aeff09e7b3ee8858894b85f7d11b12c782ef4e396200a39180823cc7dd0a3477c6ad73278c7c6d4ee5bf2d17fcd6a4382b4c84583ab5b6581b8d90a7d0d46737e1dd5007aa0083076bdf83a7b62a7228138a59679ac983ba1759f3791f434af93ec47b7156889baedb06e6a8c964b139ff953427a3de10f7917afb4882cc93682cec40c7da128338a331abb76fc26618946cc1588e546a6877ff118a6a39c919a6e8d7598e435f3adadf59f9050ddb694d615", + "proof": { + "index": 0, + "siblings": [] + } + } + ] + }, "job_v2_late": { "kind": "job", "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-3004\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", @@ -1441,6 +1464,305 @@ } ] }, + "job_v3r_a_decode_at_another_place": { + "kind": "job", + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-6003\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.decode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":2,\"root\":\"e8e22eaf6a9b4b9780158d72df5355db15f9d8d60b16eef2a3125d37e763eb4c\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:33b3222f174409aab8ff1bb4c27402c81f4c94036f41e536e4b92775235ab623\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.int_motion\",\"cost\":414720,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":10368000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"expected_cost\":414720,\"expected_ttfb_ms\":155,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":345600,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.beta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-6003\",\"kind\":\"wai-route-record\",\"operation\":\"media.decode\",\"order\":[\"im.alpha\",\"im.beta\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"f21777222be301ce7a95a3e661079cbf6d7b457659e6cc129835221d8a458da0\",\"sig\":\"20f29f027161d9aeb3110dedc21bd3036b26683eb2602fc01c7581ce53c7b90268cab3a4d631fd30adff10b63f6b685d13c8de6dde801e979667029c5641c100\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:33b3222f174409aab8ff1bb4c27402c81f4c94036f41e536e4b92775235ab623\",\"kind\":\"job\",\"capability\":\"oer.job.media.decode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:feb503a5e4b0b68a35af872214bf953c3f59851e93f8ab1e021c133171997e73\"],\"output\":\"e8e22eaf6a9b4b9780158d72df5355db15f9d8d60b16eef2a3125d37e763eb4c\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"12.0\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"12.0\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:72ea4ec4be4de1b922d97ea78c4c1e14369b97e5818552dc818e32222b823cb4\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"a433e2fb5c93fc912c4839c7c17bfeb71a0050e75b8b246d7884b6a99ffbf6216eb42928230c7f035486ca428291ef7d8af7f6e76436c1fb0ee406076def5f0c\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "receipt": "{\"profile\":\"wai.video.int_motion/receipt\",\"codestream_hash\":\"277865b574029f700f4fac023de3ab06ae598ee6f8ed726444e91442a6bd59e9\",\"clip_hash\":\"3492566e8e2682e3b3bac083b4db02ef8eba9a7f15d9faf0e27feee0f6eb488c\",\"h\":48,\"w\":48,\"frames\":[\"e1d8e8f8b5c534be1421e5858ed9137808ddb849bdff2bf397beb32568d8eb69\",\"ae7214babf5bbd6ec279434740f3271be43d2392b8167813fa557b5c4426fa14\",\"b3ef86db27b82d303bc6b612cb224ad55259b4f2e2c0461c74dcce188cd64b99\",\"3906f91010bf1b9ca14f6e2ac9b499589ac02ff4465e1d9764a22443a8b29c22\",\"bedb1538c2071d705d2d3ab2df2c569ffed440278494649f9bf1ec881561c519\"],\"merkle_root\":\"0f3fe4aa201c275c10289c22f31e7211b555627b33a251bbe33d094abada6508\",\"work_pixel_ops\":34560,\"joules_micro\":0,\"uj_per_kilopixel_op\":null,\"energy_provenance\":null,\"parent_receipt_hash\":null,\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"signer_id\":\"did:example:sink/job-6003\",\"sig\":\"987b44cf8265fc72a89cd762312c94a3afdffaeae7b3d3fedc7b37322b7761c35320c5b48a2899da3a40e9062eb9e051445c247690d1fda292edb25c872ebf0a\",\"receipt_hash\":\"aa6a271bc4595b4f70da0dead29ddf5b6291358109c776a3d99c1bf46637020d\"}", + "codestream": "57495631010100000500000030000000300000000800000006000000d5ffffff590000000000000004000000090000000f000000160000001e00000028000000330000004100000051000000640000007a00000094000000b3000000d8000000030100003601000073010000bb0100001002000074020000ea020000750300001a040000dd040000c3050000d2060000130800008e0900004e0b00005f0d0000d00f0000b21200001a160000201a0000e11e00007e240000202b0000f6320000383c00002747000012540000556300005c750000a38a0000aa9c0000edab0000d8b80000c7c3000009cd0000dfd4000081db00001ee10000dfe50000e5e900004ded00002ff00000a0f20000b1f4000071f60000ecf700002df900003cfa000022fb0000e5fb00008afc000015fd00008bfd0000effd000044fe00008cfe0000c9fe0000fcfe000027ff00004cff00006bff000085ff00009bff0000aeff0000beff0000ccff0000d7ff0000e1ff0000e9ff0000f0ff0000f6ff0000fbff0000ffff00000000010000000000feff0100ffff01000000000000000000000000000200fdfffbfffbfffcfffbfffdfffbff00000000000000000300fdfffbfffbfffbfffbfffcfffbfffffffbff000000000100fffffdfffbfffbfffbfffbfffbff00000000000000000000000000000000fcfffdfffbfffcff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0400fbff0400fcfffbff0100000000000000feff02000500fbfffbfffbfffbfffbfffdfffbff00000000ffff01000500fcfffefffbfffbfffbfffbfffbff000000000000000000000000fdfffbfffcfffbfffbfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fdff0200fcff0300000000000000000000000000fbfffcfffbfffbfffcfffbfffffffdff00000000000000000500fbfffbfffbfffbfffbfffffffbff00000000000000000300fefffdfffbfffbfffbfffbfffbff000000000000000000000000fdfffdfffcfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0200fbff0400ffff010000000000000000000300fefffbfffbfffbfffcff0100feff00000000000000000100fffffffffbfffbfffbfffbfffbff00000000000000000000000001000000fdfffcfffbfffbff74420000280b35593c000000a214bea9451501b9ad0cbdbd9a309164812c7ece531911d14717c3dbbc1d27782217989f7218f20d121d7bd4ca1f3eb3ef1f71131429e2d1f626c3e7ab249c33af4fe2d2c042a6d2222fb9b3c460c33836571567e55a40c90777634123135bfb8e1357858f0dfd6cd3316844ae2fdb041518b067b9167f09231b1d6f1c16b7df311ea6450d1ea29eed1ecc320c2b747de0206b34c82a708a2525b67967473d53e643c54f6f2f42e6355aaafd6534aabbdf5fe1a866406fac26314f6ad812ef006e0dd2c39e124439f5306ba6e0396f65ff1627ef771e0071f21b088eae1efd0a7d22d53ada205042fa23135ba627dfdecc3c473a7353bf1ea7435671e53209bdc9581998ef568e94f260c2af006595d31a5d0301d30b0e96f22e27c43d162997a218be088f12dc9d0915dff4db17246c1a3c61066e3807ec553cb509743e78e21d250c19332ef30e3d2d4f94a0275d0ead4e59f7ff403f44c02ed1b145563b075b55c0ece2599ea8038a52c4e77287a40b3015595e178405f01716799f12508739158ce39537c6364439c2c61335c774823feb0e4a46484b29464146093e52ba6e2e3e5a0631121b992d5a46a848c8478e518c794638949ff05b4c57d23967cc4b57d3bb164147bebb2f4cd1452f40e1701817cec818f564ff13f4072317feda4f17504f253558977544d057484615df8028fbee312a5a55ed2c1c72d1257130d62be71dda51a0a97748680d2735181dc85721d3923f8d192f8794fcc96be998eb135e56840f812d952b26dc2f2f8537db1701de931a9e0b811c99606b1d7a72b81fe6796623b2e3442266abe726bfe71c26713b582970ff964812b3a7511b88474ad1a39d60fe77fb5b93faa43aa689e37f22cf656dcdde8d4a529b091869c19a199bf5af108ce21a33eb8ae43a8485f63a7c0ae7f3e9d6d3fbf35320f44e2572fb823070f38da5d5fb4cd37f3e167531443d7027341943de2d2e0dbe4918ce0f53b1e5a7368b2c3c6ff4ff9044663d54810e945168c3b1d019852e9412c0563e10ce0287359612c8365ce0fd34c5cdb9f290f0e017571aaef2f889ca179debd4f3065bae18380425f4d7c9dd18bb2cf626ea6faa24e3f4384b1da15a3d6df8b52cc90b935da2e4c23b9597355cee7f1945393e249b7b14ad729ff91432962e6218224895175df6f11b30546af34ef81f1840d4b4f24290fa19e90d41f3792fbd17b307eff2702189161f1552f429b1fc18154682320160642d6a8c304b9a74645336beb060762fd36780e26160b5380e4500bf316ab3b6594b76993031ace92b2efad9cb178983121b9d4845f4ba36071a9d404af3f9d4f2199f14cff37ed44717baad75f448628d19af3421f46a8b0f19184461f3ef7bc1178d00634bcf58624c6725ac619927f15545490f360e0fb877c6814c6b9ea2f952ccf3a3abad91da10ef63f3144a0f23340223ff35814709f4d3516c16e5bb75f3a3574719c25228f4b5a03e1636db84f49a58781762e821f35742a2181bc2f7f397ef311637054630ad43d250643a45395291b55b725ae5723bdd1b62eae7a445bd65319f19c63568c61a5b1206b34d3bed1dd63786de01f49a49affb2a9cebf3518ed9fb7f061bf402f2bdfb0bb9c0f344eaa4fb1bb58df3fb10a4fb6bcbb8f3bb45a0fbfbd11ef477204efb6ff5815087d668629a2a0c5d17e9236a698d0061d79fdb460b2f26a9c24f33529ee32911b3aa1515876dab37a91b8339f13feff22ac0af17a839caf36b8b36183cace0f27ca7e419927205f46713bd1740d4a5f49da36019a6baa1f4ceac2c19b530c1f2eaf4de19c6322751ef91df5b92e05f6533f2a760db246a7d1551e266a304d149e19ef5ab9b67c917279abc17e5eb69fbf214f2182014b4fb9ffe3e163705e1fba23dfe17e466a2fb4cd37c16dcc16ffbaaa6f61663923efb92173218345ca6fb512703175f6a95fb422b751962216358fc9aad68a047125962cd87430577849addf21174af2dc5499c4fcf8778b8293377e4ed3b12154cf3afbf46fb6ab6baf3dc41b0fb4cbe91f32c0b39fb2ef0f3f2262a42fbe21813f3cd5230fb476af8f3870f92fbefea62f47a7a92fb7234cdf297d11f5d8e12023c55bf666f4ef6005c8d58bc9549953d730699fd4ff8264fb23cf0ac1886051a1c4d05891af4edc2fbf792baf24163bdfbe896c3f32f65e3fb6023ebf2ca07d7fb66774bf4993ad1fbd99a01f30be2a6fbd34630f3275768fb7ef1a1f2f78972fbe65735554ebaa9390610c05a5315734087513d8c09862074f653884a096d36bad118d01b4762691789a9a4fb84456418eb0ca3fb4aa9b419eedf99fb865a481883a740fbccb302171e6b31fbdcc4a318d918a3fb2772ae179e15aefb5dcf1b17b3873ffb7673f4189ca65c5d080bdc43f1e1b278e9bbf0411aed639db279b76db39473596dd293164dfc0317fddbabfb866f2cf49fee5afb376ea4f3351975fb9baa96f394a45afbd65b6bf333ddaffb9de9fdf212c3d7fbeeead4f2262aa9fbf329a1f4fa10ccfbaee586f41f6791fbe442375aab92fb3ebf0cd287434e9d6e5b5143a22f6941660f17d858c6629c18cba73c167536ce1e8e78a81944d168f419b32118417e79f37ee3a4168ea062f3684ff8160f7514f3d3335e16d0c984f4e44f5716db178bf3f1e44f1765e6d5f39b589417ffd4263cb1b60b56568bf7410b9931975f374f710f5c7f4fa42325bcbf1b8b7648524f17d3a2bc1d17f181fb389846f3eaf47dfb8dede9f2ef7b22fb6cb646f4429fd8fb1ab5a5f4cd8e2ffb7dc74ef4164ac2fb955678f3aea1abfb511264f4825bd7fb2cdbf5f268318f5c44110177dd73146b7a24ef4d9557b1ac71c8ac855c5302606910468a110d2833d76a203d85cc1c16f25d02f36cc7671902a893f3c335ff186fdffbf23bdcd317eae2b3f3dfb9001a3c8153f3a8edd118ccf62bf491591a17bed596f344cc8916cbf73c423ef6c45d15bc03651b1912a83850df6979ba2a6292c2eebd5d91e87574332d1ec8640e210884defb523cdff2811f84fb900283f397e066fbb5636bf4b5af3afbe896e9f2ed4ea3fbaabb7cf42cfc51fb744940f4fc3dc7fb444010f3ebf46cfb40019ff4ba45685818c3743cc9991ca49c3d626e6cdb6d54ca28d67ab141e2599329871efca9c71b6444e22057e352f45dd8b917feaa52f42bfc1119743121f3694f9818db6c99f3d79c4618989917f426394b16467b0df3b1fb8f19521d21f48db4ca175a186e3dbffda754ced3533d92a3eea77ad2e668dd293056741d36bf0ff6d877943fff1c5c2be22145ecd620c546c1f3241b6b1627e58ef43e187e1951f342f42ab1b917ec3602f4f8a719192312a0f21e3ac51704a731f4981c4f168ba270f48c969c181fea6d40d92c977aaa69c464c1fe0b4fe4ac6e6dca35ef5f6aa19dc29fe940765b492821c377c822552bbe2132b22720a4a99cfbe66ccb18874f90fb5de48618e3bcc8fb7a9dfc174fca80fb033b2e19226885fb5cbaa018cf7481fb4bbe3b1690f45071cf3b545fc7dc4c460fb904a5f494e4710bb28c59b37201bc93c3b85cedf29ed26f8cac231756f41e282b6e208e484d416f57f1f2d56f3617c0a984f402e336196a0dacf401f23a182db681f4e431cd161e6be5f31d3a03177b0239f33755483d85c9d2624864d23f6bb7c5a69c7e2164d4f8ed6167d7fdbd05c2405ff28607d169ffc3238fcc5423c78c9346c614a93f473a2b17750683fbeed5a017f40664fb11227117579a43fbf768d91957ef44fb4994591639592ffb3898db867e356462c5292e4270ba30a3145c994dc63817c2b506ff790c88855f7484a1d36b3cb022b49dc01f39897e3db627e7453b7eaa47ee9c181a325d08f3aea14718447cc5f3ce9d6d187dabeef346352a168c4c9bf38ff00e189a54f0817d9e5867e164264acf9f89a0468af5865b1d0f5d44650780f7a37565a8f4c0ceb96346217425be3f42ddfb460186a443dc4f4f39e726fd2e11ac22fba65269162b0d79fbccdde017447c95fbeeead617a64c9a609f26b64105687099d3e8f96edd6e714832a030810d602862a462e0c908e95486467e4f657a255646fefc1b3d6612ce46f05c183a0aa2e63122e07a4fe77fc847dfdb81f4981cdd5a7e25095e2496ff7c0d982d61f1b45a40c98a5da72c8cd36f9bae985ea04c49826f6e0159848c46d189116c7425229a29dca5753180914230f7d87f2cd1e2294a23bd653c8f2c033180eb015dc4796a35ffb37e5d2a91a83e040b6f9551375c7318d897491c79c9bfd5a26b563d7258cbb89e8e7b06429a6fdbbb519019578d2cf852092d88bd0f2a78859a2f1ffe22519dd8cb507fba725b0e80ca5d8ed18c6087f6007e90e4ac6bd0224e504285c6ad5e2a4885c47c8e5608003a80cdac406c2de6e9d9c33b3d881826ea313c35a52f98773329023e2e2f644eed4c9fd91548d5819c5845a9c356a9e281411746cb75d8b9686bb07213513a6827af9e2d2582d3aaee5d0a1e1582463d496d83be81d6d0003b8586b2b42e814ecb2eb4b31b288dd08d4a6d71253f6f90872d7f2ee65a725a8f582404ef5c515ac37806644d66e187784bf25f74a43c7dd98747933f580caf12c97de8796af508f6ce38d753833fa7e3df673b922672b38b4a3750af52b2e56f46a293d2301edf675a87c40637fa24ff5de154a43f0bf38b907403487346618150454a15be8935547faf98945cf4502f7649b7fb6993be0d924ba7e87e5c44373d6a05774e1f29b0405671ec2d2912145352a9f45d41c46d625518ce670cea41617a3a074385e691abd1d9156a1d614d5fb54f097d82d80c614b6b92cfc8bbf18ecd7c70d5e7049d93d1e01d3208d0df28de97dd2f92b2384b83a3414fd99c8754c10b9e5dd1be2056f367ff898dec986d36884b48e0487aa87651128106a3085ec747b37f462bcf65f40a63d5ef3e7f7cceecdee0471af487ef9a024980f7d83f5964932f413bab5da896195fea92a65bb5e08a7a9bd68e57b2e1444310b9ef9f9b1b0772aea0435d832578761abacc584d3588cdec05e37241fdd2de96b2b67eb007b4e5f9d4ef2a8742af5235a45147c3cab7323fd344569e919373f12bd5554e858d3c3b21c295a1d79c4a4fb2a7b79f3ab4817fe0416134b576cce565e369d8770ed9c2924f8be0dfa9dd680fe77af006c4499b2cf442c3a8c83284915263e978a0343afd905502056046dc7ab6773c132468e7578f4cfde095720b8e785a720e4bc40228f788b0f27669314a5f931b46bd7903017f8e10890fe23b330b2f9651075346d3114f7bd0563a61aa2b540a0abd34d4772278bec85e703c9d214d3cb2b767c686f94e8433cfbe3fab6a77d952576510c5cc764230fd772df1fee062380a787e5e1da520a88c3e08b7c330d28d614ff959b861ecc7795fe87c22712ae536609e6bee407518e19d641c5b653da09e59b8800e89d17848545190aad2538d869bd717dbd8356a67798d9ec5e38da75c9caf09b6ab547b3941643edf2f02e64254d50e36362c41616048da6c425bf9318c40ad18669821964ec7cbd2b8714e8f5dc27626caff71a47bf64d476ce899f18c24556f7820202b9b3fc5f4e77ac5be8c1bd2e3492682645389b4b359578edf64a5a823571c07547829153e647579c44813fa75b8937cd5797249dd5803ee0386f9cab266917789d973c3c989dff5e0de1a65817d238899a57e9e48eb67c3d0321d4dee57cc778c5525bf8f542e90828a8b72085cd25067411b57e1a7d11a4f67da559757ad36fbb9f6f3c55cf6723acf5d58348dc055fce03fd929925ba3f6e40db6df8f0358c8a335945849649d783b52b0006124cf4042c3f16a854dd4a7672206614e215921735710d162219312c171da4b7649882772eb6ac18293790f8a6ad0eb8a98988789622911a626f368e825d45f92441e6949bc1b3e57a98a2136eda230713b4b6c6175aa129315646973336e21535ebbb8b8a549687da77a9c603751abd14723da67adc45dd8ecffb37995aabce4d743db9059e992aa435f87ebf2069785b20d1282e032f87ec90a5977b5b6eb7ce5e14e76816f6d8aa2a99d88a41cda754a8eed7955bdc677bda57b7c9308d8853619ea8795f972807be4487ad3c6ba8177c1897f6ea77077cd107d7b0c6eb9775068bd82b5994983546a8b789ca4fc7e30fe328a23afde89fc09b97d0dc4b878a796bc885f381176c0dedd7c3009868708763778074f1483b056e47b2d2e6f775e060d80613be47905e3c28197a2b2867f2087840da05978d324ca77d0d2c3838b448282d320027d0815b57a46e25386e546797aea5eba75c4748a77a68fe6769eb2d488d27ee978dcf669752152f679d5d4447e23d3767a076168784a958b79e1e6cb7e174abe7e0952b07a7e773b7e902dfe83891d937b603f948047799278c0e56181423661814ddcad7e50682c7bd2708e8791bd117bd3ad5d764ab9e9851e6116883d29db86051203825f38767ecf081c7edad64780ccc1007a419fa88156cbfb8877f0068a366cf17ab74967805410d1775c0ec084f283567a15ff0480a7bab185479db782a0e0027c86b9e58487498f89cbd316877cf25b801767548ac2714878a7a81c89caa1d885c0633589a0289b7edbef3e82b44ae88619e8d979c7e36585e1ac7d81e3dea681258e21841709f6844a668580588df77ba9ec97766b4321899d7c8f84f0b64b880840f485a1533d851767a57d4a544c83b06ffa7dc8b02f8747de5c7fbfcc1387f25f5a8a96d15289712fee8898a5408dfef27fb1fe337a96b4d9119e22eb87a7befdb497371c3793e2cc0aac6839ae8fdf2214934812e67a0fae55765e185b83fc9293793110d187dcce0e868708c67c2d76639bf921f880fcbef0956f67119f67b9559a35d5fb9b7c1ecc997a8cb6b78d5cf38c291b8a8b95baa28623c1f77ac0c1d18300ec467e9c6e94869bba197d07b41b8215ed717c33a3518a2a69078e6c91f6ad16430393da5506a55aa5d0037315fafc42ea2304936366d8c6a231a413a65288914a4878fdecb7772cc2ad83e9a63a83e6830079d593e17e3d6ab47b4116c192d8e6c68cfe19c9af3ec9c39005755d013a19f177bd9ea67a4d820f7a4e487c042afd998ae5808088048d1c7cc641628a98e6237ed84a2e7b4c74f67ceebe667d388172975a9ae8afa684c0785fc93092ba7ee176bb07db75b140997b504ba975669b2c865791fb8b03a2327b42ee2879af368c80edb7ac827a8a198220b7b9783bfb7779379079828ed03eb60c7aed938ef44a98ff16557824090280d15731762a53287703a3b77fe63bd287bed734819a8f2080aac48c8253cc6a75084b27795ed0db7599b7f18705651188868021a7a69f5eb33e38d97dc4fd1985411d5076c1516a76d8de15829ba8e8861fdc0f88aa783f7b9aac607cc4b52478d9b68f7d03c7a57974203779ea94e0764e1d8f9d8ac846a5eb023c84085245853201b782e10ac287e06f07774edcdb8465e7e67b4f201381f6363f8327e4cc7f49584576e49dec82aad62b849a18e57ddab9dfa1dfa972a6a2b7127f6d3b3278c7a2f881f0af98824535538250c2998900cf9b88288d2778e3a5a29607b80c8af1e1f989ebb4ae7dd81bfe750a478a76390a5b7b16d7b9993e2d42cf578d667a5a367b78e9f23b7b6d993680088c68756815f1891602298a214723abf3ed7f8f93785d8a60b62d7f9eb218890b14197c055eff793efab48717d3f3b1cef2697a0b0daf7db98d5c89fd22457b7ea64a823c2d0d7cbbea0f763d9900fbcd7c0993dd268a901da4f37cdd3adc772d0a257608a94f6af2ecfe8990c841a548ad0f0355bd0b81c8cd508356dde386276d8987e4c8a17eae24597cac2c9685aa9cc780e78af9a7128b35a7e9e43f76e95770804540f4893590636813988480ba2f139c9f0c55cf83ba19860744d489391892880cfe0388f03fa186e898e57bdd04e379cba8b8fab785aa7d307981941cf013891e2b397be66ac778effb7b751ce013894acb3e846196ee03de219d897ead1781e16f55890797767732717b7de9e02981710be977bbb463fcf62c2695d6343a977160de77eb897f7530e5f883ab1320711d583f8542c6327aa93f847c26e8ae8708649b7e8188db85b068b58886efc983bb205d897fa99c8468f85ef91cde28a52f53e29aed1c0d7f8d8119889b02c485d946ab664e23bf880482d580c720ae03112885d3da3ef5804946a079c54cd5818cf8d489cd3b628376f4f882b02727872cc97d22c71cbb9c815fe9843299d185b9f9268620db128aaa5432880e540f7cb833b28a1d5a6dd08ba32078d731a87a3e5420770bf03f8511f95e7a99760a8607a9747f5599b1fab4e9db81987a0e879b025b7c8d6f6978d1bc797d09ed717cc600de87c2131b8498b4da03fa05068478a4b287491ec17eaf7e0c897045e87ea6f48782d212087c4ae8261d0f6f8a88c0755084709f6979ab8ade7818d3fd752beacb841a37c8786bccc77c149311847b83808ad929b8893b3819847bd2c27b19348181d8928287ace0be81a2481c1b8b644980cf780f771cc794839d461e7a85872d8038e63b7e25abcd8744d4f87b76233aa0aa52ebd7dcf395882d352a8351529c88f9ed62882f1b3d8a2e67d87b6dfe6bf8af405a83b1c9a7781e89ca76b46e807b4dd55f83761f5e88a1414e8af230b1851248a69d78bd977f239dc87a30b68d7f59940889c67e1177fd92fd861dee88864cb1591be244838471e77587929508875f678889cfd22b885a6c6081052f387e616a7a95bd77bbb1b62c138a067367797a4de184bef4d981d4d4f285ee3ca07ddad63c7a8003257fe6a788793612258267cd397e8529538850e641762ba213796a18c57ed784b7a52fd508a5ff20d6869efabf75d4df5f8a0e37078a9a432585d194c478d9b3b2786337658a8ca57d878c9eac7a19cf377e01f38482fee8c97926b98085796ae89e949cc590dc73e87d162af77c02e8088786b96a808534d2869636ba7c3117c086a46f587ac74f0e7ad36cd0806677b183ef845e870b1448822f4aa087dbd2be7aca2314810d587d869815da803de1e7855f800b850d17f47e7a1e32f90724a69a3f96087f43ea127b6a182a7bfd348b830732597c4f97457bcdbd9182687a998096417287ac455787b3a8cc8246a11e03b6260486f3a3837effe43b89e505de9b95289f9334b3ab840b670f7df76c63884d12b084dc574579ebb4018104286881d85c12861f1510767af346872d88fb86b01c9176e2bb40dccaa58cfa8517f60409c52a9ecaebf394ed2204a1499d827e71164f818c8ce57bf993528a8dff547c5a128f78fdab6e8acf492e82caa1737939ff837903492c9e15b105837ccb6c96d364cea13718beab45cc63a4dbb267872ee9ba80433d0f89b982877b7aa0437c178bc57cc9db49812ee96d839b96ec7f3087a979a9fe4f8942f577a8b8aa46a5009723940ef30e8fdd242eaf54b30298a5b8d579ef96f8844b5bf77d5e8fd989c2dd558aa5f488833c105b7734aa5889366c7f787df91d806ecb87859e787d9079ff13a63b6b2a8b01851c8c0015a1a35783748ad81b147ec9a56b894303be88adf98775b82cea775b4f787ba9ec7675b3313d7e4d8de588bcf81d8969f4238d5e69be94a58fecaa4121839ae315a69706ddf68a3c56d97b031a4487a743597a04bca87a08df6284aa30628a2da15488948dab86f283667e2ded9e895a7ef0864a1ece89683dfe7946884da33af14bac9579888c54d36097cbe562899b6efe818e3cda7c6f139b800d6a0c842c6fd87c625ffc79621e5084fe4da9803ad79080c31a237694b56d762587fe7576d051879db28578da6af183a7ba867b838b1388eb4f7384144be37e35e7437bd647c37642b8047bac91fd8509359281e07abc84e38bcd7b2ef4177e16d7e4829677b57b6a3c1c86ffaeea7554a4c381e629cd76f4b5647af3c05781599421804f32568846ba047bf5f23485aa42797d24c8e1823a8f7d7ef5c3137cb9f9f17d9b79c5771320817ec486607559163f8aad94d487d96a8478604ae689faf40f884899338a71ca6f8052b3ca7934c7b279ef72b6833c2dcf87157d32833183f87e41530f850d5f2f7f6271647a08dfcc76e52240864fd8967f99ff6c81e8509d75436ca985506f117690e56b82115360820063ec842f79887b035b9e81b91d167da253ea76c2179082a27e977eeebe1482cc8030886afb707ce3c56a868b4f457870aa77776ea76c77fd1b65780504aa7812bf8d87f5700f7f4a42167a2d9aa485e8eba27a02a7f98750398e754c7f1c887ba3f17f01a0b27dcbba247c8da525856b67a37ac57b168437f122843eef50897e485d7de3cc4683d97ca77da1c35f7b1e65eb79f4b56a88bc1597889e305e7b62cb8975661d3d7e1b6dd27fe8bc4079c2f3808adaa7f8865c81887f9797c6852b613681a2003e7ca021df7d2683247de48b3d806d107e75b2c9a0758575197e3457fb84c129f88193ae7b80eb7e668391225c87e994eb86a62a357d2003e5822c5d6989eb3d3d89e4e5fb82447a8c7eab8af6799e71b775277fe87aca187d82215976893f7f4277bcbb3d7aeab82e82a4b01789650b0179d29442896852507cef31227c8015c47a1ebf568a159a7d7d797c5080c1995f7b5cdfcf7e7743fc81c01b817e6dfeb0770e1e5479b355ae7be5cf2d8905addf7b8d5d8e83f57b35834e903f77ed5de57da439b5794eca49779e6a8d7f03743b88c0da998279b2597da81b237ca9466478589160773815fa845326708352a80576e0dfed75c23b5d863773717622b332872989b17f3d4d2a786f7f6586858e6981eb61547e87ae438220d4b781ca47f88066367f77171f6a88bd47c281d086d77c69edcb7881ed067b7a423b84e9e73d85d3a99788c01bc985b61e8d76b1b04178483ff5807d0b4b7ddf077f82ea658b811eb49c8866adfa7e3dc41d861bf6b97b1da66c8463379688ba6c5778bf607b82eed76178484af37837732a8261abaf7cfe95a67f144ba6784c62e087cae92979238bb68159c3217f4d16e97d58695287eda5f579b737557e8a4804765d5d4888738cf9790689308957215e8069a5c6889500347e88bc947e6cb65577c719ef8680d45c7d6f8aef86feb97182e5059a7b7b08898a5ff7cc7ae2be8b81c89ebd89ad77c57532305b85370ef17ad5c9d68482fba7880ffdf18283140b8a546afd7f4809617e5e7dd8788e9a0c83ce42227ada17358838520b785fcca87d83ccb57e3cec797c81ed177d3797b3796f6d557c59827e879f99c49d4094599d8f2e11a25021b88741121578fcf0f187ab6d9d86fe9540800201cb80da5f0f8072dce8867182408610c3e687b517098405940177a3c62f87a11de7a140c6518b772ffe90d0ff517a6337bc7a4731e884f009e481c9ff5d7e10aaaf85640f837a9ddae585f677827570a3df88fd176c7fb821e581e3141a880da01185b9c74d91a8d0adb5a830b98a98d596854b503a7f71f93979f199b87b576d82856732b6802081e17513731f86aa71de7bab9c0b7b9504b77dd33dc588c3081d8711a6d69ce9d132b70f581690eeb4c387ef1f3f891488ff850c6ad17f65c33c83fb556d7a7593da766c6ea289b8f2d4773175507ff665ba7b1b1a07889b55d5872eb3a3ad2635c08f9e5cb1abf8cd4880b438bd8207fc1880c7852a825ff03b799761ba7d45ff6e83f3c032836bd33c88f9528b7842413a8acd5f41791241c6797e00768626b90a94288aa1a5666113b2936c9e8674c93378bd4b018435dcbc896f86f58183f0878944c2787e8bc6a3800e95f28030ab2f84eff0738796e3f086a3bb4a787ab2db8e8605e8029dba41fc0fec099202a3146465e9e48541ca737910aaee828218f280c17cd777ba82bb7f86543685b164ef7c2ba9438786dd3a8a7b507f0163f5d885402166773f8ac7876b9d607ce33c1c7e19b2be8724cf6d7c03e4fc8980c2947b38276678a01a957f5b20d979fbb3b980449eb677a3f51a7f85875e977409adb1d85985923d3d9285a373648968b7367a99c2bf777a4d5e8bec6933b49ebb36866d3b2a857b913e801439228606bf4879af072c7846471082c4eb50792a9bacd048f7eaaf50a4298c43f866892c81747939ed307b3117b0807c33b579b10ac6ab76fefd84ed4008863e54757ee60c6c84d8e57b7d6f137d7befe98b81fc80327e5272b490077466a3fa75cc7bd93f9b809600d4816a061682318eb88537eacc9f21a31596839c47862c81877795452d83768f2486d13aef84288d59805cf1fc7da8802b7d5c2bd79efe2c8a7ba4035a8adce0c37c9689f17f1addd17ffb0d3d76923ba99a5f20aa87138ca276bc035f79cd58d37a36caff7de1d482802d1158980da6d278e6c8b2b0243f45784809ef7ebfcca47fc88c2e7670912e824b6d88813c80618ac0073991fe161885080abf80bf4366782a53be7d00c88f7c081ca67d279ca488d6e2fc838529d8da6786987e49e16a8672369b85ea9bab7632300484fc094a834564e5821320058750819d787050477ac7c6fc85a97c4c77ce05b385d731aa81ec7a6b7b21116d9f402da080b61ed37b640f807b9557458322ba2980bf02c67f26cbf57f844a31f92599597dcabe038254c80a7c11f9247eda30877de65f277dacaa7c751e2fb2862d35b4d8ab39677e7c740f822d9a4b8286fa6d88fb38668752b38b8981ac3286cae9891c02f27487ab62bb7a1fbbd7830cdae57b0009c67d972b7b7f732b0b8a8c270a7926b9557e26b965778754407bdb421988008793830761d8810386eb891e616e7dcdfeb21daf446f7f4d284f88033e8284a97cc4898d76f6794403cf75b181cc8384b694886398b385b1ed06868003e785b80f6c789337238259b1cf8602d2ab82d17b4076c8df6b76b19eec7db223cb7af598fb8416b355867f0e5387afea5e8336d12c79d8f7827d10ceb685f72b9b76943ec675625f6c7b8ed07d7bf0e51289590b7789512ae7f942a87d193bc3b7860cfe8b756a23c6798e6bac77e4c1b776f9a53082692e80857c69bd0294a0e67cb08c0388f86fa6869b434e7c16188e8164bc08860b8beb8269e2dd7fec151e79bc9e1880227d888822e976806f499c7e152e227e8bf5fe7c00c82481e898fade846be38140e0277b84f7417c4f07417e06246179c3130784a5407a7d9868321b0570a17582be397afa231e825cc2eb795e065278485135838804da8666c69177ecf1107f5355087c41e7a28673c63484afc6d57e43856c7d52fb6b813af4d0844c1f6f76d44f8783c1e17f7db42da482acf24e771cfd3281b546ac7526d60b8748fe1f983c79bc753462cc825ed78578bda51c8887083f82eb0eeb84495f067e0fe4491cabd286868a4831815475fd818f38ea777403c98871e7ef7ea3c6678512d81d865d110f8c34698d7554afad851fcdd8810c87aa7b7576bd87b58e8d783051d57750323d8688983780655e137f06774080977ead773b79897760af1f7ab713d97c320134a58490f57fc391ec771c748778eeed3a83d8e5cd7b0c1b317650397e751e2d439514250f8869f46e7e32011f7b923bd47f1415e87cca2ae676abd23088e0933786f3370faf90fc5c7a11700077b044bb7d6b67398893c04976bb6ce7844caacb8e90150b8a47387d87a7267a8092e8f383250cb87f92304877e0684c79be2311806aa14e90e6c4b184e8d9447a36415e7e985d2b781cce728a5505d084eb7edd94a0c6317d564da07d912216873720188445ffa3887be4cc850b4ac98349c4fd77b0035ab57743148037b193853c104580ad82d77514159f7eb4c19d8ad4e6aaa8f7030ab738f7d0840fe4f07f92831f80181bbd80af198a8857912a874cc3538aa3a9b184886909a28f67ac8db04c29208044f37b744b1d85543f9976bb1265857df9789baf534c97fb418d816624f780bb2b107f3e951479f5987581800a257985c88e7e6c757b7600a4c1a0b45b9c9448f01495730fb57c8b73cf849c925379f7070f94c5f476aef6b56c92385d8c87d66b3c89f469477c88869387e26060883f981786026df37e2a19ef88f051149ed7d571ab211d0696fa4b4c925b06cdf90b12b2acea4cd994d5f38fa9096b1baa1006b2833d1705846fd93c7608d46e834a25df80a5acbf794cb5a77e37326d8a1b3e6a75d1efd3932d0e509fdb5a679bdeb55f839591fa9214bbeeb30790b58de9e509994ae8207b4929a68874c20377692e2b81b23c58827e0750779f499b816087c97dc582d977e65fd27dfad0327dae652276a0e4e380c964e3814df92e81d70d058694216f790b798d810e953b86987a5c76f1631e7a3199107cecbb598a1b5000879416c67a433d1e807fa9d0788b7e6b7d6b1f6b80f450b3784ad6cb7e7f3d7789b09e05783ff6838450b7a67c10fd09819ea75b84483429889117d079eb12ff7a64ce877e86dd3a7e44c2e576c4e4c78992dd2184b41b1083ad8de681a2659884516b99797ea68b8a7c3a96812140577d7050d186273ea2868625a48003f62486497c2d88cde11c82c797597a68273a86fda03f7a72d19a8025cf8e85c3e48a868b3d3c8216a1b67b863b8c7b9eb9ee81410b977d9bde3c7bcb1f817ad4cd4283a743b689f40f92893852d2824564128963b528848678487e4cd9178a6b7933817714a683b4a4d1794593ff83b695d47e01c4fa7facb56682ef67a086e7080681fb67627f9dcf917c8438338385bd647cffdd427886d68784084b84788f721284ccc1ae804a8a5f76b0731179ec61a875d319af7742add57f49588b781ff5878382a1be75ad9fc286be0da075eab1bf8001057f821ebf5179a17bce7f95c3768523d345893eef997f9803a383b5587d7ea65984813428377ccb4377750e1eb88273b48686eb199e7d47431b837e5a8c76a2000e8217f7a989b529a2871d00c0889cab9b8092fa3982b886b4760832407b0732107918d3578636b48d81ad9fce7f8b4f658a51ac688904d5e378be8fcd7758862e7960512d88e2602684f06ed37ad84ad7875f38518621ac3d84c5f94f83c105c17efc6e887f88864f8349f38381003f2e7a1c0f90805953987e2d11df7a75b7c276c87a1d7633d23b83f3c07b7f271a99754485fd89ae19697fcf49c475db428f75355e16875ac6f27f986fb77704451081b5ab4f8199c9fb85ddd5ff815bcdc98699d0da7e40aa8478d7a8217de64da08891b21a7b6a4e477f162aa184ef848f7963e4ae7f55b2747ee8aae78113973e85bc15dd7d10eb9576c3541b853c511277f7e38d8129ee7c8277de3d8425f39989f3ae567b08c297791d942b7743eacb864c9f9581eaee987a2bfc8e89b6255189a1a604884780c6894f322383d6c503779d874487740ab27a1987977ecd05c47d9e42d37e9582c97e93a3827a8b07197b60807e88ec27cb89c33ed2779cf7a38491b29d87e8ce317c7606967c1cbc427ff2a0a4895ca50c84099aba75434fd6808ec5db790bbae582d59a267b2193377c198e02882392d9786ce58185cd223a764444b782d5ed938493f6fa88497cbb88a547368407df8277524747800ac52479c3ef9379b7ef637d0a7d448ae505fb85d2000b81f89e868a14eded78354c89764d69d6883a67ea761f730d7c1660c57e4b910c7f4265d77adf24907994d9e97d9790c1794b25d48978b6ca805ba2e27bc9e65c825d47877a0075ac86e4f7ef885260a5894e07c382873e7f7a765976775ddb657c9d6a5c867224b68795a61e8a8b32bc854df9c77e2bc6047b471f6c88dafa7576b252ba86dfb46f7752befd880ec0ba89b9c3e67b955e41806d104688ebeaee817da6207ebb5ae182a6f4a0802140548aa224798a7d8296828dffb27c268397866c75ac893ee4f184c092557816be177d6cf78b8489c31a7a8b90237e0af46883a3bb458803d91f7f9653b476079058880c6ad07ed731e88555f31a8873442379ff13398a14f8d9820ffd8f882093ef7c55feb27f2c15658a7e072788a4931b7b7afaf276a3bfcb7fe65f8b848b0e817c89f27c89ae2b6f7653721d7e3a842777da587b7e47a8b17d85eceb7e2451a7855fde4e78d14ceb786f37007e717006847899d67a8015b87736eefa797b3712870022057a8176d47c810a5b88fc1b51832ae3317c6844e189980a4f86a13a727f5a5a8779c873bb79335b6c7f58e0be819283c283f594d77c459a187c4f3dca88dac04689497cdb7571e07b76cc02387cb3de3e7e1d82c389e2b3d77e79e1c187681c76786295c77a50157483bd35367f2dbec389cbba5088dae83a7827781a7e48f7e084e31fb586c9359a77f83d0b7e02cb9a89ada61b7f89b1e87a67d88c7e6707427b99938e781946a582d18214818af57b892ff7ab7ee8989c83f05c297f6f49ac7b60c87b87f337348746433583d576bc75c06e6582276dbb7d4045f27f54ec7b8095e77f8111b8f19346d17daba9fa6da11cf467aa3859288f3cc3728b9eed0699dce1c498a94081abcc74dc93adc02d80a611e69689d47e76d8e5ef81f8df167bee356686fa47db8079296890fe180ca68ea14a8fd585aea5e57284b721d15690735e838c7fa9fc90139b619ebd8bbb885e595787155da79923dc97853e25f6867c169a89cd4d7d8155b2fb7ef283a7b6a01fc59039f30d8be3f2fcaa038f8c914e98bba90e3c390475cfe121366e6c9c95282d8c24ddfb76fcd3e8a12ce52f8a9e9c2b7dd731f887e5e10678796af378db30477dd29b5e91d6efb598e5c645a6c33d249705e638963a36d927ed7b3f7b468fde7fe61793872174c38c3c56c8806533e4946850c47de95ea0881d24437ecf66a68911ca7183257cf48036e333b14fed0a94b7f8369e40c24ab15e273afbf4242f7bc014267d0d46218697689281f3c0707d42369a96dd92ef8486a7e285868a19877702ab7e74c2ba75911089820964c58cc1bb5a8d0d6168ab7fe96395f8046584913b5e84dcbc9d7d691c4f781880ac7fa4270798fc66e48569596e7919b2f9850b92ac7fbf720d7f5d9a7475b3b304b5ae023e9c438c2ca7b54f16ae68e4fd8838b7e27e9bfb787efa2ae5838a890d7e50f8278074ddea87b8a32d8a8360f575be9a587cd02c0c7fb07aaf7fe7789076ac2c098d48130bb71a90919c94084e8ca2e23e82e93a1c8744d405766af43176f3135e8af881de871356c17b23c142a4336d307fe8ebea7646c51f7bbff01d762d648178ba9bac76c395cd88e8eb12057ce8bfdfa887df81df2b0b8a88218882fc269a7918b6a085ab2ca1813feb8f860249749eda88c17d924dfb855f5cae8124b6bd8722e96f79f4a3c37677f0507ba3a6290509290add8ea2a189b00a0c83699ad087dfcdd688bd35d082444b5381864d367773a2068d65335879d21dee7c9cd324817c45bd793abe9a874f689495c77f489a9d579b87bc5d58813cc8ad7b4385387c0e66b7818d118a7d66129b8af10519864c0458a4fb9f2586dd3a327a2bd82c8087913a76c34221860ecb6b77001bd794f5078d84332c2a7b60e553865d064881db78b57dc3e43185337fb481f4b58376b372c08951e20a857ead35856815ff87070e4e8afdc4007de575328529774a79921e897d22a158fa6e65bb79c5579677223ce77887ef4a8381acdc861a660d851bf6ad8548a4ac16a756c877f57b6a7858b56a879a0d6186631a0281c6bf6a87194d5c8932e4969bfa8ccbf9895f23810a3cf07f65286c78f45bbc7524f7aa84178bd07e3f08cf83d9ab8fa3c8e08576fc02a08a8bcd767df2d64f85af6114827e7ee886805d0476e6a01e83358240fc52a107896e9cf08443329d7538f1f7777befdb8471d5da79adc3ef7bb534d317d69949a6c15000822b97cf78ba65ae790bafbd89fd4d7388d731618871772b831631ba7fbe213a7d233828890a8baf80122b39868a89188a677a57843f5b4c7b895ef2f6a8600f8da00b8d7672a6f5894c7b4788a22bf5863b8bcd7b36eeae7cbc7aa388c0c8e27cb9b1a97f18a43e7ea4155487f1c4797fae5a397d739757783cdaa27b49bdd0b0f72f2684eba23585974f5582e0bbcd7f89f90d7b1d5eef7f7c0f586bc4f47e797fd19e1aa42fcf7d7b08a1832ad13d7c08f1da80f612927d6ea7ea825ba91582df3d60b877428d883129448aa6a1a8846f91f9772b61cd819ba8488817d32b85f3e4827b464e3d1ca62b8d86045e467d770d3e781c5064851cc3268677d3407e6ad78d8027eb5c9da485877c3964d1773c6e7f80b9287481069b7c7d71e72d768671e38039e2f47c8737c1849a065e82acc70280fddad8898f09ac893398c088fd17828828f2fa8ff3a7b978bddbfd891bbcce7cd8a43685f421b5879893427abe2a5d7697bf85825123907933e4917512ad6c7efe17e689528444878994ab7dd2121686a3203218f9ccfbb539f89d83848054883afbea7bea82be837a784089d74359823632c07c7fc62489ba9b2b86aacbd77b6fef3787ddf98777f641ef79bf6031824e12818604e00ca3a529537affef3e821e12c889d10b2787e00a2c7a784ac0764444d9838b73ee81f4aa2a97f456c188aa1e7d789f49e37e23558979e30dd37d36d11778d02c98aa1cca728171e797839ed69f840b094e7c2efbb8805fd3ff8517a4d181051d8582ceb2c3800cfe9eae3e68e2814702ba7e21befd811b7f9383e9b1567e24925198062adda32dbbb07f51d0827d6122a880e0f14c850dfa87893da07f8314d4a184ff784e83bc277b7d83883109d35d4a8746c5a0792c44ad75dae83c7b9eb9a0825c7a1b7a5d52ce8506078986a9466684c7fcf1898c81f8824fb4347dd606fd81d8a42c8af1053179539681856a7dcf8dd362e41904e8497e9462097bc026c016948e1b8652962278811c51853e421278d9878688614d6086cd29d0821c21a97c8adcec7c6d87147671ce407bac0f55806881268f947260a23b13310b5edfd2a1c0c7f8940b8d7877b8c70b775a94d57fa43916770c1b2089645e357d593a168549cf977be181487c77cc1386e845a07535f2b68cc3f93d8f3201b17ac14abc8a8e117eb15ff74f93059ec07cd0aa487e5ed0d4894d0bfc8508db8380e04b67780134877ff9a5b77605c37786ff0130841ad252763105e8a7cdf2757929c75685b799a78a41b690a64996109aa444b7781e368c7c151c1476b3433378a7557c7dc6249381bb4f0d7e01e8c384f2d645887c0fc07c865f978c4b78dd89d64e48a8f454d57ddbf32d96a030748c39814a86ace04b8015be4b7eb8fde777fb7df485a3973f81e1881f89a6ba96887bfded79b98d907d9993f17ac0a40595b5684078cf95c1a99852d1ac70f49fa4fb34fe9073a422856b26b07974203a7613ea107f83cc6088d6e2587dc16a4c80414cba885367f67e9707a4890619d8850c673880f670ad8be94c86962f2c84a966d482915be34883e82c40784062b17e5ee96e76f09d1b8650b0cc7b4784d3877a25967d8c441d7df761db7f97a93080897025826283207be7378684332cfd7e206f437a63498e87e99f8375b4f75189bf8b8b7be32af98687c08479b7aef885f88c6b7d8f846f7bb3e9da7fe558957f0009dc8643a96c7e9b148879dbc08a8215ff388aaa42dd7f4a5ff0811ff1f5818e06e47ac8cd4a86f6eeee82aa30b87abdf8cb8432542b87761f5d86f3b5f486b23c8077ee9ac2777d4ca1751ab2a078171f08853d0527878355ec8757913e781726a784ea9b1c7e45db0980bfba027771e0358258eb2e89aaa7b47f5db73d8a47802a7e321e8879cd346383673d8e7ac4b55884a2772188b2a1717e6976c180ae9b567859579c761d69ee7556b9cb7c9bcc00847e071c82ac50d27a3433ac7948af2d881523bf894b91237b1a1e3c852750dc82ee23dc7840452f7e8cb0057b6d34a688a7f0a275f08be77df90aca76059f577c7397527c7d94e488f744fb83783fed85d5939b8708c94688cfb55b87f8686577fd51968287f6f77f337fbe86165543771acbf4779a06947deba203803e013b8a49172984a08d288449cf7d851a308c8172891783a59ab7898231ee7b1d704d848613c57ef62f6b81dcfd4f8026b9d276339c607d0b676a83f0d3d784e1acfc795372c67f94212d875410a28113cda37a1ad69d85a7d3d47ab6e8107627012f8823792085b2c5b689fe4230843eaee281838b5c7c92a70687ec03157bee18507a9a351d8019295b81ca605a7d1004fa819dab4179e63b4178def95b83a56493860e428676c7480081dc339c7f00feb180301bc287f90a0378d8c1e17a6993787ebc03b389350030881cb133894851ac754fe3c9757a3bce77bb5ac287ec6f8c823ae93f7c3e78068122c5217cfa0680878cf8e678ead59586af858e76f8fc64824caa7889d3a99581f55e177d90c1ee85430ef689c81cb975e0b45e7ef2e8f1820350b67a2d52c081925437839935b97f93ae69818a7e838367fc8384b5e10477daf33b87a7c180893f7f5b8100a4f081c6bf058280f88b85273e0b7f0f374584dcc70782d2891d7f00ab0b7f1e19ad813f50de75676c0f7db93a287f5e4e7583c117797af75a9e773e951688613b787bc217e47769ede279fc26547a405786859d4d487e9e54ac83ace08276357bf07c9d87be829271698a439ec77bef84018a124f4d88fbccb8778beaef890c879076ae2fe2885dff2a7aba41178a9b8b9689aacbe97de235658477559f819271118213ea9089aebfd081aead5a7ad987af758288d4891aef73819d8e8378a9c80579c0f0cc7805d523830a2a2c7b34aaa67d9c09937502cb4f8399110585a810cf7aa48c18812e3174836bd3ca81b4c8bf7ba55280851385bf7a23cc9c88e111248a3f7ff9836565b37b2886a389ad82808143d8d67b0fc02a7ded52378414f8ea85680a7c82021ef280d13ab77ecc26c478415e777595212b7637ea107fdf85e97da2d1d57877a85a8f054fd87817cc73785eacd181fd4d1e7ae8507c8608649675ab49ef753ed6a17d82594b8a75be6684e994417ed008b18982d7a68085346c75527dca7e4cfd827c925fb18a26fb9c7d83969e80d5c962781e2426808f9d187f1c7b6b81bd23737d36ad907c5ccd9b88c213bc7a2044cb7da30eb3848296f97a858edc7e66f5c1804dca5c97e631ac8383d3e9924d704e7be766177fc283e37e0940a081f5c3a577effb0f78d128dc7ef283a3849ff6ac768db7d7864141ba88f4fd0f85ae908783c86fdf7aea1d9976c06eac76d5395c7bff787578c2e8a180a0864e7b18d3047f8188748722b30178ddbcf278d68f468626d2a6818176b87618c81588a141c77d688c5799bc773b7706b86a762f8fd0795bd82a762766388564453c856c63237a9993867c28980d81e372fd82d659ef7c1d1de3817f0e7e7dd36cf77e48e5af80200a027c2b7ea4805127f67540e4ce77fd0900783fae4978ff664c801c57cb775701257d12f56581c313ff8387e42676cdc80a7e0541767dcfefb37c209eec7ab27d24874b3e52908b18f993d8534d932c7e948a6a2a6a81bce6f381587bb77d9feff67ebd766a7e14d49a88bf55a3791535c2888326787a68a97579943e53898613d986d8a4c189c1bdcc85633e9d80a826da754c1a851dfd44aef8d62ba41e5d0958f764995a18c37b007fb563ce7f82183f7a42d1b57d7f0edb788f604c89a6c53f83c6f508863d712182a796a8b87bfc419c5c4d928c461498b3c64e467df0f00577cbb3bd7cf9b0af84652f06779b180e7630af657d3e83c487f88c648321596d777838ed8534b14086f6483682494d52a54b994fb14cdf889674ed6fe45cd01677fac9c77cdae8f77eb63b028737324d82d2775d7bfb0d5d7ce1a574786c8be787446fbe7dd4cdba808b3d3e7f6f081176c736929aec6cdb931c365da2f60b657a63e42f894e61fd7ffa064277e70c1080eba22c7eaff558792e18c983a481be75246e828625a70d7787dd30804b1a267b30c8b7907cb36899915363b8a8da7c832c2e1c881eeaeb78400f5279d4a987769820c27d35d5827d56787d7d35e7d0838aee81787bf6f485b379f08946ba9e85f36d258811ad0cb5713fe3b036c48f803b9dee809a182a7ef8bbb47a816fa786238b207b02837b866815257d73f59f7c2c27247a456f3f8a7df9bd7a65d5ae7c446817839bde42b42288a1ae2704c77caf078d7b2ee94780d796e57625ec0d828d2e037ae850fb8070577a87aa8a7f88b9a6d080448c2a77e563cc89ce9c0e79f6a63779b5abe08996362dab3a1b5295f3a0c788b0816586d5b7c7830c990c78718d2d7ab1520c7945c9ee76279178835aadc77e936d187b67e3087a32c44e7ec7d1317758fd8d7c7db13a9d7462d78fddc781813ad7a88792a79383b4fea2758dc2c989eb612b78cda49f880c754177d7a15284f6e3418453794d7fe8624288e2fbbb792480f88789534188638656a9a84e11e2c2212b82fac52c83c91c0177bc320c81463c8a83a6d73f848fa8f3827ef5c586fee8e884bae36783cb26f87d28fd03897ee3f78490229887bbc6f09981c9e595298684870f9102839f9c44890022577c7403908286427e86c83960881696aa8591a06683b7b5f18627b56288c3c7a28517f01f898dbed87729f9d37fd8d3af9a36f8527b9f8ac97fa81b897950df3377dc74ff7d172686884b2c5e7ce34ea786a10be987fb8b28814606588577141781d0ceb5780080dc7b35b8089af50605a632ae6380b113b9841f448b7c53af8e82629c8e7b6d462c84b529f8853fa33e81f3541a7d5da56888347b008ad8f76f797a7175779db675760aa19a88e6fa9187b1590baab17eb086d71fb08185b2638ab04017856421707e37d805881cb15d88724ffa759038b588f69ba18984bddd7b47cc747938328d8319a72d7e1ae8ad862912c98eb6d158a54eb704887212bc76e02002850249b477f2f3da80020c547fa9222488c3b52c7c5b7edd815e06c4897fd88d7b30ecaf79f2faae8243c6a888761f9395281ded91edd4141ed0d5b978f28ecf8091ab527827aee97c6e424082b75bd187f7195d7c9a7df67ac230ce8419a0958948fe517f51c93877cbd7fe7fec03fd81652fc6882e1c87996f89b81c7afb5c7a5f31277e51b72685560c9a7f80e6cf7a86cbcc7cb64d1778f2c4f377c4eb0b83f3ae66890e01a978324d7d80597000884858f28894e06b6e7f37fc75b98dd887eae34880108d7b877db89d7722e2de869b79b580e99f9e822fd347852df4697514cd9d7fe032f18769db56862380f97f929572899eaeb77bb3670d85bded4318a4fda9827219bb87696b6f79f05cbd858a7e6d8901e84b76f7a2c97cda5fd17fbc7a1e8244d4ec8081234387b7494478ca6b05859607b68926aee289951d3d82e6b2a1769dab9f826582fa75eac33276de3abf77bf1f7a824bd2867eee2a257e93912887daa739834ffce37db83364850947b6875cd437897c1d8d7fa90cc4855ef0627bc0e5568409ac0d7fea82ce85b07afd7eff01eb78a8802189e84568772ccd0c80b2060e7fc271587d5343288876315283a33df2894dad79822b0e6e80b9b1dca037593b873416db7a3e4db47f87d20c89e8ce2aaf8d2b4d87b39d3f7908f86678bf43fe821016298197ea5188eadc098aeff09e7b3ee8858894b85f7d11b12c782ef4e396200a39180823cc7dd0a3477c6ad73278c7c6d4ee5bf2d17fcd6a4382b4c84583ab5b6581b8d90a7d0d46737e1dd5007aa0083076bdf83a7b62a7228138a59679ac983ba1759f3791f434af93ec47b7156889baedb06e6a8c964b139ff953427a3de10f7917afb4882cc93682cec40c7da128338a331abb76fc26618946cc1588e546a6877ff118a6a39c919a6e8d7598e435f3adadf59f9050ddb694d615", + "frames": "89504e470d0a1a0a0000000d4948445200000030000000300802000000d8606ed0000000086163544c000000050000000136aa7ff60000001a6663544c0000000000000030000000300000000000000000000100190000d3679a86000007234944415478016354b38b61634000109b0d08e1800dca461104b2211001a06c842058230843082880c883e5a000c4046108c1c0a8631703a420002404c2100202a07aa114188098603e088301820167419810fb6100cc060981195000622389607110888402b0a1408024086680f860061440d90841b04610861050009107cb41018809c2100208d8100e0209417440014c23922088011606611880b0c1c210006682308480028831603928003141184200014812ea20200b8c21041080e42000c102b2c11008c00408401950610800eb401181b0414260060840194822400e900d72109082088309200049400082056443210240d92882601d282210364808cc00011003842104048035021d64040e21a00c840f065039a01094016202318858d77227a24605c80002101f4842281000334118428000980122c072500062823084000298241bd0412e200741f9200095835260b0a5eb1190c40a529aa08e83ea006108010260068800cb41018889e4552007ca060ba23908450e08f0380519a4346941d403b541196000e541291000314018424000d45208c568017610184044803410820091ae8180ac0e2d2009d108011063608682008809c2100202a0f2500aab83201449ae8100a09bc05a4100cc003909cc8002101b4504621590064228803b082a07a1c8700d041420c209640998010520368a08c42a200d84500064401c842247b66b2000e826b03170434100c404610801040849040bc80696d4162e4960160840e4287450192890802603210280d8282210ab803410420188c1c6c66807761010409450e81a0828eb33001b0602500692c5400e948d2408628085610e82c951c541357d0640120240c68230840002b0b54000b31102403c10843808cc8200ea3a08642c0843082020e01a2060b4f34a82b020808a0e02190bc2100202a00e825260006282f9200c74908b1738cac0802aae818026a09bc036800908005b0ba7c000c404f341180c100e0209b1b101eb4e204d21008610d834208403b0b54080220864432002401d0412026ba18a8320c103320e0ac046030192209801e28319500064c31d04810c2ba8e2a029b0340402201a848124840203906d602e9800010883d10be420901c844f2d07414c039a0c6320b1806c3004023001025006b03de4e59501a480004c8000856e42720d10c09c0175000880186061108601081b28cce81590016201311800198b2873500738bec000683e1810ed1a20003908cc8002089b6c3721050fc47c200d840800e281200240d93041c60070084100440848011973ea487613926b8000ea202805062026980fc230006183854100e120a808d83560c036a7ee1a90221250c5354026ba8390e580cc69c4b909ab6b802642196000e281200240d908419046a883802c20000940019809c2206242054e6711530602018807820800652304c11a81b90ce820100b0830e480004c400144beabe202b06600328000c4076108010160bd700a0c404c301f84c100c180b3204ca083c2c021046481f820009500023001051079b01c148098200c2180004483309084506000d208e68209108032a0c21000d60116813a082c00016026580e0ec06c901098010520368a08582310200982186061108601081b2c0c016026088308c6b03058948100540e44c200980d120233a000c44611016b0402244110032c0cc230006183852100cc046108c1c01813060a2130409783008815603928003141184200014212c102b2a11001a06c1441b00e2411b883a012400026a000a2122c070520260843082080494294c2008807820800652304413404834818407710888401301b24046680008801c2100202c01ae114188098603e08c300840d1686003013842104080019100761978310603928003141184200014c12c9d14000e281200240d908419c1a810eca03098130840001300344c0f481008809d40124a100268922086443200240d90841b046108610500091674c0acb03524036880703501e94020110038421040480cd855360006282f9200c0608069c056182308400013003641f63520cc841603e148084812488800210138421040440e5a114188098603e0883018201674198103b6000cc06090119e80e0233403260061480d82822604381004910cc00f1c10c2880b21182608d200c21a000220f966360cc003b0802c022205930030a406c14118846200d845000628085411806206cb030048099200c21a000620c580e04d01c041286cb01018809c210020810920816900d864000264000ca800a430058078a08840d1202334000e12088205813148098200c21800021896001d950880050368a2058078a08840d1202334000c8803a08c8021120080550069208900365230982186061108601081b2c0c0160260843081000334004580e0a804c90838014880d825000628030848000a8462805062026980fc230006183852100cc046108010260068800cb41018809ccf679a01002b34104148098200c2180002689e4682000f1401001a06c84206e8d4000a54000c4006106007f1a988f75cca27b0000001a6663544c00000001000000300000003000000000000000000001001900004814705200000738666441540000000278016354b38b61634000109b0d08210044c3308400013003a408cc00013803c882b1d9400c10861050009107cb41018809c210828151c72e06484100480884210410c034428c8101101b2c03c2608060c0591026a6462001820800622389607110888402b0a1408024086680f8600608c01940168c0dd608c210020a20f2603928003141184200011bc2412021880e28806944120433407c30030a206c986a20003341184240014413580e0a404c108610400092843a08c80263080104203928809804062006580684c100ca405203e480d8282210364808cc000128034904c801b2410e0252106130010420092840d20062806540180ca00c2435400e888d2202618384c00c10003140184240005823d04146e01002ca40f8600095030a411920261080f860060840194822400e880dc2100204c00c1001968302101384210410c024d9800e72013908ca0701841c9401620201880f664001840d530d0460260843081000334004580e0a404c14a3609260413407a1c8c10188c7f60b48c305410c1086104000930253600204c00ca05e20840210038421040440f54228460bb083c0002202a4811001403c625c03c22000a3c10ca056208401100b8421040480f5c229820e0231c0184480019401a6c004c39cba3b594d5a100e98000110038c41040c80d84886033950369220d04149400a08a04248722006580b0883018801c4bf1816b5dc0132b182820e2da012903288661800b1910c0772a06c24412003ea20200b0450e540044664e1710a3228eb0086198a46308610408024056701d9c0921ae820840850004882018849ae6b20a0a6cf00484200502f1083482880198b240862b0b131da81430804d0e540184480019041926b2000e826a0461040321cc881b29104410cb030d841200684000128032c0dc260b08274d7404013309cc0a6800920009b0b0448ae0102100f04810ef2028510900501500652f40301d9ae8180a629b070029a0b2480006c371c8078200802200741581000628375813018001964441632e898024d4c304b213640018809e68330d0412ee0108200b0104817980102400685ae8100a09be0a6826d87021013cc0761304038082c04d205664001904d250799018d020174f3211001a00e020b8164c00c108033a8e2a0be296640126828dc583003c40733a000c80639084881d8500a0a400c1066585447350781230704c034361b810ef2028510363910a68e6b2060ca2c909b20006436d875200c065006b03de4e59501a480004c800094017524a8ee04921482be59b0340432188a41040c40d8402146af800c100b88c100ca80b90608a8e22078f0808c055a0b24801806206cb030d84160061440d90807b1cda9bb06a42804480e82400480b261828c01e0108200881090823240809a0e02190b0e07108601081b2c0c020807414510ae01d1103cad82223711ef1a2013dd41c87220260853cb41108800503642106423d441401608a0ca413860826102b96e22c935400e6318d8412080210701309a1c37c15c03c4600288c100c180b3204c8483d05c0304600a4c800088c1c6d05544829b60ae0141200013200065408521006c295804ea20b00004809960393800b3414240464bd10520872080b90688c10410c300840d16860030138441046358187239049503913000668384c00c28c0e32c88538000a41e8c41040c40d84842602608430806c6983050088101ba1c04405c0296830210138421044345ce0548dd09e18309100031409a4134044059c84210839144e00e824a0001988002884ab01c148098200c2180002609a6c00408803462745a4000280c244100444330888401740781481800b34142600608801840fc0ba21a02604c4c6570293080b09184c04c108610200064401c845d0e4280e5a000ca44d80d9344888000880dc620020ca00c84329814420404803ca083f24042200c214000cc0011307d20006202750049288049a20882d9600c22c000ca4028034b8130848002883c6352581e9002b2413c1880f2a014088018200c2140002e09361e0a404c300611608060c059102608430810003340463226c5801c04e6430148184882082800314118424000541e4a81018809e6833018201870168409b10306c06c90109081ee2030032403664001888d22023614089004c10c101fcc8002281b2108d608c210020a20f2603906c60cb08320002c02920533a000c44611816804d240080520065818846100c2060b43009809c210020a20c680e54000cd412061b81c108098200c21800021896001d9600804600204a00ca830048075a08840d82021300304100e8208823541018809c210020810920816900d85080065a3088275a08840d82021300304800ca883802c100182500065208900395036922088011606611880b0c1c2100066823084000130034480e5a000c80439084881d8200805200608430808806a845260006282f9200c031036581802c04c1086102000668008b01c148098c06c9f070a21301b4440018809c21002086092488e0602100f041100ca4608e2d60804500a04400c1066000062719f8f6d53a2630000001a6663544c0000000300000030000000300000000000000000000100190000a582a3bb0000075c666441540000000478016354b38b61634000109b0d08210044c3308400013003a408cc00013803c882b1d9400c10861050009107cb41018809c210828151c72e06484100480884210410c034428c8101101b2c03c2608060c0591026a6462001820800622389607110888402b0a1408024086680f8600608c01940168c0dd608c210020a20f2603928003141184200011bc2412021880e28806944120433407c30030a206c986a20003341184240014413580e0a404c108610400092843a08c80263080104203928809804062006580684c100ca405203e480d8282210364808cc000128034904c801b2410e0252106130010420092840d20062806540180ca00c2435400e888d2202618384c00c10003140184240005823d04146e01002ca40f8600095030a411920261080f860060840194822400e880dc2100204c00c1001968302101384210410c024d9800e72013908ca0701841c9401620201880f664001840d530d0460260843081000334004580e0a404c14a3609260413407a1c841009801e283195000652304111a81004c8000481ecc01132000628030848000a85e08c5680176101840448034102200880d96016130803210ca50a46134900184bf8018c88600100b8421040480f5c229820e0231c0c2200c065006921a2007c406610801022006188308308032303502019220d04149400a08a04248726006880f66800094812402e480d8200c214000c400631001065006422388066120400882185007015920802a0722401001a06c8420d84a10861050006283318800031003842104102049c1594036b0a4063a082102140092600062b2fd02d24822100c2180002605a6c004088018600c22c000ca009a0724410021051482b3410c3636463b70088100ba1c08830830003140184200014c0a4c8109100033d8ba2a2ed4f4190059400016015150065c23102004c10cb00cd841200684000128830d2c0f065006980213400096056108c130a1e21a90c40a9aa6801c075606226018424001c86d2008731090050120061883081880b211cac0b2200c22f038051974809c85a2110e400683200830da7921d2109481d0050250064c038885c00cd388730d04744c31036902610801022006928d8c2e5ed03404e103e5a00c3080b2915c03658029925c03017db3cc80245837088018602341180c501d842a070450369a8340981cd740c014b09b20006430082200d4416021900c980102700690056353c13510007413d81890d160061400d920070129101b041100ca4608825d030460112213322e0076100802019800010883d10b14422039081f08e00c200bc6a6a66b2060d6021b2009340d02a00c607bc8cb2b0348010198000110038441004e4319547510d0283880b081d6307a05648058400c065006d86218002a0312400c21a8e3a005e010820088b1606bc00e02334000cac0eb1a20a0ae83a0c6c22c650c00871004408480149401710d10802930411dd74000c44d106361362139082a82e41a3806913000e401eb4e20834280d5354026d4415011a06d40120440340c4308100033a8e620b06940f3801002400e43711048000ac04c1086102000668074771551c141cbc02104340d6c2c10406d043908c402020c39200013500095a7aa83c036410098097450183884802c101f04a012400026a000cc06290233185a2873d3b26560d7003114402d0592500781052000cc04cbc101980d12023340807207c18d029a0c62833088600c0b8345190840e540240c80d9202130030a80ec3a72dd84c73540c01813060a213040978300884bc0725000628230435d0ec96e02ba064882754300d860881d60007710540208c00414405482e5a000c4046108c150418a9b505d03a2211844c200ba8340240c80d92021300304400c100601385d91730a481104a06c05d6032680006a23108009100032200ec22e0721c0725000628230840002b024083314a5e17416b40c0461080104608d4080e45b2000f2800eca03098130840001300344c0f481008809c2100208c092200c21a00068685ada11e4d6058801c2100208706a04928c496179400ac806f16000ca83522000628030848000b0b9408045194c0ac802622000536085b0de3008430810003340f28c4931200781f9500012069220020a404c108610100095875260006282f9200c0608069c056142ec8001301b240464a03b08cc00c98019500062a388800d050224413003c40733a000ca460882358230848002883c588e813103ec2008008b8064c10c2800b15144201a813410420188011606611880b0c1c21000668230848002883160391040731048182e070420260843082040482258403618020198000128032a0c01601d282210364808cc000184832082604d5000628230840002842482056443210240d92882601d282210364808cc00012003ea20200b4480201440194822400e948d2408628085411806206cb030048099200c214000cc00116039280032410e025220360842018801c2100202a01aa114188098603e08c300840d168600301384210408801920022c0705202630dbe7814208cc06115000628230840002982492a38100c403410480b21182b83502019402011003841900d8749b8f392ec5380000001a6663544c00000005000000300000003000000000000000000001001900004848d1c100000764666441540000000678016354b38b61634000109b0d08210044c3308400013003a408cc00013803c882b1d9400c10861050009107cb41018809c210828151c72e06484100480884210410c034428c8101101b2c03c2608060c0591026a6462001820800622389607110888402b0a1408024086680f8600608c01940168c0dd608c210020a20f2603928003141184200011bc2412021880e28806944120433407c30030a206c986a20003341184240014413580e0a404c108610400092843a08c80263080104203928809804062006580684c100ca405203e480d8282210364808cc000128034904c801b2410e0252106130010420092840d20062806540180ca00c2435400e888d2202618384c00c10003140184240005823d04146e01002ca40f8600095030a411920261080f860060840194822400e880dc2100204c00c1001968302101384210410c024d9800e72013908ca0701841c9401620201880f664001840d530d0460260843081000334004580e0a404c14a3609260413407a1c841009801e283195000652304b1680402301b240466800094812402e440d8108ad102ec203080880069204400101b2c03c2600065209481a581004c8109100033408ac00c1000314018424000542f9422e82010032c0cc260006520a90172406c108610200066801481195000628330840002b04620405206745012900202a810921c9801e28319200065208900392036084308100033408ac00c2800b15144c01a81004910c8803a08c8020154391001820800652304c1868230848002903cdb2f2006b22100c40261080104608d60806001d9c0921ae8208408500048820188c9f60b4823894030840002981498021320006280318800032803681e908402982c922088c1c6c668070e211040970361100106200608430820804981293001022006188308308032900c0772a06c244110032c0c76108801214000ca6003cb83019401a6c0041080654118424001880dc620020c400c104610200c0448ae0102100f04610e02b22000c40063100103503642195816842104088019401544c432084308104030c0928c765e88340465802540180ca00ca05d40120440340c43081000c9e3700d10c069100384210408401910e7001de4e2054d43103e5c0202a06ca05d40120460b2600a4c80008801c620020c400c1086100c1539173aa69881d8200c214000ca40b214d5416071108601281bcd41200c214000c440c6600064d4155d0032b08229b3cc8024500d04c0dd03a4a00e02b240040842019c0164c1d8607d200c214000c400631001032db89d820c66419c05d30aa1400e02b340d68219500065230451f48109100031c01844800191ae8180590b6ce01a210c462f500881ac85f08100ce00b2606c987d08111000b1c11844800149ae8180050b6c8024d404607bc8cb2b0348010198000110038441004e4319480e0231c01844800119ae81806560370101d02c46af800c100b88c100ca40b218c801b1411842800094018f7f0a5c0301403741cc023908cc00012883906b8000cc06a90333408052072d832626c60070084100440848411910d70001980213200065502f782060cd3250c4211c04351dc935700c226100ca46720d9081a7c8211e801dc4067510d0501040d80da261184280008c01520763831854729013d0281407217c0d6182308400013003ea103001021006551cb4699913d038908320860239500636d70001541e4a8100844115d74000d04d8c61e010029a0d311dc802314018424001980d520466800094011601d69d40268560d31a7094411c047605048099606be000cc06098119200065c044a8eaa0305894810069ae010230411d07ed58e304241963c24021040650d70001988002884bc0725000628230840002b68a9c53408a4280e620b08d200c21a08018d780186c0c456914b909e21a20407710888401301b24046680008801c2100202c01a19188a280b2488838046411c04361484210408801920022c07052026084308208049821d9d436e20415c03044063800eca039a05640201980001300344c02c04011013a8034842014c1249900c3721bb06d84d604c0acb0372406c200903501e94020110038421041060710d1000d969a4b809c935400c22189362400e02316100620558160a404c108610100095875240061043001b5b5ac211204d10a0b8064880208683c00c900c98010520368a08cc19488208064c3201b7b32065201c408c81e863cc003b0802c022205930030a406c14118846200d8450006200f12fa01c9002012805046065215147209539880325a0002c0fd408244000cd412061b81c108098200c21800021896001d94088ec1c900818802560002c0bc2100204c00c9022300304100e8208823541018809c210020810920816900d85080065a308827580308400013003a408cc00012003ea20200b4480201440194822400e948d240862808541180c100c380bc2046108010260068800cb4101900972109002b141100a400c1086101000d508a5c000c404f341180c100c380bc2046108010260068800cb410188096ca0e5814208cc06115000628230840002982492a38100c403410480b21182088d40002640002a0fa54000c400610600982c9f8ff0b3d5630000001a6663544c0000000700000030000000300000000000000000000100190000a5de022800000765666441540000000878016354b38b61634000109b0d08210044c3308400013003a408cc00013803c882b1d9400c10861050009107cb41018809c210828151c72e06484100480884210410c034428c8101101b2c03c2608060c0591026a6462001820800622389607110888402b0a1408024086680f8600608c01940168c0dd608c210020a20f2603928003141184200011bc2412021880e28806944120433407c30030a206c986a20003341184240014413580e0a404c108610400092843a08c80263080104203928809804062006580684c100ca405203e480d8282210364808cc000128034904c801b2410e0252106130010420092840d20062806540180ca00c2435400e888d2202618384c00c10003140184240005823d04146e01002ca40f8600095030a411920261080f860060840194822400e880dc2100204c00c1001968302101384210410c024d9800e72013908ca0701841c9401620201880f664001840d530d0460260843081000334004580e0a404c14a3609260413407a1c841009801e283195000652304b1680402301b240466800094812402e440d8108ad102ec203080880069204400101b2c03c2600065209481a581004c8109100033408ac00c1000314018424000542f9422e82010032c0cc260006520a90172406c108610200066801481195000628330840002b04620405206745012900202a810921c9801e28319200065208900392036084308100033408ac00c2800b15144c01a81004910c8803a08c8020154391001820800652304c1868230848002903cdb2f2006b22100c40261080104608d60806001d9c0921ae8208408500048820188c9f60b4823894030840002981498021320006280318800032803681e908402982c922088c1c6c668070e211040970361100106200608430820804981293001022006188308308032900c0772a06c244110032c0c76108801214000ca6003cb83019401a6c0041080654118424001880dc620020c400c104610200c0448ae0102100f04610e02b22000c4006310010350364219581684210408c0194049381bc40061080104302984512000e281200830da7921d2109401d605c2600065c0348058080c214000ca40730d1020698431905840361003014c23a38b17340d41f870090880b2310d0553600204a00c24bd5006422310c0649104a10c248da80e028b83300c40d90823102ac004088018c8180ca00c348d4080108131905c030450078185406ac10c108033802c181bac13842104088018600c226000ca866a0411200c045011104030605a2114c8416016482d98010550364210451f98000110038c4104184019d834421920260cc09d03640231d0415ea01002a985f08100ce00b2606c983684080880d8600c22c000ca40288349812930010240465adaa9590b6c800c08803280ed212faf0c200504600204400c100601380d65206c0233c01844c000948d5006960561109193760ac8c00a962db001a900855040069002b34100ca4098080428864200948111e0100aac1b5697818922dc4e41066b96d9801c04d602025006d42408005b09c2100204600c903a181bcc0061080104088d44ba06021803c021040160ed200aca80180a04600a4c4049880c0883018801c22000d60dab95d948730d10201c04d20f0460f3c000444330888401280f4a81009401a6c0c2e4bb0608a00e02e90702b0796000a26118428000980152046680009401a6c0041090ef1a20407110d82408003341184280009801720b980102500654044820c20608c87710583bc8142803c9503001051079b01c148098200c2120002c4f6ef00001631838848046800c0201a889400026a000cc062902334000c40061080104201a8281249e22073f803a08ec0a080033c186c201980d1202334000ca00536002484268288b020785c1a20c0488720d1080d8200c218000ac110860cac877504c182884c0006c28084308288058019683021013842104102024212cb25d03047007818d026108010524b806a21406c87613ba8340240c80d92021300304a00c3005268000ac114e81019009accc810c3200c44160d34018428000980122c0725000628230840002982486a32971501ec8081086102000668008988520006282308400029824866b80807c072585e50129a04970b38000ca83522000628030848000a883a014184099e0664942c211209354c09814037210503f1c409c01321206404c10861010009587524006104300d83540401d07811920278119500062a38840ad040a4119202618c05c0304404614e96e62cc003b080280468008104400101b4504662592209481ea1a106063888a22cd4d680e0299833015c886620801040849040bc806432000132000628030880821c54d0807418c44b506822104102024112c201b0a1100ca461224d24da73679401d04d6093200cc000128034904c881b29104410cb0300883019481a406c801b1d918fc42f60169ace0c8260f2009540672109002b141100a400c108610100036144e81018809e6833018401908a340340c43081000329c42f6ed5be301d60d052026b05f96070a21301b4440018809c21002086092089b4000c403410480b21182308dc82c201b86410418801820cc000043fc7f018f5aeb040000000049454e44ae426082", + "proof": { + "index": 1, + "siblings": [ + "b22dd92b1341f6ddda36b6b4c70809f09615912cdac889326608f9fadb4f02e1" + ] + } + } + ] + }, + "job_v3r_a_decode_with_an_object_past_it": { + "kind": "job", + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-6004\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.decode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":2,\"root\":\"fdc8d577357e1828fdce5ef71b965654c1dc7285407b252a8c0561e5c75f56af\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:430518054c4372841a3ec981c083a8c190ceddd235a149dc1e314aa9c1162d07\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.int_motion\",\"cost\":414720,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":10368000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"expected_cost\":414720,\"expected_ttfb_ms\":155,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":345600,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.beta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-6004\",\"kind\":\"wai-route-record\",\"operation\":\"media.decode\",\"order\":[\"im.alpha\",\"im.beta\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"b035195eee6cbefea20cbf2a5b2dc1550d4cb245a51c67bf08707068e0b357e8\",\"sig\":\"7d09b733cbdcc32a2a9718d56fb49cd2d4ab252904c4ce9e61b0c487eefef45f532b1d3b1c45acc2f7785d20dac7cdfef9ad16c839bbeb27323eeac5c66b2007\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:430518054c4372841a3ec981c083a8c190ceddd235a149dc1e314aa9c1162d07\",\"kind\":\"job\",\"capability\":\"oer.job.media.decode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:9e58e7ab5be2bf5838eb58e5485ddf40dec93332b60d9a983326f86655154749\"],\"output\":\"fdc8d577357e1828fdce5ef71b965654c1dc7285407b252a8c0561e5c75f56af\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"12.0\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"12.0\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:e7878c6587b624382181b67d5a0eaeedb576c4efa54197bae3acf48607e35a19\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"5a332567c2539ac64c66c9903c453c877c9519750bc9d1833a60ac4ad5650c176e1e823c3b28044a8303e61aa886e7e54aee573add285974d0d6e16797a3ed0d\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "receipt": "{\"profile\":\"wai.video.int_motion/receipt\",\"codestream_hash\":\"277865b574029f700f4fac023de3ab06ae598ee6f8ed726444e91442a6bd59e9\",\"clip_hash\":\"3492566e8e2682e3b3bac083b4db02ef8eba9a7f15d9faf0e27feee0f6eb488c\",\"h\":48,\"w\":48,\"frames\":[\"e1d8e8f8b5c534be1421e5858ed9137808ddb849bdff2bf397beb32568d8eb69\",\"ae7214babf5bbd6ec279434740f3271be43d2392b8167813fa557b5c4426fa14\",\"b3ef86db27b82d303bc6b612cb224ad55259b4f2e2c0461c74dcce188cd64b99\",\"3906f91010bf1b9ca14f6e2ac9b499589ac02ff4465e1d9764a22443a8b29c22\",\"bedb1538c2071d705d2d3ab2df2c569ffed440278494649f9bf1ec881561c519\"],\"merkle_root\":\"0f3fe4aa201c275c10289c22f31e7211b555627b33a251bbe33d094abada6508\",\"work_pixel_ops\":34560,\"joules_micro\":0,\"uj_per_kilopixel_op\":null,\"energy_provenance\":null,\"parent_receipt_hash\":null,\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"signer_id\":\"did:example:sink/job-6004\",\"sig\":\"aabfd3e57ebf003bff6989b72e7885844d5088c32e08d566984590ac381e78221547153d4ba0d2ececffdef7ccad84a66042b93d1d1ebbabf40eb402f3f92e07\",\"receipt_hash\":\"30d0553072a05f849ea4323f51a017488ed8c8a6966860720ccd942ef790b2fb\"}", + "codestream": "57495631010100000500000030000000300000000800000006000000d5ffffff590000000000000004000000090000000f000000160000001e00000028000000330000004100000051000000640000007a00000094000000b3000000d8000000030100003601000073010000bb0100001002000074020000ea020000750300001a040000dd040000c3050000d2060000130800008e0900004e0b00005f0d0000d00f0000b21200001a160000201a0000e11e00007e240000202b0000f6320000383c00002747000012540000556300005c750000a38a0000aa9c0000edab0000d8b80000c7c3000009cd0000dfd4000081db00001ee10000dfe50000e5e900004ded00002ff00000a0f20000b1f4000071f60000ecf700002df900003cfa000022fb0000e5fb00008afc000015fd00008bfd0000effd000044fe00008cfe0000c9fe0000fcfe000027ff00004cff00006bff000085ff00009bff0000aeff0000beff0000ccff0000d7ff0000e1ff0000e9ff0000f0ff0000f6ff0000fbff0000ffff00000000010000000000feff0100ffff01000000000000000000000000000200fdfffbfffbfffcfffbfffdfffbff00000000000000000300fdfffbfffbfffbfffbfffcfffbfffffffbff000000000100fffffdfffbfffbfffbfffbfffbff00000000000000000000000000000000fcfffdfffbfffcff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0400fbff0400fcfffbff0100000000000000feff02000500fbfffbfffbfffbfffbfffdfffbff00000000ffff01000500fcfffefffbfffbfffbfffbfffbff000000000000000000000000fdfffbfffcfffbfffbfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fdff0200fcff0300000000000000000000000000fbfffcfffbfffbfffcfffbfffffffdff00000000000000000500fbfffbfffbfffbfffbfffffffbff00000000000000000300fefffdfffbfffbfffbfffbfffbff000000000000000000000000fdfffdfffcfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0200fbff0400ffff010000000000000000000300fefffbfffbfffbfffcff0100feff00000000000000000100fffffffffbfffbfffbfffbfffbff00000000000000000000000001000000fdfffcfffbfffbff74420000280b35593c000000a214bea9451501b9ad0cbdbd9a309164812c7ece531911d14717c3dbbc1d27782217989f7218f20d121d7bd4ca1f3eb3ef1f71131429e2d1f626c3e7ab249c33af4fe2d2c042a6d2222fb9b3c460c33836571567e55a40c90777634123135bfb8e1357858f0dfd6cd3316844ae2fdb041518b067b9167f09231b1d6f1c16b7df311ea6450d1ea29eed1ecc320c2b747de0206b34c82a708a2525b67967473d53e643c54f6f2f42e6355aaafd6534aabbdf5fe1a866406fac26314f6ad812ef006e0dd2c39e124439f5306ba6e0396f65ff1627ef771e0071f21b088eae1efd0a7d22d53ada205042fa23135ba627dfdecc3c473a7353bf1ea7435671e53209bdc9581998ef568e94f260c2af006595d31a5d0301d30b0e96f22e27c43d162997a218be088f12dc9d0915dff4db17246c1a3c61066e3807ec553cb509743e78e21d250c19332ef30e3d2d4f94a0275d0ead4e59f7ff403f44c02ed1b145563b075b55c0ece2599ea8038a52c4e77287a40b3015595e178405f01716799f12508739158ce39537c6364439c2c61335c774823feb0e4a46484b29464146093e52ba6e2e3e5a0631121b992d5a46a848c8478e518c794638949ff05b4c57d23967cc4b57d3bb164147bebb2f4cd1452f40e1701817cec818f564ff13f4072317feda4f17504f253558977544d057484615df8028fbee312a5a55ed2c1c72d1257130d62be71dda51a0a97748680d2735181dc85721d3923f8d192f8794fcc96be998eb135e56840f812d952b26dc2f2f8537db1701de931a9e0b811c99606b1d7a72b81fe6796623b2e3442266abe726bfe71c26713b582970ff964812b3a7511b88474ad1a39d60fe77fb5b93faa43aa689e37f22cf656dcdde8d4a529b091869c19a199bf5af108ce21a33eb8ae43a8485f63a7c0ae7f3e9d6d3fbf35320f44e2572fb823070f38da5d5fb4cd37f3e167531443d7027341943de2d2e0dbe4918ce0f53b1e5a7368b2c3c6ff4ff9044663d54810e945168c3b1d019852e9412c0563e10ce0287359612c8365ce0fd34c5cdb9f290f0e017571aaef2f889ca179debd4f3065bae18380425f4d7c9dd18bb2cf626ea6faa24e3f4384b1da15a3d6df8b52cc90b935da2e4c23b9597355cee7f1945393e249b7b14ad729ff91432962e6218224895175df6f11b30546af34ef81f1840d4b4f24290fa19e90d41f3792fbd17b307eff2702189161f1552f429b1fc18154682320160642d6a8c304b9a74645336beb060762fd36780e26160b5380e4500bf316ab3b6594b76993031ace92b2efad9cb178983121b9d4845f4ba36071a9d404af3f9d4f2199f14cff37ed44717baad75f448628d19af3421f46a8b0f19184461f3ef7bc1178d00634bcf58624c6725ac619927f15545490f360e0fb877c6814c6b9ea2f952ccf3a3abad91da10ef63f3144a0f23340223ff35814709f4d3516c16e5bb75f3a3574719c25228f4b5a03e1636db84f49a58781762e821f35742a2181bc2f7f397ef311637054630ad43d250643a45395291b55b725ae5723bdd1b62eae7a445bd65319f19c63568c61a5b1206b34d3bed1dd63786de01f49a49affb2a9cebf3518ed9fb7f061bf402f2bdfb0bb9c0f344eaa4fb1bb58df3fb10a4fb6bcbb8f3bb45a0fbfbd11ef477204efb6ff5815087d668629a2a0c5d17e9236a698d0061d79fdb460b2f26a9c24f33529ee32911b3aa1515876dab37a91b8339f13feff22ac0af17a839caf36b8b36183cace0f27ca7e419927205f46713bd1740d4a5f49da36019a6baa1f4ceac2c19b530c1f2eaf4de19c6322751ef91df5b92e05f6533f2a760db246a7d1551e266a304d149e19ef5ab9b67c917279abc17e5eb69fbf214f2182014b4fb9ffe3e163705e1fba23dfe17e466a2fb4cd37c16dcc16ffbaaa6f61663923efb92173218345ca6fb512703175f6a95fb422b751962216358fc9aad68a047125962cd87430577849addf21174af2dc5499c4fcf8778b8293377e4ed3b12154cf3afbf46fb6ab6baf3dc41b0fb4cbe91f32c0b39fb2ef0f3f2262a42fbe21813f3cd5230fb476af8f3870f92fbefea62f47a7a92fb7234cdf297d11f5d8e12023c55bf666f4ef6005c8d58bc9549953d730699fd4ff8264fb23cf0ac1886051a1c4d05891af4edc2fbf792baf24163bdfbe896c3f32f65e3fb6023ebf2ca07d7fb66774bf4993ad1fbd99a01f30be2a6fbd34630f3275768fb7ef1a1f2f78972fbe65735554ebaa9390610c05a5315734087513d8c09862074f653884a096d36bad118d01b4762691789a9a4fb84456418eb0ca3fb4aa9b419eedf99fb865a481883a740fbccb302171e6b31fbdcc4a318d918a3fb2772ae179e15aefb5dcf1b17b3873ffb7673f4189ca65c5d080bdc43f1e1b278e9bbf0411aed639db279b76db39473596dd293164dfc0317fddbabfb866f2cf49fee5afb376ea4f3351975fb9baa96f394a45afbd65b6bf333ddaffb9de9fdf212c3d7fbeeead4f2262aa9fbf329a1f4fa10ccfbaee586f41f6791fbe442375aab92fb3ebf0cd287434e9d6e5b5143a22f6941660f17d858c6629c18cba73c167536ce1e8e78a81944d168f419b32118417e79f37ee3a4168ea062f3684ff8160f7514f3d3335e16d0c984f4e44f5716db178bf3f1e44f1765e6d5f39b589417ffd4263cb1b60b56568bf7410b9931975f374f710f5c7f4fa42325bcbf1b8b7648524f17d3a2bc1d17f181fb389846f3eaf47dfb8dede9f2ef7b22fb6cb646f4429fd8fb1ab5a5f4cd8e2ffb7dc74ef4164ac2fb955678f3aea1abfb511264f4825bd7fb2cdbf5f268318f5c44110177dd73146b7a24ef4d9557b1ac71c8ac855c5302606910468a110d2833d76a203d85cc1c16f25d02f36cc7671902a893f3c335ff186fdffbf23bdcd317eae2b3f3dfb9001a3c8153f3a8edd118ccf62bf491591a17bed596f344cc8916cbf73c423ef6c45d15bc03651b1912a83850df6979ba2a6292c2eebd5d91e87574332d1ec8640e210884defb523cdff2811f84fb900283f397e066fbb5636bf4b5af3afbe896e9f2ed4ea3fbaabb7cf42cfc51fb744940f4fc3dc7fb444010f3ebf46cfb40019ff4ba45685818c3743cc9991ca49c3d626e6cdb6d54ca28d67ab141e2599329871efca9c71b6444e22057e352f45dd8b917feaa52f42bfc1119743121f3694f9818db6c99f3d79c4618989917f426394b16467b0df3b1fb8f19521d21f48db4ca175a186e3dbffda754ced3533d92a3eea77ad2e668dd293056741d36bf0ff6d877943fff1c5c2be22145ecd620c546c1f3241b6b1627e58ef43e187e1951f342f42ab1b917ec3602f4f8a719192312a0f21e3ac51704a731f4981c4f168ba270f48c969c181fea6d40d92c977aaa69c464c1fe0b4fe4ac6e6dca35ef5f6aa19dc29fe940765b492821c377c822552bbe2132b22720a4a99cfbe66ccb18874f90fb5de48618e3bcc8fb7a9dfc174fca80fb033b2e19226885fb5cbaa018cf7481fb4bbe3b1690f45071cf3b545fc7dc4c460fb904a5f494e4710bb28c59b37201bc93c3b85cedf29ed26f8cac231756f41e282b6e208e484d416f57f1f2d56f3617c0a984f402e336196a0dacf401f23a182db681f4e431cd161e6be5f31d3a03177b0239f33755483d85c9d2624864d23f6bb7c5a69c7e2164d4f8ed6167d7fdbd05c2405ff28607d169ffc3238fcc5423c78c9346c614a93f473a2b17750683fbeed5a017f40664fb11227117579a43fbf768d91957ef44fb4994591639592ffb3898db867e356462c5292e4270ba30a3145c994dc63817c2b506ff790c88855f7484a1d36b3cb022b49dc01f39897e3db627e7453b7eaa47ee9c181a325d08f3aea14718447cc5f3ce9d6d187dabeef346352a168c4c9bf38ff00e189a54f0817d9e5867e164264acf9f89a0468af5865b1d0f5d44650780f7a37565a8f4c0ceb96346217425be3f42ddfb460186a443dc4f4f39e726fd2e11ac22fba65269162b0d79fbccdde017447c95fbeeead617a64c9a609f26b64105687099d3e8f96edd6e714832a030810d602862a462e0c908e95486467e4f657a255646fefc1b3d6612ce46f05c183a0aa2e63122e07a4fe77fc847dfdb81f4981cdd5a7e25095e2496ff7c0d982d61f1b45a40c98a5da72c8cd36f9bae985ea04c49826f6e0159848c46d189116c7425229a29dca5753180914230f7d87f2cd1e2294a23bd653c8f2c033180eb015dc4796a35ffb37e5d2a91a83e040b6f9551375c7318d897491c79c9bfd5a26b563d7258cbb89e8e7b06429a6fdbbb519019578d2cf852092d88bd0f2a78859a2f1ffe22519dd8cb507fba725b0e80ca5d8ed18c6087f6007e90e4ac6bd0224e504285c6ad5e2a4885c47c8e5608003a80cdac406c2de6e9d9c33b3d881826ea313c35a52f98773329023e2e2f644eed4c9fd91548d5819c5845a9c356a9e281411746cb75d8b9686bb07213513a6827af9e2d2582d3aaee5d0a1e1582463d496d83be81d6d0003b8586b2b42e814ecb2eb4b31b288dd08d4a6d71253f6f90872d7f2ee65a725a8f582404ef5c515ac37806644d66e187784bf25f74a43c7dd98747933f580caf12c97de8796af508f6ce38d753833fa7e3df673b922672b38b4a3750af52b2e56f46a293d2301edf675a87c40637fa24ff5de154a43f0bf38b907403487346618150454a15be8935547faf98945cf4502f7649b7fb6993be0d924ba7e87e5c44373d6a05774e1f29b0405671ec2d2912145352a9f45d41c46d625518ce670cea41617a3a074385e691abd1d9156a1d614d5fb54f097d82d80c614b6b92cfc8bbf18ecd7c70d5e7049d93d1e01d3208d0df28de97dd2f92b2384b83a3414fd99c8754c10b9e5dd1be2056f367ff898dec986d36884b48e0487aa87651128106a3085ec747b37f462bcf65f40a63d5ef3e7f7cceecdee0471af487ef9a024980f7d83f5964932f413bab5da896195fea92a65bb5e08a7a9bd68e57b2e1444310b9ef9f9b1b0772aea0435d832578761abacc584d3588cdec05e37241fdd2de96b2b67eb007b4e5f9d4ef2a8742af5235a45147c3cab7323fd344569e919373f12bd5554e858d3c3b21c295a1d79c4a4fb2a7b79f3ab4817fe0416134b576cce565e369d8770ed9c2924f8be0dfa9dd680fe77af006c4499b2cf442c3a8c83284915263e978a0343afd905502056046dc7ab6773c132468e7578f4cfde095720b8e785a720e4bc40228f788b0f27669314a5f931b46bd7903017f8e10890fe23b330b2f9651075346d3114f7bd0563a61aa2b540a0abd34d4772278bec85e703c9d214d3cb2b767c686f94e8433cfbe3fab6a77d952576510c5cc764230fd772df1fee062380a787e5e1da520a88c3e08b7c330d28d614ff959b861ecc7795fe87c22712ae536609e6bee407518e19d641c5b653da09e59b8800e89d17848545190aad2538d869bd717dbd8356a67798d9ec5e38da75c9caf09b6ab547b3941643edf2f02e64254d50e36362c41616048da6c425bf9318c40ad18669821964ec7cbd2b8714e8f5dc27626caff71a47bf64d476ce899f18c24556f7820202b9b3fc5f4e77ac5be8c1bd2e3492682645389b4b359578edf64a5a823571c07547829153e647579c44813fa75b8937cd5797249dd5803ee0386f9cab266917789d973c3c989dff5e0de1a65817d238899a57e9e48eb67c3d0321d4dee57cc778c5525bf8f542e90828a8b72085cd25067411b57e1a7d11a4f67da559757ad36fbb9f6f3c55cf6723acf5d58348dc055fce03fd929925ba3f6e40db6df8f0358c8a335945849649d783b52b0006124cf4042c3f16a854dd4a7672206614e215921735710d162219312c171da4b7649882772eb6ac18293790f8a6ad0eb8a98988789622911a626f368e825d45f92441e6949bc1b3e57a98a2136eda230713b4b6c6175aa129315646973336e21535ebbb8b8a549687da77a9c603751abd14723da67adc45dd8ecffb37995aabce4d743db9059e992aa435f87ebf2069785b20d1282e032f87ec90a5977b5b6eb7ce5e14e76816f6d8aa2a99d88a41cda754a8eed7955bdc677bda57b7c9308d8853619ea8795f972807be4487ad3c6ba8177c1897f6ea77077cd107d7b0c6eb9775068bd82b5994983546a8b789ca4fc7e30fe328a23afde89fc09b97d0dc4b878a796bc885f381176c0dedd7c3009868708763778074f1483b056e47b2d2e6f775e060d80613be47905e3c28197a2b2867f2087840da05978d324ca77d0d2c3838b448282d320027d0815b57a46e25386e546797aea5eba75c4748a77a68fe6769eb2d488d27ee978dcf669752152f679d5d4447e23d3767a076168784a958b79e1e6cb7e174abe7e0952b07a7e773b7e902dfe83891d937b603f948047799278c0e56181423661814ddcad7e50682c7bd2708e8791bd117bd3ad5d764ab9e9851e6116883d29db86051203825f38767ecf081c7edad64780ccc1007a419fa88156cbfb8877f0068a366cf17ab74967805410d1775c0ec084f283567a15ff0480a7bab185479db782a0e0027c86b9e58487498f89cbd316877cf25b801767548ac2714878a7a81c89caa1d885c0633589a0289b7edbef3e82b44ae88619e8d979c7e36585e1ac7d81e3dea681258e21841709f6844a668580588df77ba9ec97766b4321899d7c8f84f0b64b880840f485a1533d851767a57d4a544c83b06ffa7dc8b02f8747de5c7fbfcc1387f25f5a8a96d15289712fee8898a5408dfef27fb1fe337a96b4d9119e22eb87a7befdb497371c3793e2cc0aac6839ae8fdf2214934812e67a0fae55765e185b83fc9293793110d187dcce0e868708c67c2d76639bf921f880fcbef0956f67119f67b9559a35d5fb9b7c1ecc997a8cb6b78d5cf38c291b8a8b95baa28623c1f77ac0c1d18300ec467e9c6e94869bba197d07b41b8215ed717c33a3518a2a69078e6c91f6ad16430393da5506a55aa5d0037315fafc42ea2304936366d8c6a231a413a65288914a4878fdecb7772cc2ad83e9a63a83e6830079d593e17e3d6ab47b4116c192d8e6c68cfe19c9af3ec9c39005755d013a19f177bd9ea67a4d820f7a4e487c042afd998ae5808088048d1c7cc641628a98e6237ed84a2e7b4c74f67ceebe667d388172975a9ae8afa684c0785fc93092ba7ee176bb07db75b140997b504ba975669b2c865791fb8b03a2327b42ee2879af368c80edb7ac827a8a198220b7b9783bfb7779379079828ed03eb60c7aed938ef44a98ff16557824090280d15731762a53287703a3b77fe63bd287bed734819a8f2080aac48c8253cc6a75084b27795ed0db7599b7f18705651188868021a7a69f5eb33e38d97dc4fd1985411d5076c1516a76d8de15829ba8e8861fdc0f88aa783f7b9aac607cc4b52478d9b68f7d03c7a57974203779ea94e0764e1d8f9d8ac846a5eb023c84085245853201b782e10ac287e06f07774edcdb8465e7e67b4f201381f6363f8327e4cc7f49584576e49dec82aad62b849a18e57ddab9dfa1dfa972a6a2b7127f6d3b3278c7a2f881f0af98824535538250c2998900cf9b88288d2778e3a5a29607b80c8af1e1f989ebb4ae7dd81bfe750a478a76390a5b7b16d7b9993e2d42cf578d667a5a367b78e9f23b7b6d993680088c68756815f1891602298a214723abf3ed7f8f93785d8a60b62d7f9eb218890b14197c055eff793efab48717d3f3b1cef2697a0b0daf7db98d5c89fd22457b7ea64a823c2d0d7cbbea0f763d9900fbcd7c0993dd268a901da4f37cdd3adc772d0a257608a94f6af2ecfe8990c841a548ad0f0355bd0b81c8cd508356dde386276d8987e4c8a17eae24597cac2c9685aa9cc780e78af9a7128b35a7e9e43f76e95770804540f4893590636813988480ba2f139c9f0c55cf83ba19860744d489391892880cfe0388f03fa186e898e57bdd04e379cba8b8fab785aa7d307981941cf013891e2b397be66ac778effb7b751ce013894acb3e846196ee03de219d897ead1781e16f55890797767732717b7de9e02981710be977bbb463fcf62c2695d6343a977160de77eb897f7530e5f883ab1320711d583f8542c6327aa93f847c26e8ae8708649b7e8188db85b068b58886efc983bb205d897fa99c8468f85ef91cde28a52f53e29aed1c0d7f8d8119889b02c485d946ab664e23bf880482d580c720ae03112885d3da3ef5804946a079c54cd5818cf8d489cd3b628376f4f882b02727872cc97d22c71cbb9c815fe9843299d185b9f9268620db128aaa5432880e540f7cb833b28a1d5a6dd08ba32078d731a87a3e5420770bf03f8511f95e7a99760a8607a9747f5599b1fab4e9db81987a0e879b025b7c8d6f6978d1bc797d09ed717cc600de87c2131b8498b4da03fa05068478a4b287491ec17eaf7e0c897045e87ea6f48782d212087c4ae8261d0f6f8a88c0755084709f6979ab8ade7818d3fd752beacb841a37c8786bccc77c149311847b83808ad929b8893b3819847bd2c27b19348181d8928287ace0be81a2481c1b8b644980cf780f771cc794839d461e7a85872d8038e63b7e25abcd8744d4f87b76233aa0aa52ebd7dcf395882d352a8351529c88f9ed62882f1b3d8a2e67d87b6dfe6bf8af405a83b1c9a7781e89ca76b46e807b4dd55f83761f5e88a1414e8af230b1851248a69d78bd977f239dc87a30b68d7f59940889c67e1177fd92fd861dee88864cb1591be244838471e77587929508875f678889cfd22b885a6c6081052f387e616a7a95bd77bbb1b62c138a067367797a4de184bef4d981d4d4f285ee3ca07ddad63c7a8003257fe6a788793612258267cd397e8529538850e641762ba213796a18c57ed784b7a52fd508a5ff20d6869efabf75d4df5f8a0e37078a9a432585d194c478d9b3b2786337658a8ca57d878c9eac7a19cf377e01f38482fee8c97926b98085796ae89e949cc590dc73e87d162af77c02e8088786b96a808534d2869636ba7c3117c086a46f587ac74f0e7ad36cd0806677b183ef845e870b1448822f4aa087dbd2be7aca2314810d587d869815da803de1e7855f800b850d17f47e7a1e32f90724a69a3f96087f43ea127b6a182a7bfd348b830732597c4f97457bcdbd9182687a998096417287ac455787b3a8cc8246a11e03b6260486f3a3837effe43b89e505de9b95289f9334b3ab840b670f7df76c63884d12b084dc574579ebb4018104286881d85c12861f1510767af346872d88fb86b01c9176e2bb40dccaa58cfa8517f60409c52a9ecaebf394ed2204a1499d827e71164f818c8ce57bf993528a8dff547c5a128f78fdab6e8acf492e82caa1737939ff837903492c9e15b105837ccb6c96d364cea13718beab45cc63a4dbb267872ee9ba80433d0f89b982877b7aa0437c178bc57cc9db49812ee96d839b96ec7f3087a979a9fe4f8942f577a8b8aa46a5009723940ef30e8fdd242eaf54b30298a5b8d579ef96f8844b5bf77d5e8fd989c2dd558aa5f488833c105b7734aa5889366c7f787df91d806ecb87859e787d9079ff13a63b6b2a8b01851c8c0015a1a35783748ad81b147ec9a56b894303be88adf98775b82cea775b4f787ba9ec7675b3313d7e4d8de588bcf81d8969f4238d5e69be94a58fecaa4121839ae315a69706ddf68a3c56d97b031a4487a743597a04bca87a08df6284aa30628a2da15488948dab86f283667e2ded9e895a7ef0864a1ece89683dfe7946884da33af14bac9579888c54d36097cbe562899b6efe818e3cda7c6f139b800d6a0c842c6fd87c625ffc79621e5084fe4da9803ad79080c31a237694b56d762587fe7576d051879db28578da6af183a7ba867b838b1388eb4f7384144be37e35e7437bd647c37642b8047bac91fd8509359281e07abc84e38bcd7b2ef4177e16d7e4829677b57b6a3c1c86ffaeea7554a4c381e629cd76f4b5647af3c05781599421804f32568846ba047bf5f23485aa42797d24c8e1823a8f7d7ef5c3137cb9f9f17d9b79c5771320817ec486607559163f8aad94d487d96a8478604ae689faf40f884899338a71ca6f8052b3ca7934c7b279ef72b6833c2dcf87157d32833183f87e41530f850d5f2f7f6271647a08dfcc76e52240864fd8967f99ff6c81e8509d75436ca985506f117690e56b82115360820063ec842f79887b035b9e81b91d167da253ea76c2179082a27e977eeebe1482cc8030886afb707ce3c56a868b4f457870aa77776ea76c77fd1b65780504aa7812bf8d87f5700f7f4a42167a2d9aa485e8eba27a02a7f98750398e754c7f1c887ba3f17f01a0b27dcbba247c8da525856b67a37ac57b168437f122843eef50897e485d7de3cc4683d97ca77da1c35f7b1e65eb79f4b56a88bc1597889e305e7b62cb8975661d3d7e1b6dd27fe8bc4079c2f3808adaa7f8865c81887f9797c6852b613681a2003e7ca021df7d2683247de48b3d806d107e75b2c9a0758575197e3457fb84c129f88193ae7b80eb7e668391225c87e994eb86a62a357d2003e5822c5d6989eb3d3d89e4e5fb82447a8c7eab8af6799e71b775277fe87aca187d82215976893f7f4277bcbb3d7aeab82e82a4b01789650b0179d29442896852507cef31227c8015c47a1ebf568a159a7d7d797c5080c1995f7b5cdfcf7e7743fc81c01b817e6dfeb0770e1e5479b355ae7be5cf2d8905addf7b8d5d8e83f57b35834e903f77ed5de57da439b5794eca49779e6a8d7f03743b88c0da998279b2597da81b237ca9466478589160773815fa845326708352a80576e0dfed75c23b5d863773717622b332872989b17f3d4d2a786f7f6586858e6981eb61547e87ae438220d4b781ca47f88066367f77171f6a88bd47c281d086d77c69edcb7881ed067b7a423b84e9e73d85d3a99788c01bc985b61e8d76b1b04178483ff5807d0b4b7ddf077f82ea658b811eb49c8866adfa7e3dc41d861bf6b97b1da66c8463379688ba6c5778bf607b82eed76178484af37837732a8261abaf7cfe95a67f144ba6784c62e087cae92979238bb68159c3217f4d16e97d58695287eda5f579b737557e8a4804765d5d4888738cf9790689308957215e8069a5c6889500347e88bc947e6cb65577c719ef8680d45c7d6f8aef86feb97182e5059a7b7b08898a5ff7cc7ae2be8b81c89ebd89ad77c57532305b85370ef17ad5c9d68482fba7880ffdf18283140b8a546afd7f4809617e5e7dd8788e9a0c83ce42227ada17358838520b785fcca87d83ccb57e3cec797c81ed177d3797b3796f6d557c59827e879f99c49d4094599d8f2e11a25021b88741121578fcf0f187ab6d9d86fe9540800201cb80da5f0f8072dce8867182408610c3e687b517098405940177a3c62f87a11de7a140c6518b772ffe90d0ff517a6337bc7a4731e884f009e481c9ff5d7e10aaaf85640f837a9ddae585f677827570a3df88fd176c7fb821e581e3141a880da01185b9c74d91a8d0adb5a830b98a98d596854b503a7f71f93979f199b87b576d82856732b6802081e17513731f86aa71de7bab9c0b7b9504b77dd33dc588c3081d8711a6d69ce9d132b70f581690eeb4c387ef1f3f891488ff850c6ad17f65c33c83fb556d7a7593da766c6ea289b8f2d4773175507ff665ba7b1b1a07889b55d5872eb3a3ad2635c08f9e5cb1abf8cd4880b438bd8207fc1880c7852a825ff03b799761ba7d45ff6e83f3c032836bd33c88f9528b7842413a8acd5f41791241c6797e00768626b90a94288aa1a5666113b2936c9e8674c93378bd4b018435dcbc896f86f58183f0878944c2787e8bc6a3800e95f28030ab2f84eff0738796e3f086a3bb4a787ab2db8e8605e8029dba41fc0fec099202a3146465e9e48541ca737910aaee828218f280c17cd777ba82bb7f86543685b164ef7c2ba9438786dd3a8a7b507f0163f5d885402166773f8ac7876b9d607ce33c1c7e19b2be8724cf6d7c03e4fc8980c2947b38276678a01a957f5b20d979fbb3b980449eb677a3f51a7f85875e977409adb1d85985923d3d9285a373648968b7367a99c2bf777a4d5e8bec6933b49ebb36866d3b2a857b913e801439228606bf4879af072c7846471082c4eb50792a9bacd048f7eaaf50a4298c43f866892c81747939ed307b3117b0807c33b579b10ac6ab76fefd84ed4008863e54757ee60c6c84d8e57b7d6f137d7befe98b81fc80327e5272b490077466a3fa75cc7bd93f9b809600d4816a061682318eb88537eacc9f21a31596839c47862c81877795452d83768f2486d13aef84288d59805cf1fc7da8802b7d5c2bd79efe2c8a7ba4035a8adce0c37c9689f17f1addd17ffb0d3d76923ba99a5f20aa87138ca276bc035f79cd58d37a36caff7de1d482802d1158980da6d278e6c8b2b0243f45784809ef7ebfcca47fc88c2e7670912e824b6d88813c80618ac0073991fe161885080abf80bf4366782a53be7d00c88f7c081ca67d279ca488d6e2fc838529d8da6786987e49e16a8672369b85ea9bab7632300484fc094a834564e5821320058750819d787050477ac7c6fc85a97c4c77ce05b385d731aa81ec7a6b7b21116d9f402da080b61ed37b640f807b9557458322ba2980bf02c67f26cbf57f844a31f92599597dcabe038254c80a7c11f9247eda30877de65f277dacaa7c751e2fb2862d35b4d8ab39677e7c740f822d9a4b8286fa6d88fb38668752b38b8981ac3286cae9891c02f27487ab62bb7a1fbbd7830cdae57b0009c67d972b7b7f732b0b8a8c270a7926b9557e26b965778754407bdb421988008793830761d8810386eb891e616e7dcdfeb21daf446f7f4d284f88033e8284a97cc4898d76f6794403cf75b181cc8384b694886398b385b1ed06868003e785b80f6c789337238259b1cf8602d2ab82d17b4076c8df6b76b19eec7db223cb7af598fb8416b355867f0e5387afea5e8336d12c79d8f7827d10ceb685f72b9b76943ec675625f6c7b8ed07d7bf0e51289590b7789512ae7f942a87d193bc3b7860cfe8b756a23c6798e6bac77e4c1b776f9a53082692e80857c69bd0294a0e67cb08c0388f86fa6869b434e7c16188e8164bc08860b8beb8269e2dd7fec151e79bc9e1880227d888822e976806f499c7e152e227e8bf5fe7c00c82481e898fade846be38140e0277b84f7417c4f07417e06246179c3130784a5407a7d9868321b0570a17582be397afa231e825cc2eb795e065278485135838804da8666c69177ecf1107f5355087c41e7a28673c63484afc6d57e43856c7d52fb6b813af4d0844c1f6f76d44f8783c1e17f7db42da482acf24e771cfd3281b546ac7526d60b8748fe1f983c79bc753462cc825ed78578bda51c8887083f82eb0eeb84495f067e0fe4491cabd286868a4831815475fd818f38ea777403c98871e7ef7ea3c6678512d81d865d110f8c34698d7554afad851fcdd8810c87aa7b7576bd87b58e8d783051d57750323d8688983780655e137f06774080977ead773b79897760af1f7ab713d97c320134a58490f57fc391ec771c748778eeed3a83d8e5cd7b0c1b317650397e751e2d439514250f8869f46e7e32011f7b923bd47f1415e87cca2ae676abd23088e0933786f3370faf90fc5c7a11700077b044bb7d6b67398893c04976bb6ce7844caacb8e90150b8a47387d87a7267a8092e8f383250cb87f92304877e0684c79be2311806aa14e90e6c4b184e8d9447a36415e7e985d2b781cce728a5505d084eb7edd94a0c6317d564da07d912216873720188445ffa3887be4cc850b4ac98349c4fd77b0035ab57743148037b193853c104580ad82d77514159f7eb4c19d8ad4e6aaa8f7030ab738f7d0840fe4f07f92831f80181bbd80af198a8857912a874cc3538aa3a9b184886909a28f67ac8db04c29208044f37b744b1d85543f9976bb1265857df9789baf534c97fb418d816624f780bb2b107f3e951479f5987581800a257985c88e7e6c757b7600a4c1a0b45b9c9448f01495730fb57c8b73cf849c925379f7070f94c5f476aef6b56c92385d8c87d66b3c89f469477c88869387e26060883f981786026df37e2a19ef88f051149ed7d571ab211d0696fa4b4c925b06cdf90b12b2acea4cd994d5f38fa9096b1baa1006b2833d1705846fd93c7608d46e834a25df80a5acbf794cb5a77e37326d8a1b3e6a75d1efd3932d0e509fdb5a679bdeb55f839591fa9214bbeeb30790b58de9e509994ae8207b4929a68874c20377692e2b81b23c58827e0750779f499b816087c97dc582d977e65fd27dfad0327dae652276a0e4e380c964e3814df92e81d70d058694216f790b798d810e953b86987a5c76f1631e7a3199107cecbb598a1b5000879416c67a433d1e807fa9d0788b7e6b7d6b1f6b80f450b3784ad6cb7e7f3d7789b09e05783ff6838450b7a67c10fd09819ea75b84483429889117d079eb12ff7a64ce877e86dd3a7e44c2e576c4e4c78992dd2184b41b1083ad8de681a2659884516b99797ea68b8a7c3a96812140577d7050d186273ea2868625a48003f62486497c2d88cde11c82c797597a68273a86fda03f7a72d19a8025cf8e85c3e48a868b3d3c8216a1b67b863b8c7b9eb9ee81410b977d9bde3c7bcb1f817ad4cd4283a743b689f40f92893852d2824564128963b528848678487e4cd9178a6b7933817714a683b4a4d1794593ff83b695d47e01c4fa7facb56682ef67a086e7080681fb67627f9dcf917c8438338385bd647cffdd427886d68784084b84788f721284ccc1ae804a8a5f76b0731179ec61a875d319af7742add57f49588b781ff5878382a1be75ad9fc286be0da075eab1bf8001057f821ebf5179a17bce7f95c3768523d345893eef997f9803a383b5587d7ea65984813428377ccb4377750e1eb88273b48686eb199e7d47431b837e5a8c76a2000e8217f7a989b529a2871d00c0889cab9b8092fa3982b886b4760832407b0732107918d3578636b48d81ad9fce7f8b4f658a51ac688904d5e378be8fcd7758862e7960512d88e2602684f06ed37ad84ad7875f38518621ac3d84c5f94f83c105c17efc6e887f88864f8349f38381003f2e7a1c0f90805953987e2d11df7a75b7c276c87a1d7633d23b83f3c07b7f271a99754485fd89ae19697fcf49c475db428f75355e16875ac6f27f986fb77704451081b5ab4f8199c9fb85ddd5ff815bcdc98699d0da7e40aa8478d7a8217de64da08891b21a7b6a4e477f162aa184ef848f7963e4ae7f55b2747ee8aae78113973e85bc15dd7d10eb9576c3541b853c511277f7e38d8129ee7c8277de3d8425f39989f3ae567b08c297791d942b7743eacb864c9f9581eaee987a2bfc8e89b6255189a1a604884780c6894f322383d6c503779d874487740ab27a1987977ecd05c47d9e42d37e9582c97e93a3827a8b07197b60807e88ec27cb89c33ed2779cf7a38491b29d87e8ce317c7606967c1cbc427ff2a0a4895ca50c84099aba75434fd6808ec5db790bbae582d59a267b2193377c198e02882392d9786ce58185cd223a764444b782d5ed938493f6fa88497cbb88a547368407df8277524747800ac52479c3ef9379b7ef637d0a7d448ae505fb85d2000b81f89e868a14eded78354c89764d69d6883a67ea761f730d7c1660c57e4b910c7f4265d77adf24907994d9e97d9790c1794b25d48978b6ca805ba2e27bc9e65c825d47877a0075ac86e4f7ef885260a5894e07c382873e7f7a765976775ddb657c9d6a5c867224b68795a61e8a8b32bc854df9c77e2bc6047b471f6c88dafa7576b252ba86dfb46f7752befd880ec0ba89b9c3e67b955e41806d104688ebeaee817da6207ebb5ae182a6f4a0802140548aa224798a7d8296828dffb27c268397866c75ac893ee4f184c092557816be177d6cf78b8489c31a7a8b90237e0af46883a3bb458803d91f7f9653b476079058880c6ad07ed731e88555f31a8873442379ff13398a14f8d9820ffd8f882093ef7c55feb27f2c15658a7e072788a4931b7b7afaf276a3bfcb7fe65f8b848b0e817c89f27c89ae2b6f7653721d7e3a842777da587b7e47a8b17d85eceb7e2451a7855fde4e78d14ceb786f37007e717006847899d67a8015b87736eefa797b3712870022057a8176d47c810a5b88fc1b51832ae3317c6844e189980a4f86a13a727f5a5a8779c873bb79335b6c7f58e0be819283c283f594d77c459a187c4f3dca88dac04689497cdb7571e07b76cc02387cb3de3e7e1d82c389e2b3d77e79e1c187681c76786295c77a50157483bd35367f2dbec389cbba5088dae83a7827781a7e48f7e084e31fb586c9359a77f83d0b7e02cb9a89ada61b7f89b1e87a67d88c7e6707427b99938e781946a582d18214818af57b892ff7ab7ee8989c83f05c297f6f49ac7b60c87b87f337348746433583d576bc75c06e6582276dbb7d4045f27f54ec7b8095e77f8111b8f19346d17daba9fa6da11cf467aa3859288f3cc3728b9eed0699dce1c498a94081abcc74dc93adc02d80a611e69689d47e76d8e5ef81f8df167bee356686fa47db8079296890fe180ca68ea14a8fd585aea5e57284b721d15690735e838c7fa9fc90139b619ebd8bbb885e595787155da79923dc97853e25f6867c169a89cd4d7d8155b2fb7ef283a7b6a01fc59039f30d8be3f2fcaa038f8c914e98bba90e3c390475cfe121366e6c9c95282d8c24ddfb76fcd3e8a12ce52f8a9e9c2b7dd731f887e5e10678796af378db30477dd29b5e91d6efb598e5c645a6c33d249705e638963a36d927ed7b3f7b468fde7fe61793872174c38c3c56c8806533e4946850c47de95ea0881d24437ecf66a68911ca7183257cf48036e333b14fed0a94b7f8369e40c24ab15e273afbf4242f7bc014267d0d46218697689281f3c0707d42369a96dd92ef8486a7e285868a19877702ab7e74c2ba75911089820964c58cc1bb5a8d0d6168ab7fe96395f8046584913b5e84dcbc9d7d691c4f781880ac7fa4270798fc66e48569596e7919b2f9850b92ac7fbf720d7f5d9a7475b3b304b5ae023e9c438c2ca7b54f16ae68e4fd8838b7e27e9bfb787efa2ae5838a890d7e50f8278074ddea87b8a32d8a8360f575be9a587cd02c0c7fb07aaf7fe7789076ac2c098d48130bb71a90919c94084e8ca2e23e82e93a1c8744d405766af43176f3135e8af881de871356c17b23c142a4336d307fe8ebea7646c51f7bbff01d762d648178ba9bac76c395cd88e8eb12057ce8bfdfa887df81df2b0b8a88218882fc269a7918b6a085ab2ca1813feb8f860249749eda88c17d924dfb855f5cae8124b6bd8722e96f79f4a3c37677f0507ba3a6290509290add8ea2a189b00a0c83699ad087dfcdd688bd35d082444b5381864d367773a2068d65335879d21dee7c9cd324817c45bd793abe9a874f689495c77f489a9d579b87bc5d58813cc8ad7b4385387c0e66b7818d118a7d66129b8af10519864c0458a4fb9f2586dd3a327a2bd82c8087913a76c34221860ecb6b77001bd794f5078d84332c2a7b60e553865d064881db78b57dc3e43185337fb481f4b58376b372c08951e20a857ead35856815ff87070e4e8afdc4007de575328529774a79921e897d22a158fa6e65bb79c5579677223ce77887ef4a8381acdc861a660d851bf6ad8548a4ac16a756c877f57b6a7858b56a879a0d6186631a0281c6bf6a87194d5c8932e4969bfa8ccbf9895f23810a3cf07f65286c78f45bbc7524f7aa84178bd07e3f08cf83d9ab8fa3c8e08576fc02a08a8bcd767df2d64f85af6114827e7ee886805d0476e6a01e83358240fc52a107896e9cf08443329d7538f1f7777befdb8471d5da79adc3ef7bb534d317d69949a6c15000822b97cf78ba65ae790bafbd89fd4d7388d731618871772b831631ba7fbe213a7d233828890a8baf80122b39868a89188a677a57843f5b4c7b895ef2f6a8600f8da00b8d7672a6f5894c7b4788a22bf5863b8bcd7b36eeae7cbc7aa388c0c8e27cb9b1a97f18a43e7ea4155487f1c4797fae5a397d739757783cdaa27b49bdd0b0f72f2684eba23585974f5582e0bbcd7f89f90d7b1d5eef7f7c0f586bc4f47e797fd19e1aa42fcf7d7b08a1832ad13d7c08f1da80f612927d6ea7ea825ba91582df3d60b877428d883129448aa6a1a8846f91f9772b61cd819ba8488817d32b85f3e4827b464e3d1ca62b8d86045e467d770d3e781c5064851cc3268677d3407e6ad78d8027eb5c9da485877c3964d1773c6e7f80b9287481069b7c7d71e72d768671e38039e2f47c8737c1849a065e82acc70280fddad8898f09ac893398c088fd17828828f2fa8ff3a7b978bddbfd891bbcce7cd8a43685f421b5879893427abe2a5d7697bf85825123907933e4917512ad6c7efe17e689528444878994ab7dd2121686a3203218f9ccfbb539f89d83848054883afbea7bea82be837a784089d74359823632c07c7fc62489ba9b2b86aacbd77b6fef3787ddf98777f641ef79bf6031824e12818604e00ca3a529537affef3e821e12c889d10b2787e00a2c7a784ac0764444d9838b73ee81f4aa2a97f456c188aa1e7d789f49e37e23558979e30dd37d36d11778d02c98aa1cca728171e797839ed69f840b094e7c2efbb8805fd3ff8517a4d181051d8582ceb2c3800cfe9eae3e68e2814702ba7e21befd811b7f9383e9b1567e24925198062adda32dbbb07f51d0827d6122a880e0f14c850dfa87893da07f8314d4a184ff784e83bc277b7d83883109d35d4a8746c5a0792c44ad75dae83c7b9eb9a0825c7a1b7a5d52ce8506078986a9466684c7fcf1898c81f8824fb4347dd606fd81d8a42c8af1053179539681856a7dcf8dd362e41904e8497e9462097bc026c016948e1b8652962278811c51853e421278d9878688614d6086cd29d0821c21a97c8adcec7c6d87147671ce407bac0f55806881268f947260a23b13310b5edfd2a1c0c7f8940b8d7877b8c70b775a94d57fa43916770c1b2089645e357d593a168549cf977be181487c77cc1386e845a07535f2b68cc3f93d8f3201b17ac14abc8a8e117eb15ff74f93059ec07cd0aa487e5ed0d4894d0bfc8508db8380e04b67780134877ff9a5b77605c37786ff0130841ad252763105e8a7cdf2757929c75685b799a78a41b690a64996109aa444b7781e368c7c151c1476b3433378a7557c7dc6249381bb4f0d7e01e8c384f2d645887c0fc07c865f978c4b78dd89d64e48a8f454d57ddbf32d96a030748c39814a86ace04b8015be4b7eb8fde777fb7df485a3973f81e1881f89a6ba96887bfded79b98d907d9993f17ac0a40595b5684078cf95c1a99852d1ac70f49fa4fb34fe9073a422856b26b07974203a7613ea107f83cc6088d6e2587dc16a4c80414cba885367f67e9707a4890619d8850c673880f670ad8be94c86962f2c84a966d482915be34883e82c40784062b17e5ee96e76f09d1b8650b0cc7b4784d3877a25967d8c441d7df761db7f97a93080897025826283207be7378684332cfd7e206f437a63498e87e99f8375b4f75189bf8b8b7be32af98687c08479b7aef885f88c6b7d8f846f7bb3e9da7fe558957f0009dc8643a96c7e9b148879dbc08a8215ff388aaa42dd7f4a5ff0811ff1f5818e06e47ac8cd4a86f6eeee82aa30b87abdf8cb8432542b87761f5d86f3b5f486b23c8077ee9ac2777d4ca1751ab2a078171f08853d0527878355ec8757913e781726a784ea9b1c7e45db0980bfba027771e0358258eb2e89aaa7b47f5db73d8a47802a7e321e8879cd346383673d8e7ac4b55884a2772188b2a1717e6976c180ae9b567859579c761d69ee7556b9cb7c9bcc00847e071c82ac50d27a3433ac7948af2d881523bf894b91237b1a1e3c852750dc82ee23dc7840452f7e8cb0057b6d34a688a7f0a275f08be77df90aca76059f577c7397527c7d94e488f744fb83783fed85d5939b8708c94688cfb55b87f8686577fd51968287f6f77f337fbe86165543771acbf4779a06947deba203803e013b8a49172984a08d288449cf7d851a308c8172891783a59ab7898231ee7b1d704d848613c57ef62f6b81dcfd4f8026b9d276339c607d0b676a83f0d3d784e1acfc795372c67f94212d875410a28113cda37a1ad69d85a7d3d47ab6e8107627012f8823792085b2c5b689fe4230843eaee281838b5c7c92a70687ec03157bee18507a9a351d8019295b81ca605a7d1004fa819dab4179e63b4178def95b83a56493860e428676c7480081dc339c7f00feb180301bc287f90a0378d8c1e17a6993787ebc03b389350030881cb133894851ac754fe3c9757a3bce77bb5ac287ec6f8c823ae93f7c3e78068122c5217cfa0680878cf8e678ead59586af858e76f8fc64824caa7889d3a99581f55e177d90c1ee85430ef689c81cb975e0b45e7ef2e8f1820350b67a2d52c081925437839935b97f93ae69818a7e838367fc8384b5e10477daf33b87a7c180893f7f5b8100a4f081c6bf058280f88b85273e0b7f0f374584dcc70782d2891d7f00ab0b7f1e19ad813f50de75676c0f7db93a287f5e4e7583c117797af75a9e773e951688613b787bc217e47769ede279fc26547a405786859d4d487e9e54ac83ace08276357bf07c9d87be829271698a439ec77bef84018a124f4d88fbccb8778beaef890c879076ae2fe2885dff2a7aba41178a9b8b9689aacbe97de235658477559f819271118213ea9089aebfd081aead5a7ad987af758288d4891aef73819d8e8378a9c80579c0f0cc7805d523830a2a2c7b34aaa67d9c09937502cb4f8399110585a810cf7aa48c18812e3174836bd3ca81b4c8bf7ba55280851385bf7a23cc9c88e111248a3f7ff9836565b37b2886a389ad82808143d8d67b0fc02a7ded52378414f8ea85680a7c82021ef280d13ab77ecc26c478415e777595212b7637ea107fdf85e97da2d1d57877a85a8f054fd87817cc73785eacd181fd4d1e7ae8507c8608649675ab49ef753ed6a17d82594b8a75be6684e994417ed008b18982d7a68085346c75527dca7e4cfd827c925fb18a26fb9c7d83969e80d5c962781e2426808f9d187f1c7b6b81bd23737d36ad907c5ccd9b88c213bc7a2044cb7da30eb3848296f97a858edc7e66f5c1804dca5c97e631ac8383d3e9924d704e7be766177fc283e37e0940a081f5c3a577effb0f78d128dc7ef283a3849ff6ac768db7d7864141ba88f4fd0f85ae908783c86fdf7aea1d9976c06eac76d5395c7bff787578c2e8a180a0864e7b18d3047f8188748722b30178ddbcf278d68f468626d2a6818176b87618c81588a141c77d688c5799bc773b7706b86a762f8fd0795bd82a762766388564453c856c63237a9993867c28980d81e372fd82d659ef7c1d1de3817f0e7e7dd36cf77e48e5af80200a027c2b7ea4805127f67540e4ce77fd0900783fae4978ff664c801c57cb775701257d12f56581c313ff8387e42676cdc80a7e0541767dcfefb37c209eec7ab27d24874b3e52908b18f993d8534d932c7e948a6a2a6a81bce6f381587bb77d9feff67ebd766a7e14d49a88bf55a3791535c2888326787a68a97579943e53898613d986d8a4c189c1bdcc85633e9d80a826da754c1a851dfd44aef8d62ba41e5d0958f764995a18c37b007fb563ce7f82183f7a42d1b57d7f0edb788f604c89a6c53f83c6f508863d712182a796a8b87bfc419c5c4d928c461498b3c64e467df0f00577cbb3bd7cf9b0af84652f06779b180e7630af657d3e83c487f88c648321596d777838ed8534b14086f6483682494d52a54b994fb14cdf889674ed6fe45cd01677fac9c77cdae8f77eb63b028737324d82d2775d7bfb0d5d7ce1a574786c8be787446fbe7dd4cdba808b3d3e7f6f081176c736929aec6cdb931c365da2f60b657a63e42f894e61fd7ffa064277e70c1080eba22c7eaff558792e18c983a481be75246e828625a70d7787dd30804b1a267b30c8b7907cb36899915363b8a8da7c832c2e1c881eeaeb78400f5279d4a987769820c27d35d5827d56787d7d35e7d0838aee81787bf6f485b379f08946ba9e85f36d258811ad0cb5713fe3b036c48f803b9dee809a182a7ef8bbb47a816fa786238b207b02837b866815257d73f59f7c2c27247a456f3f8a7df9bd7a65d5ae7c446817839bde42b42288a1ae2704c77caf078d7b2ee94780d796e57625ec0d828d2e037ae850fb8070577a87aa8a7f88b9a6d080448c2a77e563cc89ce9c0e79f6a63779b5abe08996362dab3a1b5295f3a0c788b0816586d5b7c7830c990c78718d2d7ab1520c7945c9ee76279178835aadc77e936d187b67e3087a32c44e7ec7d1317758fd8d7c7db13a9d7462d78fddc781813ad7a88792a79383b4fea2758dc2c989eb612b78cda49f880c754177d7a15284f6e3418453794d7fe8624288e2fbbb792480f88789534188638656a9a84e11e2c2212b82fac52c83c91c0177bc320c81463c8a83a6d73f848fa8f3827ef5c586fee8e884bae36783cb26f87d28fd03897ee3f78490229887bbc6f09981c9e595298684870f9102839f9c44890022577c7403908286427e86c83960881696aa8591a06683b7b5f18627b56288c3c7a28517f01f898dbed87729f9d37fd8d3af9a36f8527b9f8ac97fa81b897950df3377dc74ff7d172686884b2c5e7ce34ea786a10be987fb8b28814606588577141781d0ceb5780080dc7b35b8089af50605a632ae6380b113b9841f448b7c53af8e82629c8e7b6d462c84b529f8853fa33e81f3541a7d5da56888347b008ad8f76f797a7175779db675760aa19a88e6fa9187b1590baab17eb086d71fb08185b2638ab04017856421707e37d805881cb15d88724ffa759038b588f69ba18984bddd7b47cc747938328d8319a72d7e1ae8ad862912c98eb6d158a54eb704887212bc76e02002850249b477f2f3da80020c547fa9222488c3b52c7c5b7edd815e06c4897fd88d7b30ecaf79f2faae8243c6a888761f9395281ded91edd4141ed0d5b978f28ecf8091ab527827aee97c6e424082b75bd187f7195d7c9a7df67ac230ce8419a0958948fe517f51c93877cbd7fe7fec03fd81652fc6882e1c87996f89b81c7afb5c7a5f31277e51b72685560c9a7f80e6cf7a86cbcc7cb64d1778f2c4f377c4eb0b83f3ae66890e01a978324d7d80597000884858f28894e06b6e7f37fc75b98dd887eae34880108d7b877db89d7722e2de869b79b580e99f9e822fd347852df4697514cd9d7fe032f18769db56862380f97f929572899eaeb77bb3670d85bded4318a4fda9827219bb87696b6f79f05cbd858a7e6d8901e84b76f7a2c97cda5fd17fbc7a1e8244d4ec8081234387b7494478ca6b05859607b68926aee289951d3d82e6b2a1769dab9f826582fa75eac33276de3abf77bf1f7a824bd2867eee2a257e93912887daa739834ffce37db83364850947b6875cd437897c1d8d7fa90cc4855ef0627bc0e5568409ac0d7fea82ce85b07afd7eff01eb78a8802189e84568772ccd0c80b2060e7fc271587d5343288876315283a33df2894dad79822b0e6e80b9b1dca037593b873416db7a3e4db47f87d20c89e8ce2aaf8d2b4d87b39d3f7908f86678bf43fe821016298197ea5188eadc098aeff09e7b3ee8858894b85f7d11b12c782ef4e396200a39180823cc7dd0a3477c6ad73278c7c6d4ee5bf2d17fcd6a4382b4c84583ab5b6581b8d90a7d0d46737e1dd5007aa0083076bdf83a7b62a7228138a59679ac983ba1759f3791f434af93ec47b7156889baedb06e6a8c964b139ff953427a3de10f7917afb4882cc93682cec40c7da128338a331abb76fc26618946cc1588e546a6877ff118a6a39c919a6e8d7598e435f3adadf59f9050ddb694d615", + "frames": "89504e470d0a1a0a0000000d4948445200000030000000300802000000d8606ed0000000086163544c000000050000000136aa7ff60000001a6663544c0000000000000030000000300000000000000000000100190000d3679a86000007234944415478016354b38b61634000109b0d08e1800dca461104b2211001a06c842058230843082880c883e5a000c4046108c1c0a8631703a420002404c2100202a07aa114188098603e088301820167419810fb6100cc060981195000622389607110888402b0a1408024086680f860061440d90841b04610861050009107cb41018809c2100208d8100e0209417440014c23922088011606611880b0c1c210006682308480028831603928003141184200014812ea20200b8c21041080e42000c102b2c11008c00408401950610800eb401181b0414260060840194822400e900d72109082088309200049400082056443210240d92882601d282210364808cc00011003842104048035021d64040e21a00c840f065039a01094016202318858d77227a24605c80002101f4842281000334118428000980122c072500062823084000298241bd0412e200741f9200095835260b0a5eb1190c40a529aa08e83ea006108010260068800cb41018889e4552007ca060ba23908450e08f0380519a4346941d403b541196000e541291000314018424000d45208c568017610184044803410820091ae8180ac0e2d2009d108011063608682008809c2100202a0f2500aab83201449ae8100a09bc05a4100cc003909cc8002101b4504621590064228803b082a07a1c8700d041420c209640998010520368a08c42a200d84500064401c842247b66b2000e826b03170434100c404610801040849040bc80696d4162e4960160840e4287450192890802603210280d8282210ab803410420188c1c6c66807761010409450e81a0828eb33001b0602500692c5400e948d2408628085610e82c951c541357d0640120240c68230840002b0b54000b31102403c10843808cc8200ea3a08642c0843082020e01a2060b4f34a82b020808a0e02190bc2100202a00e825260006282f9200c74908b1738cac0802aae818026a09bc036800908005b0ba7c000c404f341180c100e0209b1b101eb4e204d21008610d834208403b0b54080220864432002401d0412026ba18a8320c103320e0ac046030192209801e28319500064c31d04810c2ba8e2a029b0340402201a848124840203906d602e9800010883d10be420901c844f2d07414c039a0c6320b1806c3004023001025006b03de4e59501a480004c8000856e42720d10c09c0175000880186061108601081b28cce81590016201311800198b2873500738bec000683e1810ed1a20003908cc8002089b6c3721050fc47c200d840800e281200240d93041c60070084100440848011973ea487613926b8000ea202805062026980fc230006183854100e120a808d83560c036a7ee1a90221250c5354026ba8390e580cc69c4b909ab6b802642196000e281200240d908419046a883802c20000940019809c2206242054e6711530602018807820800652304c11a81b90ce820100b0830e480004c400144beabe202b06600328000c4076108010160bd700a0c404c301f84c100c180b3204ca083c2c021046481f820009500023001051079b01c148098200c2180004483309084506000d208e68209108032a0c21000d60116813a082c00016026580e0ec06c901098010520368a08582310200982186061108601081b2c0c016026088308c6b03058948100540e44c200980d120233a000c44611016b0402244110032c0cc230006183852100cc046108c1c01813060a2130409783008815603928003141184200014212c102b2a11001a06c1441b00e2411b883a012400026a000a2122c070520260843082080494294c2008807820800652304413404834818407710888401301b24046680008801c2100202c01ae114188098603e08c300840d1686003013842104080019100761978310603928003141184200014c12c9d14000e281200240d908419c1a810eca03098130840001300344c0f481008809d40124a100268922086443200240d90841b046108610500091674c0acb03524036880703501e94020110038421040480cd855360006282f9200c0608069c056182308400013003641f63520cc841603e148084812488800210138421040440e5a114188098603e0883018201674198103b6000cc06090119e80e0233403260061480d82822604381004910cc00f1c10c2880b21182608d200c21a000220f966360cc003b0802c022205930030a406c14118846200d845000628085411806206cb030048099200c21a000620c580e04d01c041286cb01018809c210020810920816900d864000264000ca800a430058078a08840d1202334000e12088205813148098200c21800021896001d950880050368a2058078a08840d1202334000c8803a08c8021120080550069208900365230982186061108601081b2c0c0160260843081000334004580e0a804c90838014880d825000628030848000a8462805062026980fc230006183852100cc046108010260068800cb41018809ccf679a01002b34104148098200c2180002689e4682000f1401001a06c84206e8d4000a54000c4006106007f1a988f75cca27b0000001a6663544c00000001000000300000003000000000000000000001001900004814705200000738666441540000000278016354b38b61634000109b0d08210044c3308400013003a408cc00013803c882b1d9400c10861050009107cb41018809c210828151c72e06484100480884210410c034428c8101101b2c03c2608060c0591026a6462001820800622389607110888402b0a1408024086680f8600608c01940168c0dd608c210020a20f2603928003141184200011bc2412021880e28806944120433407c30030a206c986a20003341184240014413580e0a404c108610400092843a08c80263080104203928809804062006580684c100ca405203e480d8282210364808cc000128034904c801b2410e0252106130010420092840d20062806540180ca00c2435400e888d2202618384c00c10003140184240005823d04146e01002ca40f8600095030a411920261080f860060840194822400e880dc2100204c00c1001968302101384210410c024d9800e72013908ca0701841c9401620201880f664001840d530d0460260843081000334004580e0a404c14a3609260413407a1c8c10188c7f60b48c305410c1086104000930253600204c00ca05e20840210038421040440f54228460bb083c0002202a4811001403c625c03c22000a3c10ca056208401100b8421040480f5c229820e0231c0184480019401a6c004c39cba3b594d5a100e98000110038c41040c80d84886033950369220d04149400a08a04248722006580b0883018801c4bf1816b5dc0132b182820e2da012903288661800b1910c0772a06c24412003ea20200b0450e540044664e1710a3228eb0086198a46308610408024056701d9c0921ae820840850004882018849ae6b20a0a6cf00484200502f1083482880198b240862b0b131da81430804d0e540184480019041926b2000e826a0461040321cc881b29104410cb030d841200684000128032c0dc260b08274d7404013309cc0a6800920009b0b0448ae0102100f04810ef2028510900501500652f40301d9ae8180a629b070029a0b2480006c371c8078200802200741581000628375813018001964441632e898024d4c304b213640018809e68330d0412ee0108200b0104817980102400685ae8100a09be0a6826d87021013cc0761304038082c04d205664001904d250799018d020174f3211001a00e020b8164c00c108033a8e2a0be296640126828dc583003c40733a000c80639084881d8500a0a400c1066585447350781230704c034361b810ef2028510363910a68e6b2060ca2c909b20006436d875200c065006b03de4e59501a480004c800094017524a8ee04921482be59b0340432188a41040c40d8402146af800c100b88c100ca80b90608a8e22078f0808c055a0b24801806206cb030d84160061440d90807b1cda9bb06a42804480e82400480b261828c01e0108200881090823240809a0e02190b0e07108601081b2c0c020807414510ae01d1103cad82223711ef1a2013dd41c87220260853cb41108800503642106423d441401608a0ca413860826102b96e22c935400e6318d8412080210701309a1c37c15c03c4600288c100c180b3204c8483d05c0304600a4c800088c1c6d05544829b60ae0141200013200065408521006c295804ea20b00004809960393800b3414240464bd10520872080b90688c10410c300840d16860030138441046358187239049503913000668384c00c28c0e32c88538000a41e8c41040c40d84842602608430806c6983050088101ba1c04405c0296830210138421044345ce0548dd09e18309100031409a4134044059c84210839144e00e824a0001988002884ab01c148098200c2180002609a6c00408803462745a4000280c244100444330888401740781481800b34142600608801840fc0ba21a02604c4c6570293080b09184c04c108610200064401c845d0e4280e5a000ca44d80d9344888000880dc620020ca00c84329814420404803ca083f24042200c214000cc0011307d20006202750049288049a20882d9600c22c000ca4028034b8130848002883c6352581e9002b2413c1880f2a014088018200c2140002e09361e0a404c300611608060c059102608430810003340463226c5801c04e6430148184882082800314118424000541e4a81018809e6833018201870168409b10306c06c90109081ee2030032403664001888d22023614089004c10c101fcc8002281b2108d608c210020a20f2603906c60cb08320002c02920533a000c44611816804d240080520065818846100c2060b43009809c210020a20c680e54000cd412061b81c108098200c21800021896001d9600804600204a00ca830048075a08840d82021300304100e8208823541018809c210020810920816900d85080065a3088275a08840d82021300304800ca883802c100182500065208900395036922088011606611880b0c1c2100066823084000130034480e5a000c80439084881d8200805200608430808806a845260006282f9200c031036581802c04c1086102000668008b01c148098c06c9f070a21301b4440018809c21002086092488e0602100f041100ca4608e2d60804500a04400c1066000062719f8f6d53a2630000001a6663544c0000000300000030000000300000000000000000000100190000a582a3bb0000075c666441540000000478016354b38b61634000109b0d08210044c3308400013003a408cc00013803c882b1d9400c10861050009107cb41018809c210828151c72e06484100480884210410c034428c8101101b2c03c2608060c0591026a6462001820800622389607110888402b0a1408024086680f8600608c01940168c0dd608c210020a20f2603928003141184200011bc2412021880e28806944120433407c30030a206c986a20003341184240014413580e0a404c108610400092843a08c80263080104203928809804062006580684c100ca405203e480d8282210364808cc000128034904c801b2410e0252106130010420092840d20062806540180ca00c2435400e888d2202618384c00c10003140184240005823d04146e01002ca40f8600095030a411920261080f860060840194822400e880dc2100204c00c1001968302101384210410c024d9800e72013908ca0701841c9401620201880f664001840d530d0460260843081000334004580e0a404c14a3609260413407a1c841009801e283195000652304111a81004c8000481ecc01132000628030848000a85e08c5680176101840448034102200880d96016130803210ca50a46134900184bf8018c88600100b8421040480f5c229820e0231c0c2200c065006921a2007c406610801022006188308308032303502019220d04149400a08a04248726006880f66800094812402e480d8200c214000c400631001065006422388066120400882185007015920802a0722401001a06c8420d84a10861050006283318800031003842104102049c1594036b0a4063a082102140092600062b2fd02d24822100c2180002605a6c004088018600c22c000ca009a0724410021051482b3410c3636463b70088100ba1c08830830003140184200014c0a4c8109100033d8ba2a2ed4f4190059400016015150065c23102004c10cb00cd841200684000128830d2c0f065006980213400096056108c130a1e21a90c40a9aa6801c075606226018424001c86d2008731090050120061883081880b211cac0b2200c22f038051974809c85a2110e400683200830da7921d2109481d0050250064c038885c00cd388730d04744c31036902610801022006928d8c2e5ed03404e103e5a00c3080b2915c03658029925c03017db3cc80245837088018602341180c501d842a070450369a8340981cd740c014b09b20006430082200d4416021900c980102700690056353c13510007413d81890d160061400d920070129101b041100ca4608825d030460112213322e0076100802019800010883d10b14422039081f08e00c200bc6a6a66b2060d6021b2009340d02a00c607bc8cb2b0348010198000110038441004e4319547510d0283880b081d6307a05648058400c065006d86218002a0312400c21a8e3a005e010820088b1606bc00e02334000cac0eb1a20a0ae83a0c6c22c650c00871004408480149401710d10802930411dd74000c44d106361362139082a82e41a3806913000e401eb4e20834280d5354026d4415011a06d40120440340c4308100033a8e620b06940f3801002400e43711048000ac04c1086102000668074771551c141cbc02104340d6c2c10406d043908c402020c39200013500095a7aa83c036410098097450183884802c101f04a012400026a000cc06290233185a2873d3b26560d7003114402d0592500781052000cc04cbc101980d12023340807207c18d029a0c62833088600c0b8345190840e540240c80d9202130030a80ec3a72dd84c73540c01813060a213040978300884bc0725000628230435d0ec96e02ba064882754300d860881d60007710540208c00414405482e5a000c4046108c150418a9b505d03a2211844c200ba8340240c80d92021300304400c100601385d91730a481104a06c05d6032680006a23108009100032200ec22e0721c0725000628230840002b024083314a5e17416b40c0461080104608d4080e45b2000f2800eca03098130840001300344c0f481008809c2100208c092200c21a00068685ada11e4d6058801c2100208706a04928c496179400ac806f16000ca83522000628030848000b0b9408045194c0ac802622000536085b0de3008430810003340f28c4931200781f9500012069220020a404c108610100095875260006282f9200c0608069c056142ec8001301b240464a03b08cc00c98019500062a388800d050224413003c40733a000ca460882358230848002883c588e813103ec2008008b8064c10c2800b15144201a813410420188011606611880b0c1c21000668230848002883160391040731048182e070420260843082040482258403618020198000128032a0c01601d282210364808cc000184832082604d5000628230840002842482056443210240d92882601d282210364808cc00012003ea20200b4480201440194822400e948d2408628085411806206cb030048099200c214000cc00116039280032410e025220360842018801c2100202a01aa114188098603e08c300840d168600301384210408801920022c0705202630dbe7814208cc06115000628230840002982492a38100c403410480b21182b83502019402011003841900d8749b8f392ec5380000001a6663544c00000005000000300000003000000000000000000001001900004848d1c100000764666441540000000678016354b38b61634000109b0d08210044c3308400013003a408cc00013803c882b1d9400c10861050009107cb41018809c210828151c72e06484100480884210410c034428c8101101b2c03c2608060c0591026a6462001820800622389607110888402b0a1408024086680f8600608c01940168c0dd608c210020a20f2603928003141184200011bc2412021880e28806944120433407c30030a206c986a20003341184240014413580e0a404c108610400092843a08c80263080104203928809804062006580684c100ca405203e480d8282210364808cc000128034904c801b2410e0252106130010420092840d20062806540180ca00c2435400e888d2202618384c00c10003140184240005823d04146e01002ca40f8600095030a411920261080f860060840194822400e880dc2100204c00c1001968302101384210410c024d9800e72013908ca0701841c9401620201880f664001840d530d0460260843081000334004580e0a404c14a3609260413407a1c841009801e283195000652304b1680402301b240466800094812402e440d8108ad102ec203080880069204400101b2c03c2600065209481a581004c8109100033408ac00c1000314018424000542f9422e82010032c0cc260006520a90172406c108610200066801481195000628330840002b04620405206745012900202a810921c9801e28319200065208900392036084308100033408ac00c2800b15144c01a81004910c8803a08c8020154391001820800652304c1868230848002903cdb2f2006b22100c40261080104608d60806001d9c0921ae8208408500048820188c9f60b4823894030840002981498021320006280318800032803681e908402982c922088c1c6c668070e211040970361100106200608430820804981293001022006188308308032900c0772a06c244110032c0c76108801214000ca6003cb83019401a6c0041080654118424001880dc620020c400c104610200c0448ae0102100f04610e02b22000c40063100103503642195816842104088019401544c432084308104030c0928c765e88340465802540180ca00ca05d40120440340c43081000c9e3700d10c069100384210408401910e7001de4e2054d43103e5c0202a06ca05d40120460b2600a4c80008801c620020c400c1086100c1539173aa69881d8200c214000ca40b214d5416071108601281bcd41200c214000c440c6600064d4155d0032b08229b3cc8024500d04c0dd03a4a00e02b240040842019c0164c1d8607d200c214000c400631001032db89d820c66419c05d30aa1400e02b340d68219500065230451f48109100031c01844800191ae8180590b6ce01a210c462f500881ac85f08100ce00b2606c987d08111000b1c11844800149ae8180050b6c8024d404607bc8cb2b0348010198000110038441004e4319480e0231c01844800119ae81806560370101d02c46af800c100b88c100ca40b218c801b1411842800094018f7f0a5c0301403741cc023908cc00012883906b8000cc06a90333408052072d832626c60070084100440848411910d70001980213200065502f782060cd3250c4211c04351dc935700c226100ca46720d9081a7c8211e801dc4067510d0501040d80da261184280008c01520763831854729013d0281407217c0d6182308400013003ea103001021006551cb4699913d038908320860239500636d70001541e4a8100844115d74000d04d8c61e010029a0d311dc802314018424001980d520466800094011601d69d40268560d31a7094411c047605048099606be000cc06098119200065c044a8eaa0305894810069ae010230411d07ed58e304241963c24021040650d70001988002884bc0725000628230840002b68a9c53408a4280e620b08d200c21a08018d780186c0c456914b909e21a20407710888401301b24046680008801c2100202c01a19188a280b2488838046411c04361484210408801920022c07052026084308208049821d9d436e20415c03044063800eca039a05640201980001300344c02c04011013a8034842014c1249900c3721bb06d84d604c0acb0372406c200903501e94020110038421041060710d1000d969a4b809c935400c22189362400e02316100620558160a404c108610100095875240061043001b5b5ac211204d10a0b8064880208683c00c900c98010520368a08cc19488208064c3201b7b32065201c408c81e863cc003b0802c022205930030a406c14118846200d8450006200f12fa01c9002012805046065215147209539880325a0002c0fd408244000cd412061b81c108098200c21800021896001d94088ec1c900818802560002c0bc2100204c00c9022300304100e8208823541018809c210020810920816900d85080065a308827580308400013003a408cc00012003ea20200b4480201440194822400e948d240862808541180c100c380bc2046108010260068800cb4101900972109002b141100a400c1086101000d508a5c000c404f341180c100c380bc2046108010260068800cb410188096ca0e5814208cc06115000628230840002982492a38100c403410480b21182088d40002640002a0fa54000c400610600982c9f8ff0b3d5630000001a6663544c0000000700000030000000300000000000000000000100190000a5de022800000765666441540000000878016354b38b61634000109b0d08210044c3308400013003a408cc00013803c882b1d9400c10861050009107cb41018809c210828151c72e06484100480884210410c034428c8101101b2c03c2608060c0591026a6462001820800622389607110888402b0a1408024086680f8600608c01940168c0dd608c210020a20f2603928003141184200011bc2412021880e28806944120433407c30030a206c986a20003341184240014413580e0a404c108610400092843a08c80263080104203928809804062006580684c100ca405203e480d8282210364808cc000128034904c801b2410e0252106130010420092840d20062806540180ca00c2435400e888d2202618384c00c10003140184240005823d04146e01002ca40f8600095030a411920261080f860060840194822400e880dc2100204c00c1001968302101384210410c024d9800e72013908ca0701841c9401620201880f664001840d530d0460260843081000334004580e0a404c14a3609260413407a1c841009801e283195000652304b1680402301b240466800094812402e440d8108ad102ec203080880069204400101b2c03c2600065209481a581004c8109100033408ac00c1000314018424000542f9422e82010032c0cc260006520a90172406c108610200066801481195000628330840002b04620405206745012900202a810921c9801e28319200065208900392036084308100033408ac00c2800b15144c01a81004910c8803a08c8020154391001820800652304c1868230848002903cdb2f2006b22100c40261080104608d60806001d9c0921ae8208408500048820188c9f60b4823894030840002981498021320006280318800032803681e908402982c922088c1c6c668070e211040970361100106200608430820804981293001022006188308308032900c0772a06c244110032c0c76108801214000ca6003cb83019401a6c0041080654118424001880dc620020c400c104610200c0448ae0102100f04610e02b22000c4006310010350364219581684210408c0194049381bc40061080104302984512000e281200830da7921d2109401d605c2600065c0348058080c214000ca40730d1020698431905840361003014c23a38b17340d41f870090880b2310d0553600204a00c24bd5006422310c0649104a10c248da80e028b83300c40d90823102ac004088018c8180ca00c348d4080108131905c030450078185406ac10c108033802c181bac13842104088018600c226000ca866a0411200c045011104030605a2114c8416016482d98010550364210451f98000110038c4104184019d834421920260cc09d03640231d0415ea01002a985f08100ce00b2606c983684080880d8600c22c000ca40288349812930010240465adaa9590b6c800c08803280ed212faf0c200504600204400c100601380d65206c0233c01844c000948d5006960561109193760ac8c00a962db001a900855040069002b34100ca4098080428864200948111e0100aac1b5697818922dc4e41066b96d9801c04d602025006d42408005b09c2100204600c903a181bcc0061080104088d44ba06021803c021040160ed200aca80180a04600a4c4049880c0883018801c22000d60dab95d948730d10201c04d20f0460f3c000444330888401280f4a81009401a6c0c2e4bb0608a00e02e90702b0796000a26118428000980152046680009401a6c0041090ef1a20407110d82408003341184280009801720b980102500654044820c20608c87710583bc8142803c9503001051079b01c148098200c2120002c4f6ef00001631838848046800c0201a889400026a000cc062902334000c40061080104201a8281249e22073f803a08ec0a080033c186c201980d1202334000ca00536002484268288b020785c1a20c0488720d1080d8200c218000ac110860cac877504c182884c0006c28084308288058019683021013842104102024212cb25d03047007818d026108010524b806a21406c87613ba8340240c80d92021300304a00c3005268000ac114e81019009accc810c3200c44160d34018428000980122c0725000628230840002982486a32971501ec8081086102000668008988520006282308400029824866b80807c072585e50129a04970b38000ca83522000628030848000a883a014184099e0664942c211209354c09814037210503f1c409c01321206404c10861010009587524006104300d83540401d07811920278119500062a38840ad040a4119202618c05c0304404614e96e62cc003b080280468008104400101b4504662592209481ea1a106063888a22cd4d680e0299833015c886620801040849040bc806432000132000628030880821c54d0807418c44b506822104102024112c201b0a1100ca461224d24da73679401d04d6093200cc000128034904c881b29104410cb0300883019481a406c801b1d918fc42f60169ace0c8260f2009540672109002b141100a400c108610100036144e81018809e6833018401908a340340c43081000329c42f6ed5be301d60d052026b05f96070a21301b4440018809c21002086092089b4000c403410480b21182308dc82c201b86410418801820cc000043fc7f018f5aeb040000000049454e44ae426082", + "proof": { + "index": 0, + "siblings": [ + "b22dd92b1341f6ddda36b6b4c70809f09615912cdac889326608f9fadb4f02e1" + ] + } + } + ] + }, + "job_v3r_a_proof_a_sibling_short": { + "kind": "job", + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-6001\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":2,\"root\":\"ff16318ee859c9c509c82f463b9db19f2dbb56f37a89a89a990c3a93c1734355\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c09\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-6001\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"45fa49b0740e4291ff82ac398db6066646150cdacd3c9db846b2b0020c30fad0\",\"sig\":\"8f0b086612e9ec99e0a7528bf209d9fb177aa434791ba16e7cec7d5c5144d291a856b0a732392aabba3da12460f6281d66b5c94be930ed4869059a3cc6a2da0a\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c09\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:6c5449272b5fd4cce2f0277ee502fcb6787e712d0d6497fe91d2b3585447dcc4\"],\"output\":\"ff16318ee859c9c509c82f463b9db19f2dbb56f37a89a89a990c3a93c1734355\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"30.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"30.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:a0d32db5da7481a02190e35f185f09bb7f64b3f4708949701c1eb8967a4aacee\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"b429f29acd1fd05985f00090e400545e14eb945c946b9efb08a2c56d1ee468b8bb11a5cd840c5dbd7ab9993be1d7bbef0d4677cad7f6fa0f31cdf15e7363d408\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "receipt": "{\"profile\":\"wai.video.int_motion/receipt\",\"codestream_hash\":\"277865b574029f700f4fac023de3ab06ae598ee6f8ed726444e91442a6bd59e9\",\"clip_hash\":\"3492566e8e2682e3b3bac083b4db02ef8eba9a7f15d9faf0e27feee0f6eb488c\",\"h\":48,\"w\":48,\"frames\":[\"e1d8e8f8b5c534be1421e5858ed9137808ddb849bdff2bf397beb32568d8eb69\",\"ae7214babf5bbd6ec279434740f3271be43d2392b8167813fa557b5c4426fa14\",\"b3ef86db27b82d303bc6b612cb224ad55259b4f2e2c0461c74dcce188cd64b99\",\"3906f91010bf1b9ca14f6e2ac9b499589ac02ff4465e1d9764a22443a8b29c22\",\"bedb1538c2071d705d2d3ab2df2c569ffed440278494649f9bf1ec881561c519\"],\"merkle_root\":\"0f3fe4aa201c275c10289c22f31e7211b555627b33a251bbe33d094abada6508\",\"work_pixel_ops\":34560,\"joules_micro\":0,\"uj_per_kilopixel_op\":null,\"energy_provenance\":null,\"parent_receipt_hash\":null,\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"signer_id\":\"did:example:sink/job-6001\",\"sig\":\"b0caed886abed9777621c42aa89adc4cfc9821de68345699fe31b2bc9faf5302319e43618a67cb83fcd485fe44b56fdbf5eb298555dd8cf0072accc0fe5c0c01\",\"receipt_hash\":\"849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0\"}", + "codestream": "57495631010100000500000030000000300000000800000006000000d5ffffff590000000000000004000000090000000f000000160000001e00000028000000330000004100000051000000640000007a00000094000000b3000000d8000000030100003601000073010000bb0100001002000074020000ea020000750300001a040000dd040000c3050000d2060000130800008e0900004e0b00005f0d0000d00f0000b21200001a160000201a0000e11e00007e240000202b0000f6320000383c00002747000012540000556300005c750000a38a0000aa9c0000edab0000d8b80000c7c3000009cd0000dfd4000081db00001ee10000dfe50000e5e900004ded00002ff00000a0f20000b1f4000071f60000ecf700002df900003cfa000022fb0000e5fb00008afc000015fd00008bfd0000effd000044fe00008cfe0000c9fe0000fcfe000027ff00004cff00006bff000085ff00009bff0000aeff0000beff0000ccff0000d7ff0000e1ff0000e9ff0000f0ff0000f6ff0000fbff0000ffff00000000010000000000feff0100ffff01000000000000000000000000000200fdfffbfffbfffcfffbfffdfffbff00000000000000000300fdfffbfffbfffbfffbfffcfffbfffffffbff000000000100fffffdfffbfffbfffbfffbfffbff00000000000000000000000000000000fcfffdfffbfffcff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0400fbff0400fcfffbff0100000000000000feff02000500fbfffbfffbfffbfffbfffdfffbff00000000ffff01000500fcfffefffbfffbfffbfffbfffbff000000000000000000000000fdfffbfffcfffbfffbfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fdff0200fcff0300000000000000000000000000fbfffcfffbfffbfffcfffbfffffffdff00000000000000000500fbfffbfffbfffbfffbfffffffbff00000000000000000300fefffdfffbfffbfffbfffbfffbff000000000000000000000000fdfffdfffcfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0200fbff0400ffff010000000000000000000300fefffbfffbfffbfffcff0100feff00000000000000000100fffffffffbfffbfffbfffbfffbff00000000000000000000000001000000fdfffcfffbfffbff74420000280b35593c000000a214bea9451501b9ad0cbdbd9a309164812c7ece531911d14717c3dbbc1d27782217989f7218f20d121d7bd4ca1f3eb3ef1f71131429e2d1f626c3e7ab249c33af4fe2d2c042a6d2222fb9b3c460c33836571567e55a40c90777634123135bfb8e1357858f0dfd6cd3316844ae2fdb041518b067b9167f09231b1d6f1c16b7df311ea6450d1ea29eed1ecc320c2b747de0206b34c82a708a2525b67967473d53e643c54f6f2f42e6355aaafd6534aabbdf5fe1a866406fac26314f6ad812ef006e0dd2c39e124439f5306ba6e0396f65ff1627ef771e0071f21b088eae1efd0a7d22d53ada205042fa23135ba627dfdecc3c473a7353bf1ea7435671e53209bdc9581998ef568e94f260c2af006595d31a5d0301d30b0e96f22e27c43d162997a218be088f12dc9d0915dff4db17246c1a3c61066e3807ec553cb509743e78e21d250c19332ef30e3d2d4f94a0275d0ead4e59f7ff403f44c02ed1b145563b075b55c0ece2599ea8038a52c4e77287a40b3015595e178405f01716799f12508739158ce39537c6364439c2c61335c774823feb0e4a46484b29464146093e52ba6e2e3e5a0631121b992d5a46a848c8478e518c794638949ff05b4c57d23967cc4b57d3bb164147bebb2f4cd1452f40e1701817cec818f564ff13f4072317feda4f17504f253558977544d057484615df8028fbee312a5a55ed2c1c72d1257130d62be71dda51a0a97748680d2735181dc85721d3923f8d192f8794fcc96be998eb135e56840f812d952b26dc2f2f8537db1701de931a9e0b811c99606b1d7a72b81fe6796623b2e3442266abe726bfe71c26713b582970ff964812b3a7511b88474ad1a39d60fe77fb5b93faa43aa689e37f22cf656dcdde8d4a529b091869c19a199bf5af108ce21a33eb8ae43a8485f63a7c0ae7f3e9d6d3fbf35320f44e2572fb823070f38da5d5fb4cd37f3e167531443d7027341943de2d2e0dbe4918ce0f53b1e5a7368b2c3c6ff4ff9044663d54810e945168c3b1d019852e9412c0563e10ce0287359612c8365ce0fd34c5cdb9f290f0e017571aaef2f889ca179debd4f3065bae18380425f4d7c9dd18bb2cf626ea6faa24e3f4384b1da15a3d6df8b52cc90b935da2e4c23b9597355cee7f1945393e249b7b14ad729ff91432962e6218224895175df6f11b30546af34ef81f1840d4b4f24290fa19e90d41f3792fbd17b307eff2702189161f1552f429b1fc18154682320160642d6a8c304b9a74645336beb060762fd36780e26160b5380e4500bf316ab3b6594b76993031ace92b2efad9cb178983121b9d4845f4ba36071a9d404af3f9d4f2199f14cff37ed44717baad75f448628d19af3421f46a8b0f19184461f3ef7bc1178d00634bcf58624c6725ac619927f15545490f360e0fb877c6814c6b9ea2f952ccf3a3abad91da10ef63f3144a0f23340223ff35814709f4d3516c16e5bb75f3a3574719c25228f4b5a03e1636db84f49a58781762e821f35742a2181bc2f7f397ef311637054630ad43d250643a45395291b55b725ae5723bdd1b62eae7a445bd65319f19c63568c61a5b1206b34d3bed1dd63786de01f49a49affb2a9cebf3518ed9fb7f061bf402f2bdfb0bb9c0f344eaa4fb1bb58df3fb10a4fb6bcbb8f3bb45a0fbfbd11ef477204efb6ff5815087d668629a2a0c5d17e9236a698d0061d79fdb460b2f26a9c24f33529ee32911b3aa1515876dab37a91b8339f13feff22ac0af17a839caf36b8b36183cace0f27ca7e419927205f46713bd1740d4a5f49da36019a6baa1f4ceac2c19b530c1f2eaf4de19c6322751ef91df5b92e05f6533f2a760db246a7d1551e266a304d149e19ef5ab9b67c917279abc17e5eb69fbf214f2182014b4fb9ffe3e163705e1fba23dfe17e466a2fb4cd37c16dcc16ffbaaa6f61663923efb92173218345ca6fb512703175f6a95fb422b751962216358fc9aad68a047125962cd87430577849addf21174af2dc5499c4fcf8778b8293377e4ed3b12154cf3afbf46fb6ab6baf3dc41b0fb4cbe91f32c0b39fb2ef0f3f2262a42fbe21813f3cd5230fb476af8f3870f92fbefea62f47a7a92fb7234cdf297d11f5d8e12023c55bf666f4ef6005c8d58bc9549953d730699fd4ff8264fb23cf0ac1886051a1c4d05891af4edc2fbf792baf24163bdfbe896c3f32f65e3fb6023ebf2ca07d7fb66774bf4993ad1fbd99a01f30be2a6fbd34630f3275768fb7ef1a1f2f78972fbe65735554ebaa9390610c05a5315734087513d8c09862074f653884a096d36bad118d01b4762691789a9a4fb84456418eb0ca3fb4aa9b419eedf99fb865a481883a740fbccb302171e6b31fbdcc4a318d918a3fb2772ae179e15aefb5dcf1b17b3873ffb7673f4189ca65c5d080bdc43f1e1b278e9bbf0411aed639db279b76db39473596dd293164dfc0317fddbabfb866f2cf49fee5afb376ea4f3351975fb9baa96f394a45afbd65b6bf333ddaffb9de9fdf212c3d7fbeeead4f2262aa9fbf329a1f4fa10ccfbaee586f41f6791fbe442375aab92fb3ebf0cd287434e9d6e5b5143a22f6941660f17d858c6629c18cba73c167536ce1e8e78a81944d168f419b32118417e79f37ee3a4168ea062f3684ff8160f7514f3d3335e16d0c984f4e44f5716db178bf3f1e44f1765e6d5f39b589417ffd4263cb1b60b56568bf7410b9931975f374f710f5c7f4fa42325bcbf1b8b7648524f17d3a2bc1d17f181fb389846f3eaf47dfb8dede9f2ef7b22fb6cb646f4429fd8fb1ab5a5f4cd8e2ffb7dc74ef4164ac2fb955678f3aea1abfb511264f4825bd7fb2cdbf5f268318f5c44110177dd73146b7a24ef4d9557b1ac71c8ac855c5302606910468a110d2833d76a203d85cc1c16f25d02f36cc7671902a893f3c335ff186fdffbf23bdcd317eae2b3f3dfb9001a3c8153f3a8edd118ccf62bf491591a17bed596f344cc8916cbf73c423ef6c45d15bc03651b1912a83850df6979ba2a6292c2eebd5d91e87574332d1ec8640e210884defb523cdff2811f84fb900283f397e066fbb5636bf4b5af3afbe896e9f2ed4ea3fbaabb7cf42cfc51fb744940f4fc3dc7fb444010f3ebf46cfb40019ff4ba45685818c3743cc9991ca49c3d626e6cdb6d54ca28d67ab141e2599329871efca9c71b6444e22057e352f45dd8b917feaa52f42bfc1119743121f3694f9818db6c99f3d79c4618989917f426394b16467b0df3b1fb8f19521d21f48db4ca175a186e3dbffda754ced3533d92a3eea77ad2e668dd293056741d36bf0ff6d877943fff1c5c2be22145ecd620c546c1f3241b6b1627e58ef43e187e1951f342f42ab1b917ec3602f4f8a719192312a0f21e3ac51704a731f4981c4f168ba270f48c969c181fea6d40d92c977aaa69c464c1fe0b4fe4ac6e6dca35ef5f6aa19dc29fe940765b492821c377c822552bbe2132b22720a4a99cfbe66ccb18874f90fb5de48618e3bcc8fb7a9dfc174fca80fb033b2e19226885fb5cbaa018cf7481fb4bbe3b1690f45071cf3b545fc7dc4c460fb904a5f494e4710bb28c59b37201bc93c3b85cedf29ed26f8cac231756f41e282b6e208e484d416f57f1f2d56f3617c0a984f402e336196a0dacf401f23a182db681f4e431cd161e6be5f31d3a03177b0239f33755483d85c9d2624864d23f6bb7c5a69c7e2164d4f8ed6167d7fdbd05c2405ff28607d169ffc3238fcc5423c78c9346c614a93f473a2b17750683fbeed5a017f40664fb11227117579a43fbf768d91957ef44fb4994591639592ffb3898db867e356462c5292e4270ba30a3145c994dc63817c2b506ff790c88855f7484a1d36b3cb022b49dc01f39897e3db627e7453b7eaa47ee9c181a325d08f3aea14718447cc5f3ce9d6d187dabeef346352a168c4c9bf38ff00e189a54f0817d9e5867e164264acf9f89a0468af5865b1d0f5d44650780f7a37565a8f4c0ceb96346217425be3f42ddfb460186a443dc4f4f39e726fd2e11ac22fba65269162b0d79fbccdde017447c95fbeeead617a64c9a609f26b64105687099d3e8f96edd6e714832a030810d602862a462e0c908e95486467e4f657a255646fefc1b3d6612ce46f05c183a0aa2e63122e07a4fe77fc847dfdb81f4981cdd5a7e25095e2496ff7c0d982d61f1b45a40c98a5da72c8cd36f9bae985ea04c49826f6e0159848c46d189116c7425229a29dca5753180914230f7d87f2cd1e2294a23bd653c8f2c033180eb015dc4796a35ffb37e5d2a91a83e040b6f9551375c7318d897491c79c9bfd5a26b563d7258cbb89e8e7b06429a6fdbbb519019578d2cf852092d88bd0f2a78859a2f1ffe22519dd8cb507fba725b0e80ca5d8ed18c6087f6007e90e4ac6bd0224e504285c6ad5e2a4885c47c8e5608003a80cdac406c2de6e9d9c33b3d881826ea313c35a52f98773329023e2e2f644eed4c9fd91548d5819c5845a9c356a9e281411746cb75d8b9686bb07213513a6827af9e2d2582d3aaee5d0a1e1582463d496d83be81d6d0003b8586b2b42e814ecb2eb4b31b288dd08d4a6d71253f6f90872d7f2ee65a725a8f582404ef5c515ac37806644d66e187784bf25f74a43c7dd98747933f580caf12c97de8796af508f6ce38d753833fa7e3df673b922672b38b4a3750af52b2e56f46a293d2301edf675a87c40637fa24ff5de154a43f0bf38b907403487346618150454a15be8935547faf98945cf4502f7649b7fb6993be0d924ba7e87e5c44373d6a05774e1f29b0405671ec2d2912145352a9f45d41c46d625518ce670cea41617a3a074385e691abd1d9156a1d614d5fb54f097d82d80c614b6b92cfc8bbf18ecd7c70d5e7049d93d1e01d3208d0df28de97dd2f92b2384b83a3414fd99c8754c10b9e5dd1be2056f367ff898dec986d36884b48e0487aa87651128106a3085ec747b37f462bcf65f40a63d5ef3e7f7cceecdee0471af487ef9a024980f7d83f5964932f413bab5da896195fea92a65bb5e08a7a9bd68e57b2e1444310b9ef9f9b1b0772aea0435d832578761abacc584d3588cdec05e37241fdd2de96b2b67eb007b4e5f9d4ef2a8742af5235a45147c3cab7323fd344569e919373f12bd5554e858d3c3b21c295a1d79c4a4fb2a7b79f3ab4817fe0416134b576cce565e369d8770ed9c2924f8be0dfa9dd680fe77af006c4499b2cf442c3a8c83284915263e978a0343afd905502056046dc7ab6773c132468e7578f4cfde095720b8e785a720e4bc40228f788b0f27669314a5f931b46bd7903017f8e10890fe23b330b2f9651075346d3114f7bd0563a61aa2b540a0abd34d4772278bec85e703c9d214d3cb2b767c686f94e8433cfbe3fab6a77d952576510c5cc764230fd772df1fee062380a787e5e1da520a88c3e08b7c330d28d614ff959b861ecc7795fe87c22712ae536609e6bee407518e19d641c5b653da09e59b8800e89d17848545190aad2538d869bd717dbd8356a67798d9ec5e38da75c9caf09b6ab547b3941643edf2f02e64254d50e36362c41616048da6c425bf9318c40ad18669821964ec7cbd2b8714e8f5dc27626caff71a47bf64d476ce899f18c24556f7820202b9b3fc5f4e77ac5be8c1bd2e3492682645389b4b359578edf64a5a823571c07547829153e647579c44813fa75b8937cd5797249dd5803ee0386f9cab266917789d973c3c989dff5e0de1a65817d238899a57e9e48eb67c3d0321d4dee57cc778c5525bf8f542e90828a8b72085cd25067411b57e1a7d11a4f67da559757ad36fbb9f6f3c55cf6723acf5d58348dc055fce03fd929925ba3f6e40db6df8f0358c8a335945849649d783b52b0006124cf4042c3f16a854dd4a7672206614e215921735710d162219312c171da4b7649882772eb6ac18293790f8a6ad0eb8a98988789622911a626f368e825d45f92441e6949bc1b3e57a98a2136eda230713b4b6c6175aa129315646973336e21535ebbb8b8a549687da77a9c603751abd14723da67adc45dd8ecffb37995aabce4d743db9059e992aa435f87ebf2069785b20d1282e032f87ec90a5977b5b6eb7ce5e14e76816f6d8aa2a99d88a41cda754a8eed7955bdc677bda57b7c9308d8853619ea8795f972807be4487ad3c6ba8177c1897f6ea77077cd107d7b0c6eb9775068bd82b5994983546a8b789ca4fc7e30fe328a23afde89fc09b97d0dc4b878a796bc885f381176c0dedd7c3009868708763778074f1483b056e47b2d2e6f775e060d80613be47905e3c28197a2b2867f2087840da05978d324ca77d0d2c3838b448282d320027d0815b57a46e25386e546797aea5eba75c4748a77a68fe6769eb2d488d27ee978dcf669752152f679d5d4447e23d3767a076168784a958b79e1e6cb7e174abe7e0952b07a7e773b7e902dfe83891d937b603f948047799278c0e56181423661814ddcad7e50682c7bd2708e8791bd117bd3ad5d764ab9e9851e6116883d29db86051203825f38767ecf081c7edad64780ccc1007a419fa88156cbfb8877f0068a366cf17ab74967805410d1775c0ec084f283567a15ff0480a7bab185479db782a0e0027c86b9e58487498f89cbd316877cf25b801767548ac2714878a7a81c89caa1d885c0633589a0289b7edbef3e82b44ae88619e8d979c7e36585e1ac7d81e3dea681258e21841709f6844a668580588df77ba9ec97766b4321899d7c8f84f0b64b880840f485a1533d851767a57d4a544c83b06ffa7dc8b02f8747de5c7fbfcc1387f25f5a8a96d15289712fee8898a5408dfef27fb1fe337a96b4d9119e22eb87a7befdb497371c3793e2cc0aac6839ae8fdf2214934812e67a0fae55765e185b83fc9293793110d187dcce0e868708c67c2d76639bf921f880fcbef0956f67119f67b9559a35d5fb9b7c1ecc997a8cb6b78d5cf38c291b8a8b95baa28623c1f77ac0c1d18300ec467e9c6e94869bba197d07b41b8215ed717c33a3518a2a69078e6c91f6ad16430393da5506a55aa5d0037315fafc42ea2304936366d8c6a231a413a65288914a4878fdecb7772cc2ad83e9a63a83e6830079d593e17e3d6ab47b4116c192d8e6c68cfe19c9af3ec9c39005755d013a19f177bd9ea67a4d820f7a4e487c042afd998ae5808088048d1c7cc641628a98e6237ed84a2e7b4c74f67ceebe667d388172975a9ae8afa684c0785fc93092ba7ee176bb07db75b140997b504ba975669b2c865791fb8b03a2327b42ee2879af368c80edb7ac827a8a198220b7b9783bfb7779379079828ed03eb60c7aed938ef44a98ff16557824090280d15731762a53287703a3b77fe63bd287bed734819a8f2080aac48c8253cc6a75084b27795ed0db7599b7f18705651188868021a7a69f5eb33e38d97dc4fd1985411d5076c1516a76d8de15829ba8e8861fdc0f88aa783f7b9aac607cc4b52478d9b68f7d03c7a57974203779ea94e0764e1d8f9d8ac846a5eb023c84085245853201b782e10ac287e06f07774edcdb8465e7e67b4f201381f6363f8327e4cc7f49584576e49dec82aad62b849a18e57ddab9dfa1dfa972a6a2b7127f6d3b3278c7a2f881f0af98824535538250c2998900cf9b88288d2778e3a5a29607b80c8af1e1f989ebb4ae7dd81bfe750a478a76390a5b7b16d7b9993e2d42cf578d667a5a367b78e9f23b7b6d993680088c68756815f1891602298a214723abf3ed7f8f93785d8a60b62d7f9eb218890b14197c055eff793efab48717d3f3b1cef2697a0b0daf7db98d5c89fd22457b7ea64a823c2d0d7cbbea0f763d9900fbcd7c0993dd268a901da4f37cdd3adc772d0a257608a94f6af2ecfe8990c841a548ad0f0355bd0b81c8cd508356dde386276d8987e4c8a17eae24597cac2c9685aa9cc780e78af9a7128b35a7e9e43f76e95770804540f4893590636813988480ba2f139c9f0c55cf83ba19860744d489391892880cfe0388f03fa186e898e57bdd04e379cba8b8fab785aa7d307981941cf013891e2b397be66ac778effb7b751ce013894acb3e846196ee03de219d897ead1781e16f55890797767732717b7de9e02981710be977bbb463fcf62c2695d6343a977160de77eb897f7530e5f883ab1320711d583f8542c6327aa93f847c26e8ae8708649b7e8188db85b068b58886efc983bb205d897fa99c8468f85ef91cde28a52f53e29aed1c0d7f8d8119889b02c485d946ab664e23bf880482d580c720ae03112885d3da3ef5804946a079c54cd5818cf8d489cd3b628376f4f882b02727872cc97d22c71cbb9c815fe9843299d185b9f9268620db128aaa5432880e540f7cb833b28a1d5a6dd08ba32078d731a87a3e5420770bf03f8511f95e7a99760a8607a9747f5599b1fab4e9db81987a0e879b025b7c8d6f6978d1bc797d09ed717cc600de87c2131b8498b4da03fa05068478a4b287491ec17eaf7e0c897045e87ea6f48782d212087c4ae8261d0f6f8a88c0755084709f6979ab8ade7818d3fd752beacb841a37c8786bccc77c149311847b83808ad929b8893b3819847bd2c27b19348181d8928287ace0be81a2481c1b8b644980cf780f771cc794839d461e7a85872d8038e63b7e25abcd8744d4f87b76233aa0aa52ebd7dcf395882d352a8351529c88f9ed62882f1b3d8a2e67d87b6dfe6bf8af405a83b1c9a7781e89ca76b46e807b4dd55f83761f5e88a1414e8af230b1851248a69d78bd977f239dc87a30b68d7f59940889c67e1177fd92fd861dee88864cb1591be244838471e77587929508875f678889cfd22b885a6c6081052f387e616a7a95bd77bbb1b62c138a067367797a4de184bef4d981d4d4f285ee3ca07ddad63c7a8003257fe6a788793612258267cd397e8529538850e641762ba213796a18c57ed784b7a52fd508a5ff20d6869efabf75d4df5f8a0e37078a9a432585d194c478d9b3b2786337658a8ca57d878c9eac7a19cf377e01f38482fee8c97926b98085796ae89e949cc590dc73e87d162af77c02e8088786b96a808534d2869636ba7c3117c086a46f587ac74f0e7ad36cd0806677b183ef845e870b1448822f4aa087dbd2be7aca2314810d587d869815da803de1e7855f800b850d17f47e7a1e32f90724a69a3f96087f43ea127b6a182a7bfd348b830732597c4f97457bcdbd9182687a998096417287ac455787b3a8cc8246a11e03b6260486f3a3837effe43b89e505de9b95289f9334b3ab840b670f7df76c63884d12b084dc574579ebb4018104286881d85c12861f1510767af346872d88fb86b01c9176e2bb40dccaa58cfa8517f60409c52a9ecaebf394ed2204a1499d827e71164f818c8ce57bf993528a8dff547c5a128f78fdab6e8acf492e82caa1737939ff837903492c9e15b105837ccb6c96d364cea13718beab45cc63a4dbb267872ee9ba80433d0f89b982877b7aa0437c178bc57cc9db49812ee96d839b96ec7f3087a979a9fe4f8942f577a8b8aa46a5009723940ef30e8fdd242eaf54b30298a5b8d579ef96f8844b5bf77d5e8fd989c2dd558aa5f488833c105b7734aa5889366c7f787df91d806ecb87859e787d9079ff13a63b6b2a8b01851c8c0015a1a35783748ad81b147ec9a56b894303be88adf98775b82cea775b4f787ba9ec7675b3313d7e4d8de588bcf81d8969f4238d5e69be94a58fecaa4121839ae315a69706ddf68a3c56d97b031a4487a743597a04bca87a08df6284aa30628a2da15488948dab86f283667e2ded9e895a7ef0864a1ece89683dfe7946884da33af14bac9579888c54d36097cbe562899b6efe818e3cda7c6f139b800d6a0c842c6fd87c625ffc79621e5084fe4da9803ad79080c31a237694b56d762587fe7576d051879db28578da6af183a7ba867b838b1388eb4f7384144be37e35e7437bd647c37642b8047bac91fd8509359281e07abc84e38bcd7b2ef4177e16d7e4829677b57b6a3c1c86ffaeea7554a4c381e629cd76f4b5647af3c05781599421804f32568846ba047bf5f23485aa42797d24c8e1823a8f7d7ef5c3137cb9f9f17d9b79c5771320817ec486607559163f8aad94d487d96a8478604ae689faf40f884899338a71ca6f8052b3ca7934c7b279ef72b6833c2dcf87157d32833183f87e41530f850d5f2f7f6271647a08dfcc76e52240864fd8967f99ff6c81e8509d75436ca985506f117690e56b82115360820063ec842f79887b035b9e81b91d167da253ea76c2179082a27e977eeebe1482cc8030886afb707ce3c56a868b4f457870aa77776ea76c77fd1b65780504aa7812bf8d87f5700f7f4a42167a2d9aa485e8eba27a02a7f98750398e754c7f1c887ba3f17f01a0b27dcbba247c8da525856b67a37ac57b168437f122843eef50897e485d7de3cc4683d97ca77da1c35f7b1e65eb79f4b56a88bc1597889e305e7b62cb8975661d3d7e1b6dd27fe8bc4079c2f3808adaa7f8865c81887f9797c6852b613681a2003e7ca021df7d2683247de48b3d806d107e75b2c9a0758575197e3457fb84c129f88193ae7b80eb7e668391225c87e994eb86a62a357d2003e5822c5d6989eb3d3d89e4e5fb82447a8c7eab8af6799e71b775277fe87aca187d82215976893f7f4277bcbb3d7aeab82e82a4b01789650b0179d29442896852507cef31227c8015c47a1ebf568a159a7d7d797c5080c1995f7b5cdfcf7e7743fc81c01b817e6dfeb0770e1e5479b355ae7be5cf2d8905addf7b8d5d8e83f57b35834e903f77ed5de57da439b5794eca49779e6a8d7f03743b88c0da998279b2597da81b237ca9466478589160773815fa845326708352a80576e0dfed75c23b5d863773717622b332872989b17f3d4d2a786f7f6586858e6981eb61547e87ae438220d4b781ca47f88066367f77171f6a88bd47c281d086d77c69edcb7881ed067b7a423b84e9e73d85d3a99788c01bc985b61e8d76b1b04178483ff5807d0b4b7ddf077f82ea658b811eb49c8866adfa7e3dc41d861bf6b97b1da66c8463379688ba6c5778bf607b82eed76178484af37837732a8261abaf7cfe95a67f144ba6784c62e087cae92979238bb68159c3217f4d16e97d58695287eda5f579b737557e8a4804765d5d4888738cf9790689308957215e8069a5c6889500347e88bc947e6cb65577c719ef8680d45c7d6f8aef86feb97182e5059a7b7b08898a5ff7cc7ae2be8b81c89ebd89ad77c57532305b85370ef17ad5c9d68482fba7880ffdf18283140b8a546afd7f4809617e5e7dd8788e9a0c83ce42227ada17358838520b785fcca87d83ccb57e3cec797c81ed177d3797b3796f6d557c59827e879f99c49d4094599d8f2e11a25021b88741121578fcf0f187ab6d9d86fe9540800201cb80da5f0f8072dce8867182408610c3e687b517098405940177a3c62f87a11de7a140c6518b772ffe90d0ff517a6337bc7a4731e884f009e481c9ff5d7e10aaaf85640f837a9ddae585f677827570a3df88fd176c7fb821e581e3141a880da01185b9c74d91a8d0adb5a830b98a98d596854b503a7f71f93979f199b87b576d82856732b6802081e17513731f86aa71de7bab9c0b7b9504b77dd33dc588c3081d8711a6d69ce9d132b70f581690eeb4c387ef1f3f891488ff850c6ad17f65c33c83fb556d7a7593da766c6ea289b8f2d4773175507ff665ba7b1b1a07889b55d5872eb3a3ad2635c08f9e5cb1abf8cd4880b438bd8207fc1880c7852a825ff03b799761ba7d45ff6e83f3c032836bd33c88f9528b7842413a8acd5f41791241c6797e00768626b90a94288aa1a5666113b2936c9e8674c93378bd4b018435dcbc896f86f58183f0878944c2787e8bc6a3800e95f28030ab2f84eff0738796e3f086a3bb4a787ab2db8e8605e8029dba41fc0fec099202a3146465e9e48541ca737910aaee828218f280c17cd777ba82bb7f86543685b164ef7c2ba9438786dd3a8a7b507f0163f5d885402166773f8ac7876b9d607ce33c1c7e19b2be8724cf6d7c03e4fc8980c2947b38276678a01a957f5b20d979fbb3b980449eb677a3f51a7f85875e977409adb1d85985923d3d9285a373648968b7367a99c2bf777a4d5e8bec6933b49ebb36866d3b2a857b913e801439228606bf4879af072c7846471082c4eb50792a9bacd048f7eaaf50a4298c43f866892c81747939ed307b3117b0807c33b579b10ac6ab76fefd84ed4008863e54757ee60c6c84d8e57b7d6f137d7befe98b81fc80327e5272b490077466a3fa75cc7bd93f9b809600d4816a061682318eb88537eacc9f21a31596839c47862c81877795452d83768f2486d13aef84288d59805cf1fc7da8802b7d5c2bd79efe2c8a7ba4035a8adce0c37c9689f17f1addd17ffb0d3d76923ba99a5f20aa87138ca276bc035f79cd58d37a36caff7de1d482802d1158980da6d278e6c8b2b0243f45784809ef7ebfcca47fc88c2e7670912e824b6d88813c80618ac0073991fe161885080abf80bf4366782a53be7d00c88f7c081ca67d279ca488d6e2fc838529d8da6786987e49e16a8672369b85ea9bab7632300484fc094a834564e5821320058750819d787050477ac7c6fc85a97c4c77ce05b385d731aa81ec7a6b7b21116d9f402da080b61ed37b640f807b9557458322ba2980bf02c67f26cbf57f844a31f92599597dcabe038254c80a7c11f9247eda30877de65f277dacaa7c751e2fb2862d35b4d8ab39677e7c740f822d9a4b8286fa6d88fb38668752b38b8981ac3286cae9891c02f27487ab62bb7a1fbbd7830cdae57b0009c67d972b7b7f732b0b8a8c270a7926b9557e26b965778754407bdb421988008793830761d8810386eb891e616e7dcdfeb21daf446f7f4d284f88033e8284a97cc4898d76f6794403cf75b181cc8384b694886398b385b1ed06868003e785b80f6c789337238259b1cf8602d2ab82d17b4076c8df6b76b19eec7db223cb7af598fb8416b355867f0e5387afea5e8336d12c79d8f7827d10ceb685f72b9b76943ec675625f6c7b8ed07d7bf0e51289590b7789512ae7f942a87d193bc3b7860cfe8b756a23c6798e6bac77e4c1b776f9a53082692e80857c69bd0294a0e67cb08c0388f86fa6869b434e7c16188e8164bc08860b8beb8269e2dd7fec151e79bc9e1880227d888822e976806f499c7e152e227e8bf5fe7c00c82481e898fade846be38140e0277b84f7417c4f07417e06246179c3130784a5407a7d9868321b0570a17582be397afa231e825cc2eb795e065278485135838804da8666c69177ecf1107f5355087c41e7a28673c63484afc6d57e43856c7d52fb6b813af4d0844c1f6f76d44f8783c1e17f7db42da482acf24e771cfd3281b546ac7526d60b8748fe1f983c79bc753462cc825ed78578bda51c8887083f82eb0eeb84495f067e0fe4491cabd286868a4831815475fd818f38ea777403c98871e7ef7ea3c6678512d81d865d110f8c34698d7554afad851fcdd8810c87aa7b7576bd87b58e8d783051d57750323d8688983780655e137f06774080977ead773b79897760af1f7ab713d97c320134a58490f57fc391ec771c748778eeed3a83d8e5cd7b0c1b317650397e751e2d439514250f8869f46e7e32011f7b923bd47f1415e87cca2ae676abd23088e0933786f3370faf90fc5c7a11700077b044bb7d6b67398893c04976bb6ce7844caacb8e90150b8a47387d87a7267a8092e8f383250cb87f92304877e0684c79be2311806aa14e90e6c4b184e8d9447a36415e7e985d2b781cce728a5505d084eb7edd94a0c6317d564da07d912216873720188445ffa3887be4cc850b4ac98349c4fd77b0035ab57743148037b193853c104580ad82d77514159f7eb4c19d8ad4e6aaa8f7030ab738f7d0840fe4f07f92831f80181bbd80af198a8857912a874cc3538aa3a9b184886909a28f67ac8db04c29208044f37b744b1d85543f9976bb1265857df9789baf534c97fb418d816624f780bb2b107f3e951479f5987581800a257985c88e7e6c757b7600a4c1a0b45b9c9448f01495730fb57c8b73cf849c925379f7070f94c5f476aef6b56c92385d8c87d66b3c89f469477c88869387e26060883f981786026df37e2a19ef88f051149ed7d571ab211d0696fa4b4c925b06cdf90b12b2acea4cd994d5f38fa9096b1baa1006b2833d1705846fd93c7608d46e834a25df80a5acbf794cb5a77e37326d8a1b3e6a75d1efd3932d0e509fdb5a679bdeb55f839591fa9214bbeeb30790b58de9e509994ae8207b4929a68874c20377692e2b81b23c58827e0750779f499b816087c97dc582d977e65fd27dfad0327dae652276a0e4e380c964e3814df92e81d70d058694216f790b798d810e953b86987a5c76f1631e7a3199107cecbb598a1b5000879416c67a433d1e807fa9d0788b7e6b7d6b1f6b80f450b3784ad6cb7e7f3d7789b09e05783ff6838450b7a67c10fd09819ea75b84483429889117d079eb12ff7a64ce877e86dd3a7e44c2e576c4e4c78992dd2184b41b1083ad8de681a2659884516b99797ea68b8a7c3a96812140577d7050d186273ea2868625a48003f62486497c2d88cde11c82c797597a68273a86fda03f7a72d19a8025cf8e85c3e48a868b3d3c8216a1b67b863b8c7b9eb9ee81410b977d9bde3c7bcb1f817ad4cd4283a743b689f40f92893852d2824564128963b528848678487e4cd9178a6b7933817714a683b4a4d1794593ff83b695d47e01c4fa7facb56682ef67a086e7080681fb67627f9dcf917c8438338385bd647cffdd427886d68784084b84788f721284ccc1ae804a8a5f76b0731179ec61a875d319af7742add57f49588b781ff5878382a1be75ad9fc286be0da075eab1bf8001057f821ebf5179a17bce7f95c3768523d345893eef997f9803a383b5587d7ea65984813428377ccb4377750e1eb88273b48686eb199e7d47431b837e5a8c76a2000e8217f7a989b529a2871d00c0889cab9b8092fa3982b886b4760832407b0732107918d3578636b48d81ad9fce7f8b4f658a51ac688904d5e378be8fcd7758862e7960512d88e2602684f06ed37ad84ad7875f38518621ac3d84c5f94f83c105c17efc6e887f88864f8349f38381003f2e7a1c0f90805953987e2d11df7a75b7c276c87a1d7633d23b83f3c07b7f271a99754485fd89ae19697fcf49c475db428f75355e16875ac6f27f986fb77704451081b5ab4f8199c9fb85ddd5ff815bcdc98699d0da7e40aa8478d7a8217de64da08891b21a7b6a4e477f162aa184ef848f7963e4ae7f55b2747ee8aae78113973e85bc15dd7d10eb9576c3541b853c511277f7e38d8129ee7c8277de3d8425f39989f3ae567b08c297791d942b7743eacb864c9f9581eaee987a2bfc8e89b6255189a1a604884780c6894f322383d6c503779d874487740ab27a1987977ecd05c47d9e42d37e9582c97e93a3827a8b07197b60807e88ec27cb89c33ed2779cf7a38491b29d87e8ce317c7606967c1cbc427ff2a0a4895ca50c84099aba75434fd6808ec5db790bbae582d59a267b2193377c198e02882392d9786ce58185cd223a764444b782d5ed938493f6fa88497cbb88a547368407df8277524747800ac52479c3ef9379b7ef637d0a7d448ae505fb85d2000b81f89e868a14eded78354c89764d69d6883a67ea761f730d7c1660c57e4b910c7f4265d77adf24907994d9e97d9790c1794b25d48978b6ca805ba2e27bc9e65c825d47877a0075ac86e4f7ef885260a5894e07c382873e7f7a765976775ddb657c9d6a5c867224b68795a61e8a8b32bc854df9c77e2bc6047b471f6c88dafa7576b252ba86dfb46f7752befd880ec0ba89b9c3e67b955e41806d104688ebeaee817da6207ebb5ae182a6f4a0802140548aa224798a7d8296828dffb27c268397866c75ac893ee4f184c092557816be177d6cf78b8489c31a7a8b90237e0af46883a3bb458803d91f7f9653b476079058880c6ad07ed731e88555f31a8873442379ff13398a14f8d9820ffd8f882093ef7c55feb27f2c15658a7e072788a4931b7b7afaf276a3bfcb7fe65f8b848b0e817c89f27c89ae2b6f7653721d7e3a842777da587b7e47a8b17d85eceb7e2451a7855fde4e78d14ceb786f37007e717006847899d67a8015b87736eefa797b3712870022057a8176d47c810a5b88fc1b51832ae3317c6844e189980a4f86a13a727f5a5a8779c873bb79335b6c7f58e0be819283c283f594d77c459a187c4f3dca88dac04689497cdb7571e07b76cc02387cb3de3e7e1d82c389e2b3d77e79e1c187681c76786295c77a50157483bd35367f2dbec389cbba5088dae83a7827781a7e48f7e084e31fb586c9359a77f83d0b7e02cb9a89ada61b7f89b1e87a67d88c7e6707427b99938e781946a582d18214818af57b892ff7ab7ee8989c83f05c297f6f49ac7b60c87b87f337348746433583d576bc75c06e6582276dbb7d4045f27f54ec7b8095e77f8111b8f19346d17daba9fa6da11cf467aa3859288f3cc3728b9eed0699dce1c498a94081abcc74dc93adc02d80a611e69689d47e76d8e5ef81f8df167bee356686fa47db8079296890fe180ca68ea14a8fd585aea5e57284b721d15690735e838c7fa9fc90139b619ebd8bbb885e595787155da79923dc97853e25f6867c169a89cd4d7d8155b2fb7ef283a7b6a01fc59039f30d8be3f2fcaa038f8c914e98bba90e3c390475cfe121366e6c9c95282d8c24ddfb76fcd3e8a12ce52f8a9e9c2b7dd731f887e5e10678796af378db30477dd29b5e91d6efb598e5c645a6c33d249705e638963a36d927ed7b3f7b468fde7fe61793872174c38c3c56c8806533e4946850c47de95ea0881d24437ecf66a68911ca7183257cf48036e333b14fed0a94b7f8369e40c24ab15e273afbf4242f7bc014267d0d46218697689281f3c0707d42369a96dd92ef8486a7e285868a19877702ab7e74c2ba75911089820964c58cc1bb5a8d0d6168ab7fe96395f8046584913b5e84dcbc9d7d691c4f781880ac7fa4270798fc66e48569596e7919b2f9850b92ac7fbf720d7f5d9a7475b3b304b5ae023e9c438c2ca7b54f16ae68e4fd8838b7e27e9bfb787efa2ae5838a890d7e50f8278074ddea87b8a32d8a8360f575be9a587cd02c0c7fb07aaf7fe7789076ac2c098d48130bb71a90919c94084e8ca2e23e82e93a1c8744d405766af43176f3135e8af881de871356c17b23c142a4336d307fe8ebea7646c51f7bbff01d762d648178ba9bac76c395cd88e8eb12057ce8bfdfa887df81df2b0b8a88218882fc269a7918b6a085ab2ca1813feb8f860249749eda88c17d924dfb855f5cae8124b6bd8722e96f79f4a3c37677f0507ba3a6290509290add8ea2a189b00a0c83699ad087dfcdd688bd35d082444b5381864d367773a2068d65335879d21dee7c9cd324817c45bd793abe9a874f689495c77f489a9d579b87bc5d58813cc8ad7b4385387c0e66b7818d118a7d66129b8af10519864c0458a4fb9f2586dd3a327a2bd82c8087913a76c34221860ecb6b77001bd794f5078d84332c2a7b60e553865d064881db78b57dc3e43185337fb481f4b58376b372c08951e20a857ead35856815ff87070e4e8afdc4007de575328529774a79921e897d22a158fa6e65bb79c5579677223ce77887ef4a8381acdc861a660d851bf6ad8548a4ac16a756c877f57b6a7858b56a879a0d6186631a0281c6bf6a87194d5c8932e4969bfa8ccbf9895f23810a3cf07f65286c78f45bbc7524f7aa84178bd07e3f08cf83d9ab8fa3c8e08576fc02a08a8bcd767df2d64f85af6114827e7ee886805d0476e6a01e83358240fc52a107896e9cf08443329d7538f1f7777befdb8471d5da79adc3ef7bb534d317d69949a6c15000822b97cf78ba65ae790bafbd89fd4d7388d731618871772b831631ba7fbe213a7d233828890a8baf80122b39868a89188a677a57843f5b4c7b895ef2f6a8600f8da00b8d7672a6f5894c7b4788a22bf5863b8bcd7b36eeae7cbc7aa388c0c8e27cb9b1a97f18a43e7ea4155487f1c4797fae5a397d739757783cdaa27b49bdd0b0f72f2684eba23585974f5582e0bbcd7f89f90d7b1d5eef7f7c0f586bc4f47e797fd19e1aa42fcf7d7b08a1832ad13d7c08f1da80f612927d6ea7ea825ba91582df3d60b877428d883129448aa6a1a8846f91f9772b61cd819ba8488817d32b85f3e4827b464e3d1ca62b8d86045e467d770d3e781c5064851cc3268677d3407e6ad78d8027eb5c9da485877c3964d1773c6e7f80b9287481069b7c7d71e72d768671e38039e2f47c8737c1849a065e82acc70280fddad8898f09ac893398c088fd17828828f2fa8ff3a7b978bddbfd891bbcce7cd8a43685f421b5879893427abe2a5d7697bf85825123907933e4917512ad6c7efe17e689528444878994ab7dd2121686a3203218f9ccfbb539f89d83848054883afbea7bea82be837a784089d74359823632c07c7fc62489ba9b2b86aacbd77b6fef3787ddf98777f641ef79bf6031824e12818604e00ca3a529537affef3e821e12c889d10b2787e00a2c7a784ac0764444d9838b73ee81f4aa2a97f456c188aa1e7d789f49e37e23558979e30dd37d36d11778d02c98aa1cca728171e797839ed69f840b094e7c2efbb8805fd3ff8517a4d181051d8582ceb2c3800cfe9eae3e68e2814702ba7e21befd811b7f9383e9b1567e24925198062adda32dbbb07f51d0827d6122a880e0f14c850dfa87893da07f8314d4a184ff784e83bc277b7d83883109d35d4a8746c5a0792c44ad75dae83c7b9eb9a0825c7a1b7a5d52ce8506078986a9466684c7fcf1898c81f8824fb4347dd606fd81d8a42c8af1053179539681856a7dcf8dd362e41904e8497e9462097bc026c016948e1b8652962278811c51853e421278d9878688614d6086cd29d0821c21a97c8adcec7c6d87147671ce407bac0f55806881268f947260a23b13310b5edfd2a1c0c7f8940b8d7877b8c70b775a94d57fa43916770c1b2089645e357d593a168549cf977be181487c77cc1386e845a07535f2b68cc3f93d8f3201b17ac14abc8a8e117eb15ff74f93059ec07cd0aa487e5ed0d4894d0bfc8508db8380e04b67780134877ff9a5b77605c37786ff0130841ad252763105e8a7cdf2757929c75685b799a78a41b690a64996109aa444b7781e368c7c151c1476b3433378a7557c7dc6249381bb4f0d7e01e8c384f2d645887c0fc07c865f978c4b78dd89d64e48a8f454d57ddbf32d96a030748c39814a86ace04b8015be4b7eb8fde777fb7df485a3973f81e1881f89a6ba96887bfded79b98d907d9993f17ac0a40595b5684078cf95c1a99852d1ac70f49fa4fb34fe9073a422856b26b07974203a7613ea107f83cc6088d6e2587dc16a4c80414cba885367f67e9707a4890619d8850c673880f670ad8be94c86962f2c84a966d482915be34883e82c40784062b17e5ee96e76f09d1b8650b0cc7b4784d3877a25967d8c441d7df761db7f97a93080897025826283207be7378684332cfd7e206f437a63498e87e99f8375b4f75189bf8b8b7be32af98687c08479b7aef885f88c6b7d8f846f7bb3e9da7fe558957f0009dc8643a96c7e9b148879dbc08a8215ff388aaa42dd7f4a5ff0811ff1f5818e06e47ac8cd4a86f6eeee82aa30b87abdf8cb8432542b87761f5d86f3b5f486b23c8077ee9ac2777d4ca1751ab2a078171f08853d0527878355ec8757913e781726a784ea9b1c7e45db0980bfba027771e0358258eb2e89aaa7b47f5db73d8a47802a7e321e8879cd346383673d8e7ac4b55884a2772188b2a1717e6976c180ae9b567859579c761d69ee7556b9cb7c9bcc00847e071c82ac50d27a3433ac7948af2d881523bf894b91237b1a1e3c852750dc82ee23dc7840452f7e8cb0057b6d34a688a7f0a275f08be77df90aca76059f577c7397527c7d94e488f744fb83783fed85d5939b8708c94688cfb55b87f8686577fd51968287f6f77f337fbe86165543771acbf4779a06947deba203803e013b8a49172984a08d288449cf7d851a308c8172891783a59ab7898231ee7b1d704d848613c57ef62f6b81dcfd4f8026b9d276339c607d0b676a83f0d3d784e1acfc795372c67f94212d875410a28113cda37a1ad69d85a7d3d47ab6e8107627012f8823792085b2c5b689fe4230843eaee281838b5c7c92a70687ec03157bee18507a9a351d8019295b81ca605a7d1004fa819dab4179e63b4178def95b83a56493860e428676c7480081dc339c7f00feb180301bc287f90a0378d8c1e17a6993787ebc03b389350030881cb133894851ac754fe3c9757a3bce77bb5ac287ec6f8c823ae93f7c3e78068122c5217cfa0680878cf8e678ead59586af858e76f8fc64824caa7889d3a99581f55e177d90c1ee85430ef689c81cb975e0b45e7ef2e8f1820350b67a2d52c081925437839935b97f93ae69818a7e838367fc8384b5e10477daf33b87a7c180893f7f5b8100a4f081c6bf058280f88b85273e0b7f0f374584dcc70782d2891d7f00ab0b7f1e19ad813f50de75676c0f7db93a287f5e4e7583c117797af75a9e773e951688613b787bc217e47769ede279fc26547a405786859d4d487e9e54ac83ace08276357bf07c9d87be829271698a439ec77bef84018a124f4d88fbccb8778beaef890c879076ae2fe2885dff2a7aba41178a9b8b9689aacbe97de235658477559f819271118213ea9089aebfd081aead5a7ad987af758288d4891aef73819d8e8378a9c80579c0f0cc7805d523830a2a2c7b34aaa67d9c09937502cb4f8399110585a810cf7aa48c18812e3174836bd3ca81b4c8bf7ba55280851385bf7a23cc9c88e111248a3f7ff9836565b37b2886a389ad82808143d8d67b0fc02a7ded52378414f8ea85680a7c82021ef280d13ab77ecc26c478415e777595212b7637ea107fdf85e97da2d1d57877a85a8f054fd87817cc73785eacd181fd4d1e7ae8507c8608649675ab49ef753ed6a17d82594b8a75be6684e994417ed008b18982d7a68085346c75527dca7e4cfd827c925fb18a26fb9c7d83969e80d5c962781e2426808f9d187f1c7b6b81bd23737d36ad907c5ccd9b88c213bc7a2044cb7da30eb3848296f97a858edc7e66f5c1804dca5c97e631ac8383d3e9924d704e7be766177fc283e37e0940a081f5c3a577effb0f78d128dc7ef283a3849ff6ac768db7d7864141ba88f4fd0f85ae908783c86fdf7aea1d9976c06eac76d5395c7bff787578c2e8a180a0864e7b18d3047f8188748722b30178ddbcf278d68f468626d2a6818176b87618c81588a141c77d688c5799bc773b7706b86a762f8fd0795bd82a762766388564453c856c63237a9993867c28980d81e372fd82d659ef7c1d1de3817f0e7e7dd36cf77e48e5af80200a027c2b7ea4805127f67540e4ce77fd0900783fae4978ff664c801c57cb775701257d12f56581c313ff8387e42676cdc80a7e0541767dcfefb37c209eec7ab27d24874b3e52908b18f993d8534d932c7e948a6a2a6a81bce6f381587bb77d9feff67ebd766a7e14d49a88bf55a3791535c2888326787a68a97579943e53898613d986d8a4c189c1bdcc85633e9d80a826da754c1a851dfd44aef8d62ba41e5d0958f764995a18c37b007fb563ce7f82183f7a42d1b57d7f0edb788f604c89a6c53f83c6f508863d712182a796a8b87bfc419c5c4d928c461498b3c64e467df0f00577cbb3bd7cf9b0af84652f06779b180e7630af657d3e83c487f88c648321596d777838ed8534b14086f6483682494d52a54b994fb14cdf889674ed6fe45cd01677fac9c77cdae8f77eb63b028737324d82d2775d7bfb0d5d7ce1a574786c8be787446fbe7dd4cdba808b3d3e7f6f081176c736929aec6cdb931c365da2f60b657a63e42f894e61fd7ffa064277e70c1080eba22c7eaff558792e18c983a481be75246e828625a70d7787dd30804b1a267b30c8b7907cb36899915363b8a8da7c832c2e1c881eeaeb78400f5279d4a987769820c27d35d5827d56787d7d35e7d0838aee81787bf6f485b379f08946ba9e85f36d258811ad0cb5713fe3b036c48f803b9dee809a182a7ef8bbb47a816fa786238b207b02837b866815257d73f59f7c2c27247a456f3f8a7df9bd7a65d5ae7c446817839bde42b42288a1ae2704c77caf078d7b2ee94780d796e57625ec0d828d2e037ae850fb8070577a87aa8a7f88b9a6d080448c2a77e563cc89ce9c0e79f6a63779b5abe08996362dab3a1b5295f3a0c788b0816586d5b7c7830c990c78718d2d7ab1520c7945c9ee76279178835aadc77e936d187b67e3087a32c44e7ec7d1317758fd8d7c7db13a9d7462d78fddc781813ad7a88792a79383b4fea2758dc2c989eb612b78cda49f880c754177d7a15284f6e3418453794d7fe8624288e2fbbb792480f88789534188638656a9a84e11e2c2212b82fac52c83c91c0177bc320c81463c8a83a6d73f848fa8f3827ef5c586fee8e884bae36783cb26f87d28fd03897ee3f78490229887bbc6f09981c9e595298684870f9102839f9c44890022577c7403908286427e86c83960881696aa8591a06683b7b5f18627b56288c3c7a28517f01f898dbed87729f9d37fd8d3af9a36f8527b9f8ac97fa81b897950df3377dc74ff7d172686884b2c5e7ce34ea786a10be987fb8b28814606588577141781d0ceb5780080dc7b35b8089af50605a632ae6380b113b9841f448b7c53af8e82629c8e7b6d462c84b529f8853fa33e81f3541a7d5da56888347b008ad8f76f797a7175779db675760aa19a88e6fa9187b1590baab17eb086d71fb08185b2638ab04017856421707e37d805881cb15d88724ffa759038b588f69ba18984bddd7b47cc747938328d8319a72d7e1ae8ad862912c98eb6d158a54eb704887212bc76e02002850249b477f2f3da80020c547fa9222488c3b52c7c5b7edd815e06c4897fd88d7b30ecaf79f2faae8243c6a888761f9395281ded91edd4141ed0d5b978f28ecf8091ab527827aee97c6e424082b75bd187f7195d7c9a7df67ac230ce8419a0958948fe517f51c93877cbd7fe7fec03fd81652fc6882e1c87996f89b81c7afb5c7a5f31277e51b72685560c9a7f80e6cf7a86cbcc7cb64d1778f2c4f377c4eb0b83f3ae66890e01a978324d7d80597000884858f28894e06b6e7f37fc75b98dd887eae34880108d7b877db89d7722e2de869b79b580e99f9e822fd347852df4697514cd9d7fe032f18769db56862380f97f929572899eaeb77bb3670d85bded4318a4fda9827219bb87696b6f79f05cbd858a7e6d8901e84b76f7a2c97cda5fd17fbc7a1e8244d4ec8081234387b7494478ca6b05859607b68926aee289951d3d82e6b2a1769dab9f826582fa75eac33276de3abf77bf1f7a824bd2867eee2a257e93912887daa739834ffce37db83364850947b6875cd437897c1d8d7fa90cc4855ef0627bc0e5568409ac0d7fea82ce85b07afd7eff01eb78a8802189e84568772ccd0c80b2060e7fc271587d5343288876315283a33df2894dad79822b0e6e80b9b1dca037593b873416db7a3e4db47f87d20c89e8ce2aaf8d2b4d87b39d3f7908f86678bf43fe821016298197ea5188eadc098aeff09e7b3ee8858894b85f7d11b12c782ef4e396200a39180823cc7dd0a3477c6ad73278c7c6d4ee5bf2d17fcd6a4382b4c84583ab5b6581b8d90a7d0d46737e1dd5007aa0083076bdf83a7b62a7228138a59679ac983ba1759f3791f434af93ec47b7156889baedb06e6a8c964b139ff953427a3de10f7917afb4882cc93682cec40c7da128338a331abb76fc26618946cc1588e546a6877ff118a6a39c919a6e8d7598e435f3adadf59f9050ddb694d615", + "proof": { + "index": 1, + "siblings": [] + } + } + ] + }, + "job_v3r_a_proof_of_another_place": { + "kind": "job", + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-6001\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":2,\"root\":\"ff16318ee859c9c509c82f463b9db19f2dbb56f37a89a89a990c3a93c1734355\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c09\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-6001\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"45fa49b0740e4291ff82ac398db6066646150cdacd3c9db846b2b0020c30fad0\",\"sig\":\"8f0b086612e9ec99e0a7528bf209d9fb177aa434791ba16e7cec7d5c5144d291a856b0a732392aabba3da12460f6281d66b5c94be930ed4869059a3cc6a2da0a\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c09\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:6c5449272b5fd4cce2f0277ee502fcb6787e712d0d6497fe91d2b3585447dcc4\"],\"output\":\"ff16318ee859c9c509c82f463b9db19f2dbb56f37a89a89a990c3a93c1734355\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"30.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"30.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:a0d32db5da7481a02190e35f185f09bb7f64b3f4708949701c1eb8967a4aacee\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"b429f29acd1fd05985f00090e400545e14eb945c946b9efb08a2c56d1ee468b8bb11a5cd840c5dbd7ab9993be1d7bbef0d4677cad7f6fa0f31cdf15e7363d408\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "receipt": "{\"profile\":\"wai.video.int_motion/receipt\",\"codestream_hash\":\"277865b574029f700f4fac023de3ab06ae598ee6f8ed726444e91442a6bd59e9\",\"clip_hash\":\"3492566e8e2682e3b3bac083b4db02ef8eba9a7f15d9faf0e27feee0f6eb488c\",\"h\":48,\"w\":48,\"frames\":[\"e1d8e8f8b5c534be1421e5858ed9137808ddb849bdff2bf397beb32568d8eb69\",\"ae7214babf5bbd6ec279434740f3271be43d2392b8167813fa557b5c4426fa14\",\"b3ef86db27b82d303bc6b612cb224ad55259b4f2e2c0461c74dcce188cd64b99\",\"3906f91010bf1b9ca14f6e2ac9b499589ac02ff4465e1d9764a22443a8b29c22\",\"bedb1538c2071d705d2d3ab2df2c569ffed440278494649f9bf1ec881561c519\"],\"merkle_root\":\"0f3fe4aa201c275c10289c22f31e7211b555627b33a251bbe33d094abada6508\",\"work_pixel_ops\":34560,\"joules_micro\":0,\"uj_per_kilopixel_op\":null,\"energy_provenance\":null,\"parent_receipt_hash\":null,\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"signer_id\":\"did:example:sink/job-6001\",\"sig\":\"b0caed886abed9777621c42aa89adc4cfc9821de68345699fe31b2bc9faf5302319e43618a67cb83fcd485fe44b56fdbf5eb298555dd8cf0072accc0fe5c0c01\",\"receipt_hash\":\"849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0\"}", + "codestream": "57495631010100000500000030000000300000000800000006000000d5ffffff590000000000000004000000090000000f000000160000001e00000028000000330000004100000051000000640000007a00000094000000b3000000d8000000030100003601000073010000bb0100001002000074020000ea020000750300001a040000dd040000c3050000d2060000130800008e0900004e0b00005f0d0000d00f0000b21200001a160000201a0000e11e00007e240000202b0000f6320000383c00002747000012540000556300005c750000a38a0000aa9c0000edab0000d8b80000c7c3000009cd0000dfd4000081db00001ee10000dfe50000e5e900004ded00002ff00000a0f20000b1f4000071f60000ecf700002df900003cfa000022fb0000e5fb00008afc000015fd00008bfd0000effd000044fe00008cfe0000c9fe0000fcfe000027ff00004cff00006bff000085ff00009bff0000aeff0000beff0000ccff0000d7ff0000e1ff0000e9ff0000f0ff0000f6ff0000fbff0000ffff00000000010000000000feff0100ffff01000000000000000000000000000200fdfffbfffbfffcfffbfffdfffbff00000000000000000300fdfffbfffbfffbfffbfffcfffbfffffffbff000000000100fffffdfffbfffbfffbfffbfffbff00000000000000000000000000000000fcfffdfffbfffcff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0400fbff0400fcfffbff0100000000000000feff02000500fbfffbfffbfffbfffbfffdfffbff00000000ffff01000500fcfffefffbfffbfffbfffbfffbff000000000000000000000000fdfffbfffcfffbfffbfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fdff0200fcff0300000000000000000000000000fbfffcfffbfffbfffcfffbfffffffdff00000000000000000500fbfffbfffbfffbfffbfffffffbff00000000000000000300fefffdfffbfffbfffbfffbfffbff000000000000000000000000fdfffdfffcfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0200fbff0400ffff010000000000000000000300fefffbfffbfffbfffcff0100feff00000000000000000100fffffffffbfffbfffbfffbfffbff00000000000000000000000001000000fdfffcfffbfffbff74420000280b35593c000000a214bea9451501b9ad0cbdbd9a309164812c7ece531911d14717c3dbbc1d27782217989f7218f20d121d7bd4ca1f3eb3ef1f71131429e2d1f626c3e7ab249c33af4fe2d2c042a6d2222fb9b3c460c33836571567e55a40c90777634123135bfb8e1357858f0dfd6cd3316844ae2fdb041518b067b9167f09231b1d6f1c16b7df311ea6450d1ea29eed1ecc320c2b747de0206b34c82a708a2525b67967473d53e643c54f6f2f42e6355aaafd6534aabbdf5fe1a866406fac26314f6ad812ef006e0dd2c39e124439f5306ba6e0396f65ff1627ef771e0071f21b088eae1efd0a7d22d53ada205042fa23135ba627dfdecc3c473a7353bf1ea7435671e53209bdc9581998ef568e94f260c2af006595d31a5d0301d30b0e96f22e27c43d162997a218be088f12dc9d0915dff4db17246c1a3c61066e3807ec553cb509743e78e21d250c19332ef30e3d2d4f94a0275d0ead4e59f7ff403f44c02ed1b145563b075b55c0ece2599ea8038a52c4e77287a40b3015595e178405f01716799f12508739158ce39537c6364439c2c61335c774823feb0e4a46484b29464146093e52ba6e2e3e5a0631121b992d5a46a848c8478e518c794638949ff05b4c57d23967cc4b57d3bb164147bebb2f4cd1452f40e1701817cec818f564ff13f4072317feda4f17504f253558977544d057484615df8028fbee312a5a55ed2c1c72d1257130d62be71dda51a0a97748680d2735181dc85721d3923f8d192f8794fcc96be998eb135e56840f812d952b26dc2f2f8537db1701de931a9e0b811c99606b1d7a72b81fe6796623b2e3442266abe726bfe71c26713b582970ff964812b3a7511b88474ad1a39d60fe77fb5b93faa43aa689e37f22cf656dcdde8d4a529b091869c19a199bf5af108ce21a33eb8ae43a8485f63a7c0ae7f3e9d6d3fbf35320f44e2572fb823070f38da5d5fb4cd37f3e167531443d7027341943de2d2e0dbe4918ce0f53b1e5a7368b2c3c6ff4ff9044663d54810e945168c3b1d019852e9412c0563e10ce0287359612c8365ce0fd34c5cdb9f290f0e017571aaef2f889ca179debd4f3065bae18380425f4d7c9dd18bb2cf626ea6faa24e3f4384b1da15a3d6df8b52cc90b935da2e4c23b9597355cee7f1945393e249b7b14ad729ff91432962e6218224895175df6f11b30546af34ef81f1840d4b4f24290fa19e90d41f3792fbd17b307eff2702189161f1552f429b1fc18154682320160642d6a8c304b9a74645336beb060762fd36780e26160b5380e4500bf316ab3b6594b76993031ace92b2efad9cb178983121b9d4845f4ba36071a9d404af3f9d4f2199f14cff37ed44717baad75f448628d19af3421f46a8b0f19184461f3ef7bc1178d00634bcf58624c6725ac619927f15545490f360e0fb877c6814c6b9ea2f952ccf3a3abad91da10ef63f3144a0f23340223ff35814709f4d3516c16e5bb75f3a3574719c25228f4b5a03e1636db84f49a58781762e821f35742a2181bc2f7f397ef311637054630ad43d250643a45395291b55b725ae5723bdd1b62eae7a445bd65319f19c63568c61a5b1206b34d3bed1dd63786de01f49a49affb2a9cebf3518ed9fb7f061bf402f2bdfb0bb9c0f344eaa4fb1bb58df3fb10a4fb6bcbb8f3bb45a0fbfbd11ef477204efb6ff5815087d668629a2a0c5d17e9236a698d0061d79fdb460b2f26a9c24f33529ee32911b3aa1515876dab37a91b8339f13feff22ac0af17a839caf36b8b36183cace0f27ca7e419927205f46713bd1740d4a5f49da36019a6baa1f4ceac2c19b530c1f2eaf4de19c6322751ef91df5b92e05f6533f2a760db246a7d1551e266a304d149e19ef5ab9b67c917279abc17e5eb69fbf214f2182014b4fb9ffe3e163705e1fba23dfe17e466a2fb4cd37c16dcc16ffbaaa6f61663923efb92173218345ca6fb512703175f6a95fb422b751962216358fc9aad68a047125962cd87430577849addf21174af2dc5499c4fcf8778b8293377e4ed3b12154cf3afbf46fb6ab6baf3dc41b0fb4cbe91f32c0b39fb2ef0f3f2262a42fbe21813f3cd5230fb476af8f3870f92fbefea62f47a7a92fb7234cdf297d11f5d8e12023c55bf666f4ef6005c8d58bc9549953d730699fd4ff8264fb23cf0ac1886051a1c4d05891af4edc2fbf792baf24163bdfbe896c3f32f65e3fb6023ebf2ca07d7fb66774bf4993ad1fbd99a01f30be2a6fbd34630f3275768fb7ef1a1f2f78972fbe65735554ebaa9390610c05a5315734087513d8c09862074f653884a096d36bad118d01b4762691789a9a4fb84456418eb0ca3fb4aa9b419eedf99fb865a481883a740fbccb302171e6b31fbdcc4a318d918a3fb2772ae179e15aefb5dcf1b17b3873ffb7673f4189ca65c5d080bdc43f1e1b278e9bbf0411aed639db279b76db39473596dd293164dfc0317fddbabfb866f2cf49fee5afb376ea4f3351975fb9baa96f394a45afbd65b6bf333ddaffb9de9fdf212c3d7fbeeead4f2262aa9fbf329a1f4fa10ccfbaee586f41f6791fbe442375aab92fb3ebf0cd287434e9d6e5b5143a22f6941660f17d858c6629c18cba73c167536ce1e8e78a81944d168f419b32118417e79f37ee3a4168ea062f3684ff8160f7514f3d3335e16d0c984f4e44f5716db178bf3f1e44f1765e6d5f39b589417ffd4263cb1b60b56568bf7410b9931975f374f710f5c7f4fa42325bcbf1b8b7648524f17d3a2bc1d17f181fb389846f3eaf47dfb8dede9f2ef7b22fb6cb646f4429fd8fb1ab5a5f4cd8e2ffb7dc74ef4164ac2fb955678f3aea1abfb511264f4825bd7fb2cdbf5f268318f5c44110177dd73146b7a24ef4d9557b1ac71c8ac855c5302606910468a110d2833d76a203d85cc1c16f25d02f36cc7671902a893f3c335ff186fdffbf23bdcd317eae2b3f3dfb9001a3c8153f3a8edd118ccf62bf491591a17bed596f344cc8916cbf73c423ef6c45d15bc03651b1912a83850df6979ba2a6292c2eebd5d91e87574332d1ec8640e210884defb523cdff2811f84fb900283f397e066fbb5636bf4b5af3afbe896e9f2ed4ea3fbaabb7cf42cfc51fb744940f4fc3dc7fb444010f3ebf46cfb40019ff4ba45685818c3743cc9991ca49c3d626e6cdb6d54ca28d67ab141e2599329871efca9c71b6444e22057e352f45dd8b917feaa52f42bfc1119743121f3694f9818db6c99f3d79c4618989917f426394b16467b0df3b1fb8f19521d21f48db4ca175a186e3dbffda754ced3533d92a3eea77ad2e668dd293056741d36bf0ff6d877943fff1c5c2be22145ecd620c546c1f3241b6b1627e58ef43e187e1951f342f42ab1b917ec3602f4f8a719192312a0f21e3ac51704a731f4981c4f168ba270f48c969c181fea6d40d92c977aaa69c464c1fe0b4fe4ac6e6dca35ef5f6aa19dc29fe940765b492821c377c822552bbe2132b22720a4a99cfbe66ccb18874f90fb5de48618e3bcc8fb7a9dfc174fca80fb033b2e19226885fb5cbaa018cf7481fb4bbe3b1690f45071cf3b545fc7dc4c460fb904a5f494e4710bb28c59b37201bc93c3b85cedf29ed26f8cac231756f41e282b6e208e484d416f57f1f2d56f3617c0a984f402e336196a0dacf401f23a182db681f4e431cd161e6be5f31d3a03177b0239f33755483d85c9d2624864d23f6bb7c5a69c7e2164d4f8ed6167d7fdbd05c2405ff28607d169ffc3238fcc5423c78c9346c614a93f473a2b17750683fbeed5a017f40664fb11227117579a43fbf768d91957ef44fb4994591639592ffb3898db867e356462c5292e4270ba30a3145c994dc63817c2b506ff790c88855f7484a1d36b3cb022b49dc01f39897e3db627e7453b7eaa47ee9c181a325d08f3aea14718447cc5f3ce9d6d187dabeef346352a168c4c9bf38ff00e189a54f0817d9e5867e164264acf9f89a0468af5865b1d0f5d44650780f7a37565a8f4c0ceb96346217425be3f42ddfb460186a443dc4f4f39e726fd2e11ac22fba65269162b0d79fbccdde017447c95fbeeead617a64c9a609f26b64105687099d3e8f96edd6e714832a030810d602862a462e0c908e95486467e4f657a255646fefc1b3d6612ce46f05c183a0aa2e63122e07a4fe77fc847dfdb81f4981cdd5a7e25095e2496ff7c0d982d61f1b45a40c98a5da72c8cd36f9bae985ea04c49826f6e0159848c46d189116c7425229a29dca5753180914230f7d87f2cd1e2294a23bd653c8f2c033180eb015dc4796a35ffb37e5d2a91a83e040b6f9551375c7318d897491c79c9bfd5a26b563d7258cbb89e8e7b06429a6fdbbb519019578d2cf852092d88bd0f2a78859a2f1ffe22519dd8cb507fba725b0e80ca5d8ed18c6087f6007e90e4ac6bd0224e504285c6ad5e2a4885c47c8e5608003a80cdac406c2de6e9d9c33b3d881826ea313c35a52f98773329023e2e2f644eed4c9fd91548d5819c5845a9c356a9e281411746cb75d8b9686bb07213513a6827af9e2d2582d3aaee5d0a1e1582463d496d83be81d6d0003b8586b2b42e814ecb2eb4b31b288dd08d4a6d71253f6f90872d7f2ee65a725a8f582404ef5c515ac37806644d66e187784bf25f74a43c7dd98747933f580caf12c97de8796af508f6ce38d753833fa7e3df673b922672b38b4a3750af52b2e56f46a293d2301edf675a87c40637fa24ff5de154a43f0bf38b907403487346618150454a15be8935547faf98945cf4502f7649b7fb6993be0d924ba7e87e5c44373d6a05774e1f29b0405671ec2d2912145352a9f45d41c46d625518ce670cea41617a3a074385e691abd1d9156a1d614d5fb54f097d82d80c614b6b92cfc8bbf18ecd7c70d5e7049d93d1e01d3208d0df28de97dd2f92b2384b83a3414fd99c8754c10b9e5dd1be2056f367ff898dec986d36884b48e0487aa87651128106a3085ec747b37f462bcf65f40a63d5ef3e7f7cceecdee0471af487ef9a024980f7d83f5964932f413bab5da896195fea92a65bb5e08a7a9bd68e57b2e1444310b9ef9f9b1b0772aea0435d832578761abacc584d3588cdec05e37241fdd2de96b2b67eb007b4e5f9d4ef2a8742af5235a45147c3cab7323fd344569e919373f12bd5554e858d3c3b21c295a1d79c4a4fb2a7b79f3ab4817fe0416134b576cce565e369d8770ed9c2924f8be0dfa9dd680fe77af006c4499b2cf442c3a8c83284915263e978a0343afd905502056046dc7ab6773c132468e7578f4cfde095720b8e785a720e4bc40228f788b0f27669314a5f931b46bd7903017f8e10890fe23b330b2f9651075346d3114f7bd0563a61aa2b540a0abd34d4772278bec85e703c9d214d3cb2b767c686f94e8433cfbe3fab6a77d952576510c5cc764230fd772df1fee062380a787e5e1da520a88c3e08b7c330d28d614ff959b861ecc7795fe87c22712ae536609e6bee407518e19d641c5b653da09e59b8800e89d17848545190aad2538d869bd717dbd8356a67798d9ec5e38da75c9caf09b6ab547b3941643edf2f02e64254d50e36362c41616048da6c425bf9318c40ad18669821964ec7cbd2b8714e8f5dc27626caff71a47bf64d476ce899f18c24556f7820202b9b3fc5f4e77ac5be8c1bd2e3492682645389b4b359578edf64a5a823571c07547829153e647579c44813fa75b8937cd5797249dd5803ee0386f9cab266917789d973c3c989dff5e0de1a65817d238899a57e9e48eb67c3d0321d4dee57cc778c5525bf8f542e90828a8b72085cd25067411b57e1a7d11a4f67da559757ad36fbb9f6f3c55cf6723acf5d58348dc055fce03fd929925ba3f6e40db6df8f0358c8a335945849649d783b52b0006124cf4042c3f16a854dd4a7672206614e215921735710d162219312c171da4b7649882772eb6ac18293790f8a6ad0eb8a98988789622911a626f368e825d45f92441e6949bc1b3e57a98a2136eda230713b4b6c6175aa129315646973336e21535ebbb8b8a549687da77a9c603751abd14723da67adc45dd8ecffb37995aabce4d743db9059e992aa435f87ebf2069785b20d1282e032f87ec90a5977b5b6eb7ce5e14e76816f6d8aa2a99d88a41cda754a8eed7955bdc677bda57b7c9308d8853619ea8795f972807be4487ad3c6ba8177c1897f6ea77077cd107d7b0c6eb9775068bd82b5994983546a8b789ca4fc7e30fe328a23afde89fc09b97d0dc4b878a796bc885f381176c0dedd7c3009868708763778074f1483b056e47b2d2e6f775e060d80613be47905e3c28197a2b2867f2087840da05978d324ca77d0d2c3838b448282d320027d0815b57a46e25386e546797aea5eba75c4748a77a68fe6769eb2d488d27ee978dcf669752152f679d5d4447e23d3767a076168784a958b79e1e6cb7e174abe7e0952b07a7e773b7e902dfe83891d937b603f948047799278c0e56181423661814ddcad7e50682c7bd2708e8791bd117bd3ad5d764ab9e9851e6116883d29db86051203825f38767ecf081c7edad64780ccc1007a419fa88156cbfb8877f0068a366cf17ab74967805410d1775c0ec084f283567a15ff0480a7bab185479db782a0e0027c86b9e58487498f89cbd316877cf25b801767548ac2714878a7a81c89caa1d885c0633589a0289b7edbef3e82b44ae88619e8d979c7e36585e1ac7d81e3dea681258e21841709f6844a668580588df77ba9ec97766b4321899d7c8f84f0b64b880840f485a1533d851767a57d4a544c83b06ffa7dc8b02f8747de5c7fbfcc1387f25f5a8a96d15289712fee8898a5408dfef27fb1fe337a96b4d9119e22eb87a7befdb497371c3793e2cc0aac6839ae8fdf2214934812e67a0fae55765e185b83fc9293793110d187dcce0e868708c67c2d76639bf921f880fcbef0956f67119f67b9559a35d5fb9b7c1ecc997a8cb6b78d5cf38c291b8a8b95baa28623c1f77ac0c1d18300ec467e9c6e94869bba197d07b41b8215ed717c33a3518a2a69078e6c91f6ad16430393da5506a55aa5d0037315fafc42ea2304936366d8c6a231a413a65288914a4878fdecb7772cc2ad83e9a63a83e6830079d593e17e3d6ab47b4116c192d8e6c68cfe19c9af3ec9c39005755d013a19f177bd9ea67a4d820f7a4e487c042afd998ae5808088048d1c7cc641628a98e6237ed84a2e7b4c74f67ceebe667d388172975a9ae8afa684c0785fc93092ba7ee176bb07db75b140997b504ba975669b2c865791fb8b03a2327b42ee2879af368c80edb7ac827a8a198220b7b9783bfb7779379079828ed03eb60c7aed938ef44a98ff16557824090280d15731762a53287703a3b77fe63bd287bed734819a8f2080aac48c8253cc6a75084b27795ed0db7599b7f18705651188868021a7a69f5eb33e38d97dc4fd1985411d5076c1516a76d8de15829ba8e8861fdc0f88aa783f7b9aac607cc4b52478d9b68f7d03c7a57974203779ea94e0764e1d8f9d8ac846a5eb023c84085245853201b782e10ac287e06f07774edcdb8465e7e67b4f201381f6363f8327e4cc7f49584576e49dec82aad62b849a18e57ddab9dfa1dfa972a6a2b7127f6d3b3278c7a2f881f0af98824535538250c2998900cf9b88288d2778e3a5a29607b80c8af1e1f989ebb4ae7dd81bfe750a478a76390a5b7b16d7b9993e2d42cf578d667a5a367b78e9f23b7b6d993680088c68756815f1891602298a214723abf3ed7f8f93785d8a60b62d7f9eb218890b14197c055eff793efab48717d3f3b1cef2697a0b0daf7db98d5c89fd22457b7ea64a823c2d0d7cbbea0f763d9900fbcd7c0993dd268a901da4f37cdd3adc772d0a257608a94f6af2ecfe8990c841a548ad0f0355bd0b81c8cd508356dde386276d8987e4c8a17eae24597cac2c9685aa9cc780e78af9a7128b35a7e9e43f76e95770804540f4893590636813988480ba2f139c9f0c55cf83ba19860744d489391892880cfe0388f03fa186e898e57bdd04e379cba8b8fab785aa7d307981941cf013891e2b397be66ac778effb7b751ce013894acb3e846196ee03de219d897ead1781e16f55890797767732717b7de9e02981710be977bbb463fcf62c2695d6343a977160de77eb897f7530e5f883ab1320711d583f8542c6327aa93f847c26e8ae8708649b7e8188db85b068b58886efc983bb205d897fa99c8468f85ef91cde28a52f53e29aed1c0d7f8d8119889b02c485d946ab664e23bf880482d580c720ae03112885d3da3ef5804946a079c54cd5818cf8d489cd3b628376f4f882b02727872cc97d22c71cbb9c815fe9843299d185b9f9268620db128aaa5432880e540f7cb833b28a1d5a6dd08ba32078d731a87a3e5420770bf03f8511f95e7a99760a8607a9747f5599b1fab4e9db81987a0e879b025b7c8d6f6978d1bc797d09ed717cc600de87c2131b8498b4da03fa05068478a4b287491ec17eaf7e0c897045e87ea6f48782d212087c4ae8261d0f6f8a88c0755084709f6979ab8ade7818d3fd752beacb841a37c8786bccc77c149311847b83808ad929b8893b3819847bd2c27b19348181d8928287ace0be81a2481c1b8b644980cf780f771cc794839d461e7a85872d8038e63b7e25abcd8744d4f87b76233aa0aa52ebd7dcf395882d352a8351529c88f9ed62882f1b3d8a2e67d87b6dfe6bf8af405a83b1c9a7781e89ca76b46e807b4dd55f83761f5e88a1414e8af230b1851248a69d78bd977f239dc87a30b68d7f59940889c67e1177fd92fd861dee88864cb1591be244838471e77587929508875f678889cfd22b885a6c6081052f387e616a7a95bd77bbb1b62c138a067367797a4de184bef4d981d4d4f285ee3ca07ddad63c7a8003257fe6a788793612258267cd397e8529538850e641762ba213796a18c57ed784b7a52fd508a5ff20d6869efabf75d4df5f8a0e37078a9a432585d194c478d9b3b2786337658a8ca57d878c9eac7a19cf377e01f38482fee8c97926b98085796ae89e949cc590dc73e87d162af77c02e8088786b96a808534d2869636ba7c3117c086a46f587ac74f0e7ad36cd0806677b183ef845e870b1448822f4aa087dbd2be7aca2314810d587d869815da803de1e7855f800b850d17f47e7a1e32f90724a69a3f96087f43ea127b6a182a7bfd348b830732597c4f97457bcdbd9182687a998096417287ac455787b3a8cc8246a11e03b6260486f3a3837effe43b89e505de9b95289f9334b3ab840b670f7df76c63884d12b084dc574579ebb4018104286881d85c12861f1510767af346872d88fb86b01c9176e2bb40dccaa58cfa8517f60409c52a9ecaebf394ed2204a1499d827e71164f818c8ce57bf993528a8dff547c5a128f78fdab6e8acf492e82caa1737939ff837903492c9e15b105837ccb6c96d364cea13718beab45cc63a4dbb267872ee9ba80433d0f89b982877b7aa0437c178bc57cc9db49812ee96d839b96ec7f3087a979a9fe4f8942f577a8b8aa46a5009723940ef30e8fdd242eaf54b30298a5b8d579ef96f8844b5bf77d5e8fd989c2dd558aa5f488833c105b7734aa5889366c7f787df91d806ecb87859e787d9079ff13a63b6b2a8b01851c8c0015a1a35783748ad81b147ec9a56b894303be88adf98775b82cea775b4f787ba9ec7675b3313d7e4d8de588bcf81d8969f4238d5e69be94a58fecaa4121839ae315a69706ddf68a3c56d97b031a4487a743597a04bca87a08df6284aa30628a2da15488948dab86f283667e2ded9e895a7ef0864a1ece89683dfe7946884da33af14bac9579888c54d36097cbe562899b6efe818e3cda7c6f139b800d6a0c842c6fd87c625ffc79621e5084fe4da9803ad79080c31a237694b56d762587fe7576d051879db28578da6af183a7ba867b838b1388eb4f7384144be37e35e7437bd647c37642b8047bac91fd8509359281e07abc84e38bcd7b2ef4177e16d7e4829677b57b6a3c1c86ffaeea7554a4c381e629cd76f4b5647af3c05781599421804f32568846ba047bf5f23485aa42797d24c8e1823a8f7d7ef5c3137cb9f9f17d9b79c5771320817ec486607559163f8aad94d487d96a8478604ae689faf40f884899338a71ca6f8052b3ca7934c7b279ef72b6833c2dcf87157d32833183f87e41530f850d5f2f7f6271647a08dfcc76e52240864fd8967f99ff6c81e8509d75436ca985506f117690e56b82115360820063ec842f79887b035b9e81b91d167da253ea76c2179082a27e977eeebe1482cc8030886afb707ce3c56a868b4f457870aa77776ea76c77fd1b65780504aa7812bf8d87f5700f7f4a42167a2d9aa485e8eba27a02a7f98750398e754c7f1c887ba3f17f01a0b27dcbba247c8da525856b67a37ac57b168437f122843eef50897e485d7de3cc4683d97ca77da1c35f7b1e65eb79f4b56a88bc1597889e305e7b62cb8975661d3d7e1b6dd27fe8bc4079c2f3808adaa7f8865c81887f9797c6852b613681a2003e7ca021df7d2683247de48b3d806d107e75b2c9a0758575197e3457fb84c129f88193ae7b80eb7e668391225c87e994eb86a62a357d2003e5822c5d6989eb3d3d89e4e5fb82447a8c7eab8af6799e71b775277fe87aca187d82215976893f7f4277bcbb3d7aeab82e82a4b01789650b0179d29442896852507cef31227c8015c47a1ebf568a159a7d7d797c5080c1995f7b5cdfcf7e7743fc81c01b817e6dfeb0770e1e5479b355ae7be5cf2d8905addf7b8d5d8e83f57b35834e903f77ed5de57da439b5794eca49779e6a8d7f03743b88c0da998279b2597da81b237ca9466478589160773815fa845326708352a80576e0dfed75c23b5d863773717622b332872989b17f3d4d2a786f7f6586858e6981eb61547e87ae438220d4b781ca47f88066367f77171f6a88bd47c281d086d77c69edcb7881ed067b7a423b84e9e73d85d3a99788c01bc985b61e8d76b1b04178483ff5807d0b4b7ddf077f82ea658b811eb49c8866adfa7e3dc41d861bf6b97b1da66c8463379688ba6c5778bf607b82eed76178484af37837732a8261abaf7cfe95a67f144ba6784c62e087cae92979238bb68159c3217f4d16e97d58695287eda5f579b737557e8a4804765d5d4888738cf9790689308957215e8069a5c6889500347e88bc947e6cb65577c719ef8680d45c7d6f8aef86feb97182e5059a7b7b08898a5ff7cc7ae2be8b81c89ebd89ad77c57532305b85370ef17ad5c9d68482fba7880ffdf18283140b8a546afd7f4809617e5e7dd8788e9a0c83ce42227ada17358838520b785fcca87d83ccb57e3cec797c81ed177d3797b3796f6d557c59827e879f99c49d4094599d8f2e11a25021b88741121578fcf0f187ab6d9d86fe9540800201cb80da5f0f8072dce8867182408610c3e687b517098405940177a3c62f87a11de7a140c6518b772ffe90d0ff517a6337bc7a4731e884f009e481c9ff5d7e10aaaf85640f837a9ddae585f677827570a3df88fd176c7fb821e581e3141a880da01185b9c74d91a8d0adb5a830b98a98d596854b503a7f71f93979f199b87b576d82856732b6802081e17513731f86aa71de7bab9c0b7b9504b77dd33dc588c3081d8711a6d69ce9d132b70f581690eeb4c387ef1f3f891488ff850c6ad17f65c33c83fb556d7a7593da766c6ea289b8f2d4773175507ff665ba7b1b1a07889b55d5872eb3a3ad2635c08f9e5cb1abf8cd4880b438bd8207fc1880c7852a825ff03b799761ba7d45ff6e83f3c032836bd33c88f9528b7842413a8acd5f41791241c6797e00768626b90a94288aa1a5666113b2936c9e8674c93378bd4b018435dcbc896f86f58183f0878944c2787e8bc6a3800e95f28030ab2f84eff0738796e3f086a3bb4a787ab2db8e8605e8029dba41fc0fec099202a3146465e9e48541ca737910aaee828218f280c17cd777ba82bb7f86543685b164ef7c2ba9438786dd3a8a7b507f0163f5d885402166773f8ac7876b9d607ce33c1c7e19b2be8724cf6d7c03e4fc8980c2947b38276678a01a957f5b20d979fbb3b980449eb677a3f51a7f85875e977409adb1d85985923d3d9285a373648968b7367a99c2bf777a4d5e8bec6933b49ebb36866d3b2a857b913e801439228606bf4879af072c7846471082c4eb50792a9bacd048f7eaaf50a4298c43f866892c81747939ed307b3117b0807c33b579b10ac6ab76fefd84ed4008863e54757ee60c6c84d8e57b7d6f137d7befe98b81fc80327e5272b490077466a3fa75cc7bd93f9b809600d4816a061682318eb88537eacc9f21a31596839c47862c81877795452d83768f2486d13aef84288d59805cf1fc7da8802b7d5c2bd79efe2c8a7ba4035a8adce0c37c9689f17f1addd17ffb0d3d76923ba99a5f20aa87138ca276bc035f79cd58d37a36caff7de1d482802d1158980da6d278e6c8b2b0243f45784809ef7ebfcca47fc88c2e7670912e824b6d88813c80618ac0073991fe161885080abf80bf4366782a53be7d00c88f7c081ca67d279ca488d6e2fc838529d8da6786987e49e16a8672369b85ea9bab7632300484fc094a834564e5821320058750819d787050477ac7c6fc85a97c4c77ce05b385d731aa81ec7a6b7b21116d9f402da080b61ed37b640f807b9557458322ba2980bf02c67f26cbf57f844a31f92599597dcabe038254c80a7c11f9247eda30877de65f277dacaa7c751e2fb2862d35b4d8ab39677e7c740f822d9a4b8286fa6d88fb38668752b38b8981ac3286cae9891c02f27487ab62bb7a1fbbd7830cdae57b0009c67d972b7b7f732b0b8a8c270a7926b9557e26b965778754407bdb421988008793830761d8810386eb891e616e7dcdfeb21daf446f7f4d284f88033e8284a97cc4898d76f6794403cf75b181cc8384b694886398b385b1ed06868003e785b80f6c789337238259b1cf8602d2ab82d17b4076c8df6b76b19eec7db223cb7af598fb8416b355867f0e5387afea5e8336d12c79d8f7827d10ceb685f72b9b76943ec675625f6c7b8ed07d7bf0e51289590b7789512ae7f942a87d193bc3b7860cfe8b756a23c6798e6bac77e4c1b776f9a53082692e80857c69bd0294a0e67cb08c0388f86fa6869b434e7c16188e8164bc08860b8beb8269e2dd7fec151e79bc9e1880227d888822e976806f499c7e152e227e8bf5fe7c00c82481e898fade846be38140e0277b84f7417c4f07417e06246179c3130784a5407a7d9868321b0570a17582be397afa231e825cc2eb795e065278485135838804da8666c69177ecf1107f5355087c41e7a28673c63484afc6d57e43856c7d52fb6b813af4d0844c1f6f76d44f8783c1e17f7db42da482acf24e771cfd3281b546ac7526d60b8748fe1f983c79bc753462cc825ed78578bda51c8887083f82eb0eeb84495f067e0fe4491cabd286868a4831815475fd818f38ea777403c98871e7ef7ea3c6678512d81d865d110f8c34698d7554afad851fcdd8810c87aa7b7576bd87b58e8d783051d57750323d8688983780655e137f06774080977ead773b79897760af1f7ab713d97c320134a58490f57fc391ec771c748778eeed3a83d8e5cd7b0c1b317650397e751e2d439514250f8869f46e7e32011f7b923bd47f1415e87cca2ae676abd23088e0933786f3370faf90fc5c7a11700077b044bb7d6b67398893c04976bb6ce7844caacb8e90150b8a47387d87a7267a8092e8f383250cb87f92304877e0684c79be2311806aa14e90e6c4b184e8d9447a36415e7e985d2b781cce728a5505d084eb7edd94a0c6317d564da07d912216873720188445ffa3887be4cc850b4ac98349c4fd77b0035ab57743148037b193853c104580ad82d77514159f7eb4c19d8ad4e6aaa8f7030ab738f7d0840fe4f07f92831f80181bbd80af198a8857912a874cc3538aa3a9b184886909a28f67ac8db04c29208044f37b744b1d85543f9976bb1265857df9789baf534c97fb418d816624f780bb2b107f3e951479f5987581800a257985c88e7e6c757b7600a4c1a0b45b9c9448f01495730fb57c8b73cf849c925379f7070f94c5f476aef6b56c92385d8c87d66b3c89f469477c88869387e26060883f981786026df37e2a19ef88f051149ed7d571ab211d0696fa4b4c925b06cdf90b12b2acea4cd994d5f38fa9096b1baa1006b2833d1705846fd93c7608d46e834a25df80a5acbf794cb5a77e37326d8a1b3e6a75d1efd3932d0e509fdb5a679bdeb55f839591fa9214bbeeb30790b58de9e509994ae8207b4929a68874c20377692e2b81b23c58827e0750779f499b816087c97dc582d977e65fd27dfad0327dae652276a0e4e380c964e3814df92e81d70d058694216f790b798d810e953b86987a5c76f1631e7a3199107cecbb598a1b5000879416c67a433d1e807fa9d0788b7e6b7d6b1f6b80f450b3784ad6cb7e7f3d7789b09e05783ff6838450b7a67c10fd09819ea75b84483429889117d079eb12ff7a64ce877e86dd3a7e44c2e576c4e4c78992dd2184b41b1083ad8de681a2659884516b99797ea68b8a7c3a96812140577d7050d186273ea2868625a48003f62486497c2d88cde11c82c797597a68273a86fda03f7a72d19a8025cf8e85c3e48a868b3d3c8216a1b67b863b8c7b9eb9ee81410b977d9bde3c7bcb1f817ad4cd4283a743b689f40f92893852d2824564128963b528848678487e4cd9178a6b7933817714a683b4a4d1794593ff83b695d47e01c4fa7facb56682ef67a086e7080681fb67627f9dcf917c8438338385bd647cffdd427886d68784084b84788f721284ccc1ae804a8a5f76b0731179ec61a875d319af7742add57f49588b781ff5878382a1be75ad9fc286be0da075eab1bf8001057f821ebf5179a17bce7f95c3768523d345893eef997f9803a383b5587d7ea65984813428377ccb4377750e1eb88273b48686eb199e7d47431b837e5a8c76a2000e8217f7a989b529a2871d00c0889cab9b8092fa3982b886b4760832407b0732107918d3578636b48d81ad9fce7f8b4f658a51ac688904d5e378be8fcd7758862e7960512d88e2602684f06ed37ad84ad7875f38518621ac3d84c5f94f83c105c17efc6e887f88864f8349f38381003f2e7a1c0f90805953987e2d11df7a75b7c276c87a1d7633d23b83f3c07b7f271a99754485fd89ae19697fcf49c475db428f75355e16875ac6f27f986fb77704451081b5ab4f8199c9fb85ddd5ff815bcdc98699d0da7e40aa8478d7a8217de64da08891b21a7b6a4e477f162aa184ef848f7963e4ae7f55b2747ee8aae78113973e85bc15dd7d10eb9576c3541b853c511277f7e38d8129ee7c8277de3d8425f39989f3ae567b08c297791d942b7743eacb864c9f9581eaee987a2bfc8e89b6255189a1a604884780c6894f322383d6c503779d874487740ab27a1987977ecd05c47d9e42d37e9582c97e93a3827a8b07197b60807e88ec27cb89c33ed2779cf7a38491b29d87e8ce317c7606967c1cbc427ff2a0a4895ca50c84099aba75434fd6808ec5db790bbae582d59a267b2193377c198e02882392d9786ce58185cd223a764444b782d5ed938493f6fa88497cbb88a547368407df8277524747800ac52479c3ef9379b7ef637d0a7d448ae505fb85d2000b81f89e868a14eded78354c89764d69d6883a67ea761f730d7c1660c57e4b910c7f4265d77adf24907994d9e97d9790c1794b25d48978b6ca805ba2e27bc9e65c825d47877a0075ac86e4f7ef885260a5894e07c382873e7f7a765976775ddb657c9d6a5c867224b68795a61e8a8b32bc854df9c77e2bc6047b471f6c88dafa7576b252ba86dfb46f7752befd880ec0ba89b9c3e67b955e41806d104688ebeaee817da6207ebb5ae182a6f4a0802140548aa224798a7d8296828dffb27c268397866c75ac893ee4f184c092557816be177d6cf78b8489c31a7a8b90237e0af46883a3bb458803d91f7f9653b476079058880c6ad07ed731e88555f31a8873442379ff13398a14f8d9820ffd8f882093ef7c55feb27f2c15658a7e072788a4931b7b7afaf276a3bfcb7fe65f8b848b0e817c89f27c89ae2b6f7653721d7e3a842777da587b7e47a8b17d85eceb7e2451a7855fde4e78d14ceb786f37007e717006847899d67a8015b87736eefa797b3712870022057a8176d47c810a5b88fc1b51832ae3317c6844e189980a4f86a13a727f5a5a8779c873bb79335b6c7f58e0be819283c283f594d77c459a187c4f3dca88dac04689497cdb7571e07b76cc02387cb3de3e7e1d82c389e2b3d77e79e1c187681c76786295c77a50157483bd35367f2dbec389cbba5088dae83a7827781a7e48f7e084e31fb586c9359a77f83d0b7e02cb9a89ada61b7f89b1e87a67d88c7e6707427b99938e781946a582d18214818af57b892ff7ab7ee8989c83f05c297f6f49ac7b60c87b87f337348746433583d576bc75c06e6582276dbb7d4045f27f54ec7b8095e77f8111b8f19346d17daba9fa6da11cf467aa3859288f3cc3728b9eed0699dce1c498a94081abcc74dc93adc02d80a611e69689d47e76d8e5ef81f8df167bee356686fa47db8079296890fe180ca68ea14a8fd585aea5e57284b721d15690735e838c7fa9fc90139b619ebd8bbb885e595787155da79923dc97853e25f6867c169a89cd4d7d8155b2fb7ef283a7b6a01fc59039f30d8be3f2fcaa038f8c914e98bba90e3c390475cfe121366e6c9c95282d8c24ddfb76fcd3e8a12ce52f8a9e9c2b7dd731f887e5e10678796af378db30477dd29b5e91d6efb598e5c645a6c33d249705e638963a36d927ed7b3f7b468fde7fe61793872174c38c3c56c8806533e4946850c47de95ea0881d24437ecf66a68911ca7183257cf48036e333b14fed0a94b7f8369e40c24ab15e273afbf4242f7bc014267d0d46218697689281f3c0707d42369a96dd92ef8486a7e285868a19877702ab7e74c2ba75911089820964c58cc1bb5a8d0d6168ab7fe96395f8046584913b5e84dcbc9d7d691c4f781880ac7fa4270798fc66e48569596e7919b2f9850b92ac7fbf720d7f5d9a7475b3b304b5ae023e9c438c2ca7b54f16ae68e4fd8838b7e27e9bfb787efa2ae5838a890d7e50f8278074ddea87b8a32d8a8360f575be9a587cd02c0c7fb07aaf7fe7789076ac2c098d48130bb71a90919c94084e8ca2e23e82e93a1c8744d405766af43176f3135e8af881de871356c17b23c142a4336d307fe8ebea7646c51f7bbff01d762d648178ba9bac76c395cd88e8eb12057ce8bfdfa887df81df2b0b8a88218882fc269a7918b6a085ab2ca1813feb8f860249749eda88c17d924dfb855f5cae8124b6bd8722e96f79f4a3c37677f0507ba3a6290509290add8ea2a189b00a0c83699ad087dfcdd688bd35d082444b5381864d367773a2068d65335879d21dee7c9cd324817c45bd793abe9a874f689495c77f489a9d579b87bc5d58813cc8ad7b4385387c0e66b7818d118a7d66129b8af10519864c0458a4fb9f2586dd3a327a2bd82c8087913a76c34221860ecb6b77001bd794f5078d84332c2a7b60e553865d064881db78b57dc3e43185337fb481f4b58376b372c08951e20a857ead35856815ff87070e4e8afdc4007de575328529774a79921e897d22a158fa6e65bb79c5579677223ce77887ef4a8381acdc861a660d851bf6ad8548a4ac16a756c877f57b6a7858b56a879a0d6186631a0281c6bf6a87194d5c8932e4969bfa8ccbf9895f23810a3cf07f65286c78f45bbc7524f7aa84178bd07e3f08cf83d9ab8fa3c8e08576fc02a08a8bcd767df2d64f85af6114827e7ee886805d0476e6a01e83358240fc52a107896e9cf08443329d7538f1f7777befdb8471d5da79adc3ef7bb534d317d69949a6c15000822b97cf78ba65ae790bafbd89fd4d7388d731618871772b831631ba7fbe213a7d233828890a8baf80122b39868a89188a677a57843f5b4c7b895ef2f6a8600f8da00b8d7672a6f5894c7b4788a22bf5863b8bcd7b36eeae7cbc7aa388c0c8e27cb9b1a97f18a43e7ea4155487f1c4797fae5a397d739757783cdaa27b49bdd0b0f72f2684eba23585974f5582e0bbcd7f89f90d7b1d5eef7f7c0f586bc4f47e797fd19e1aa42fcf7d7b08a1832ad13d7c08f1da80f612927d6ea7ea825ba91582df3d60b877428d883129448aa6a1a8846f91f9772b61cd819ba8488817d32b85f3e4827b464e3d1ca62b8d86045e467d770d3e781c5064851cc3268677d3407e6ad78d8027eb5c9da485877c3964d1773c6e7f80b9287481069b7c7d71e72d768671e38039e2f47c8737c1849a065e82acc70280fddad8898f09ac893398c088fd17828828f2fa8ff3a7b978bddbfd891bbcce7cd8a43685f421b5879893427abe2a5d7697bf85825123907933e4917512ad6c7efe17e689528444878994ab7dd2121686a3203218f9ccfbb539f89d83848054883afbea7bea82be837a784089d74359823632c07c7fc62489ba9b2b86aacbd77b6fef3787ddf98777f641ef79bf6031824e12818604e00ca3a529537affef3e821e12c889d10b2787e00a2c7a784ac0764444d9838b73ee81f4aa2a97f456c188aa1e7d789f49e37e23558979e30dd37d36d11778d02c98aa1cca728171e797839ed69f840b094e7c2efbb8805fd3ff8517a4d181051d8582ceb2c3800cfe9eae3e68e2814702ba7e21befd811b7f9383e9b1567e24925198062adda32dbbb07f51d0827d6122a880e0f14c850dfa87893da07f8314d4a184ff784e83bc277b7d83883109d35d4a8746c5a0792c44ad75dae83c7b9eb9a0825c7a1b7a5d52ce8506078986a9466684c7fcf1898c81f8824fb4347dd606fd81d8a42c8af1053179539681856a7dcf8dd362e41904e8497e9462097bc026c016948e1b8652962278811c51853e421278d9878688614d6086cd29d0821c21a97c8adcec7c6d87147671ce407bac0f55806881268f947260a23b13310b5edfd2a1c0c7f8940b8d7877b8c70b775a94d57fa43916770c1b2089645e357d593a168549cf977be181487c77cc1386e845a07535f2b68cc3f93d8f3201b17ac14abc8a8e117eb15ff74f93059ec07cd0aa487e5ed0d4894d0bfc8508db8380e04b67780134877ff9a5b77605c37786ff0130841ad252763105e8a7cdf2757929c75685b799a78a41b690a64996109aa444b7781e368c7c151c1476b3433378a7557c7dc6249381bb4f0d7e01e8c384f2d645887c0fc07c865f978c4b78dd89d64e48a8f454d57ddbf32d96a030748c39814a86ace04b8015be4b7eb8fde777fb7df485a3973f81e1881f89a6ba96887bfded79b98d907d9993f17ac0a40595b5684078cf95c1a99852d1ac70f49fa4fb34fe9073a422856b26b07974203a7613ea107f83cc6088d6e2587dc16a4c80414cba885367f67e9707a4890619d8850c673880f670ad8be94c86962f2c84a966d482915be34883e82c40784062b17e5ee96e76f09d1b8650b0cc7b4784d3877a25967d8c441d7df761db7f97a93080897025826283207be7378684332cfd7e206f437a63498e87e99f8375b4f75189bf8b8b7be32af98687c08479b7aef885f88c6b7d8f846f7bb3e9da7fe558957f0009dc8643a96c7e9b148879dbc08a8215ff388aaa42dd7f4a5ff0811ff1f5818e06e47ac8cd4a86f6eeee82aa30b87abdf8cb8432542b87761f5d86f3b5f486b23c8077ee9ac2777d4ca1751ab2a078171f08853d0527878355ec8757913e781726a784ea9b1c7e45db0980bfba027771e0358258eb2e89aaa7b47f5db73d8a47802a7e321e8879cd346383673d8e7ac4b55884a2772188b2a1717e6976c180ae9b567859579c761d69ee7556b9cb7c9bcc00847e071c82ac50d27a3433ac7948af2d881523bf894b91237b1a1e3c852750dc82ee23dc7840452f7e8cb0057b6d34a688a7f0a275f08be77df90aca76059f577c7397527c7d94e488f744fb83783fed85d5939b8708c94688cfb55b87f8686577fd51968287f6f77f337fbe86165543771acbf4779a06947deba203803e013b8a49172984a08d288449cf7d851a308c8172891783a59ab7898231ee7b1d704d848613c57ef62f6b81dcfd4f8026b9d276339c607d0b676a83f0d3d784e1acfc795372c67f94212d875410a28113cda37a1ad69d85a7d3d47ab6e8107627012f8823792085b2c5b689fe4230843eaee281838b5c7c92a70687ec03157bee18507a9a351d8019295b81ca605a7d1004fa819dab4179e63b4178def95b83a56493860e428676c7480081dc339c7f00feb180301bc287f90a0378d8c1e17a6993787ebc03b389350030881cb133894851ac754fe3c9757a3bce77bb5ac287ec6f8c823ae93f7c3e78068122c5217cfa0680878cf8e678ead59586af858e76f8fc64824caa7889d3a99581f55e177d90c1ee85430ef689c81cb975e0b45e7ef2e8f1820350b67a2d52c081925437839935b97f93ae69818a7e838367fc8384b5e10477daf33b87a7c180893f7f5b8100a4f081c6bf058280f88b85273e0b7f0f374584dcc70782d2891d7f00ab0b7f1e19ad813f50de75676c0f7db93a287f5e4e7583c117797af75a9e773e951688613b787bc217e47769ede279fc26547a405786859d4d487e9e54ac83ace08276357bf07c9d87be829271698a439ec77bef84018a124f4d88fbccb8778beaef890c879076ae2fe2885dff2a7aba41178a9b8b9689aacbe97de235658477559f819271118213ea9089aebfd081aead5a7ad987af758288d4891aef73819d8e8378a9c80579c0f0cc7805d523830a2a2c7b34aaa67d9c09937502cb4f8399110585a810cf7aa48c18812e3174836bd3ca81b4c8bf7ba55280851385bf7a23cc9c88e111248a3f7ff9836565b37b2886a389ad82808143d8d67b0fc02a7ded52378414f8ea85680a7c82021ef280d13ab77ecc26c478415e777595212b7637ea107fdf85e97da2d1d57877a85a8f054fd87817cc73785eacd181fd4d1e7ae8507c8608649675ab49ef753ed6a17d82594b8a75be6684e994417ed008b18982d7a68085346c75527dca7e4cfd827c925fb18a26fb9c7d83969e80d5c962781e2426808f9d187f1c7b6b81bd23737d36ad907c5ccd9b88c213bc7a2044cb7da30eb3848296f97a858edc7e66f5c1804dca5c97e631ac8383d3e9924d704e7be766177fc283e37e0940a081f5c3a577effb0f78d128dc7ef283a3849ff6ac768db7d7864141ba88f4fd0f85ae908783c86fdf7aea1d9976c06eac76d5395c7bff787578c2e8a180a0864e7b18d3047f8188748722b30178ddbcf278d68f468626d2a6818176b87618c81588a141c77d688c5799bc773b7706b86a762f8fd0795bd82a762766388564453c856c63237a9993867c28980d81e372fd82d659ef7c1d1de3817f0e7e7dd36cf77e48e5af80200a027c2b7ea4805127f67540e4ce77fd0900783fae4978ff664c801c57cb775701257d12f56581c313ff8387e42676cdc80a7e0541767dcfefb37c209eec7ab27d24874b3e52908b18f993d8534d932c7e948a6a2a6a81bce6f381587bb77d9feff67ebd766a7e14d49a88bf55a3791535c2888326787a68a97579943e53898613d986d8a4c189c1bdcc85633e9d80a826da754c1a851dfd44aef8d62ba41e5d0958f764995a18c37b007fb563ce7f82183f7a42d1b57d7f0edb788f604c89a6c53f83c6f508863d712182a796a8b87bfc419c5c4d928c461498b3c64e467df0f00577cbb3bd7cf9b0af84652f06779b180e7630af657d3e83c487f88c648321596d777838ed8534b14086f6483682494d52a54b994fb14cdf889674ed6fe45cd01677fac9c77cdae8f77eb63b028737324d82d2775d7bfb0d5d7ce1a574786c8be787446fbe7dd4cdba808b3d3e7f6f081176c736929aec6cdb931c365da2f60b657a63e42f894e61fd7ffa064277e70c1080eba22c7eaff558792e18c983a481be75246e828625a70d7787dd30804b1a267b30c8b7907cb36899915363b8a8da7c832c2e1c881eeaeb78400f5279d4a987769820c27d35d5827d56787d7d35e7d0838aee81787bf6f485b379f08946ba9e85f36d258811ad0cb5713fe3b036c48f803b9dee809a182a7ef8bbb47a816fa786238b207b02837b866815257d73f59f7c2c27247a456f3f8a7df9bd7a65d5ae7c446817839bde42b42288a1ae2704c77caf078d7b2ee94780d796e57625ec0d828d2e037ae850fb8070577a87aa8a7f88b9a6d080448c2a77e563cc89ce9c0e79f6a63779b5abe08996362dab3a1b5295f3a0c788b0816586d5b7c7830c990c78718d2d7ab1520c7945c9ee76279178835aadc77e936d187b67e3087a32c44e7ec7d1317758fd8d7c7db13a9d7462d78fddc781813ad7a88792a79383b4fea2758dc2c989eb612b78cda49f880c754177d7a15284f6e3418453794d7fe8624288e2fbbb792480f88789534188638656a9a84e11e2c2212b82fac52c83c91c0177bc320c81463c8a83a6d73f848fa8f3827ef5c586fee8e884bae36783cb26f87d28fd03897ee3f78490229887bbc6f09981c9e595298684870f9102839f9c44890022577c7403908286427e86c83960881696aa8591a06683b7b5f18627b56288c3c7a28517f01f898dbed87729f9d37fd8d3af9a36f8527b9f8ac97fa81b897950df3377dc74ff7d172686884b2c5e7ce34ea786a10be987fb8b28814606588577141781d0ceb5780080dc7b35b8089af50605a632ae6380b113b9841f448b7c53af8e82629c8e7b6d462c84b529f8853fa33e81f3541a7d5da56888347b008ad8f76f797a7175779db675760aa19a88e6fa9187b1590baab17eb086d71fb08185b2638ab04017856421707e37d805881cb15d88724ffa759038b588f69ba18984bddd7b47cc747938328d8319a72d7e1ae8ad862912c98eb6d158a54eb704887212bc76e02002850249b477f2f3da80020c547fa9222488c3b52c7c5b7edd815e06c4897fd88d7b30ecaf79f2faae8243c6a888761f9395281ded91edd4141ed0d5b978f28ecf8091ab527827aee97c6e424082b75bd187f7195d7c9a7df67ac230ce8419a0958948fe517f51c93877cbd7fe7fec03fd81652fc6882e1c87996f89b81c7afb5c7a5f31277e51b72685560c9a7f80e6cf7a86cbcc7cb64d1778f2c4f377c4eb0b83f3ae66890e01a978324d7d80597000884858f28894e06b6e7f37fc75b98dd887eae34880108d7b877db89d7722e2de869b79b580e99f9e822fd347852df4697514cd9d7fe032f18769db56862380f97f929572899eaeb77bb3670d85bded4318a4fda9827219bb87696b6f79f05cbd858a7e6d8901e84b76f7a2c97cda5fd17fbc7a1e8244d4ec8081234387b7494478ca6b05859607b68926aee289951d3d82e6b2a1769dab9f826582fa75eac33276de3abf77bf1f7a824bd2867eee2a257e93912887daa739834ffce37db83364850947b6875cd437897c1d8d7fa90cc4855ef0627bc0e5568409ac0d7fea82ce85b07afd7eff01eb78a8802189e84568772ccd0c80b2060e7fc271587d5343288876315283a33df2894dad79822b0e6e80b9b1dca037593b873416db7a3e4db47f87d20c89e8ce2aaf8d2b4d87b39d3f7908f86678bf43fe821016298197ea5188eadc098aeff09e7b3ee8858894b85f7d11b12c782ef4e396200a39180823cc7dd0a3477c6ad73278c7c6d4ee5bf2d17fcd6a4382b4c84583ab5b6581b8d90a7d0d46737e1dd5007aa0083076bdf83a7b62a7228138a59679ac983ba1759f3791f434af93ec47b7156889baedb06e6a8c964b139ff953427a3de10f7917afb4882cc93682cec40c7da128338a331abb76fc26618946cc1588e546a6877ff118a6a39c919a6e8d7598e435f3adadf59f9050ddb694d615", + "proof": { + "index": 0, + "siblings": [ + "b22dd92b1341f6ddda36b6b4c70809f09615912cdac889326608f9fadb4f02e1" + ] + } + } + ] + }, + "job_v3r_a_proof_past_the_count": { + "kind": "job", + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-6001\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":2,\"root\":\"ff16318ee859c9c509c82f463b9db19f2dbb56f37a89a89a990c3a93c1734355\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c09\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-6001\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"45fa49b0740e4291ff82ac398db6066646150cdacd3c9db846b2b0020c30fad0\",\"sig\":\"8f0b086612e9ec99e0a7528bf209d9fb177aa434791ba16e7cec7d5c5144d291a856b0a732392aabba3da12460f6281d66b5c94be930ed4869059a3cc6a2da0a\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c09\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:6c5449272b5fd4cce2f0277ee502fcb6787e712d0d6497fe91d2b3585447dcc4\"],\"output\":\"ff16318ee859c9c509c82f463b9db19f2dbb56f37a89a89a990c3a93c1734355\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"30.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"30.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:a0d32db5da7481a02190e35f185f09bb7f64b3f4708949701c1eb8967a4aacee\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"b429f29acd1fd05985f00090e400545e14eb945c946b9efb08a2c56d1ee468b8bb11a5cd840c5dbd7ab9993be1d7bbef0d4677cad7f6fa0f31cdf15e7363d408\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "receipt": "{\"profile\":\"wai.video.int_motion/receipt\",\"codestream_hash\":\"277865b574029f700f4fac023de3ab06ae598ee6f8ed726444e91442a6bd59e9\",\"clip_hash\":\"3492566e8e2682e3b3bac083b4db02ef8eba9a7f15d9faf0e27feee0f6eb488c\",\"h\":48,\"w\":48,\"frames\":[\"e1d8e8f8b5c534be1421e5858ed9137808ddb849bdff2bf397beb32568d8eb69\",\"ae7214babf5bbd6ec279434740f3271be43d2392b8167813fa557b5c4426fa14\",\"b3ef86db27b82d303bc6b612cb224ad55259b4f2e2c0461c74dcce188cd64b99\",\"3906f91010bf1b9ca14f6e2ac9b499589ac02ff4465e1d9764a22443a8b29c22\",\"bedb1538c2071d705d2d3ab2df2c569ffed440278494649f9bf1ec881561c519\"],\"merkle_root\":\"0f3fe4aa201c275c10289c22f31e7211b555627b33a251bbe33d094abada6508\",\"work_pixel_ops\":34560,\"joules_micro\":0,\"uj_per_kilopixel_op\":null,\"energy_provenance\":null,\"parent_receipt_hash\":null,\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"signer_id\":\"did:example:sink/job-6001\",\"sig\":\"b0caed886abed9777621c42aa89adc4cfc9821de68345699fe31b2bc9faf5302319e43618a67cb83fcd485fe44b56fdbf5eb298555dd8cf0072accc0fe5c0c01\",\"receipt_hash\":\"849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0\"}", + "codestream": "57495631010100000500000030000000300000000800000006000000d5ffffff590000000000000004000000090000000f000000160000001e00000028000000330000004100000051000000640000007a00000094000000b3000000d8000000030100003601000073010000bb0100001002000074020000ea020000750300001a040000dd040000c3050000d2060000130800008e0900004e0b00005f0d0000d00f0000b21200001a160000201a0000e11e00007e240000202b0000f6320000383c00002747000012540000556300005c750000a38a0000aa9c0000edab0000d8b80000c7c3000009cd0000dfd4000081db00001ee10000dfe50000e5e900004ded00002ff00000a0f20000b1f4000071f60000ecf700002df900003cfa000022fb0000e5fb00008afc000015fd00008bfd0000effd000044fe00008cfe0000c9fe0000fcfe000027ff00004cff00006bff000085ff00009bff0000aeff0000beff0000ccff0000d7ff0000e1ff0000e9ff0000f0ff0000f6ff0000fbff0000ffff00000000010000000000feff0100ffff01000000000000000000000000000200fdfffbfffbfffcfffbfffdfffbff00000000000000000300fdfffbfffbfffbfffbfffcfffbfffffffbff000000000100fffffdfffbfffbfffbfffbfffbff00000000000000000000000000000000fcfffdfffbfffcff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0400fbff0400fcfffbff0100000000000000feff02000500fbfffbfffbfffbfffbfffdfffbff00000000ffff01000500fcfffefffbfffbfffbfffbfffbff000000000000000000000000fdfffbfffcfffbfffbfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fdff0200fcff0300000000000000000000000000fbfffcfffbfffbfffcfffbfffffffdff00000000000000000500fbfffbfffbfffbfffbfffffffbff00000000000000000300fefffdfffbfffbfffbfffbfffbff000000000000000000000000fdfffdfffcfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0200fbff0400ffff010000000000000000000300fefffbfffbfffbfffcff0100feff00000000000000000100fffffffffbfffbfffbfffbfffbff00000000000000000000000001000000fdfffcfffbfffbff74420000280b35593c000000a214bea9451501b9ad0cbdbd9a309164812c7ece531911d14717c3dbbc1d27782217989f7218f20d121d7bd4ca1f3eb3ef1f71131429e2d1f626c3e7ab249c33af4fe2d2c042a6d2222fb9b3c460c33836571567e55a40c90777634123135bfb8e1357858f0dfd6cd3316844ae2fdb041518b067b9167f09231b1d6f1c16b7df311ea6450d1ea29eed1ecc320c2b747de0206b34c82a708a2525b67967473d53e643c54f6f2f42e6355aaafd6534aabbdf5fe1a866406fac26314f6ad812ef006e0dd2c39e124439f5306ba6e0396f65ff1627ef771e0071f21b088eae1efd0a7d22d53ada205042fa23135ba627dfdecc3c473a7353bf1ea7435671e53209bdc9581998ef568e94f260c2af006595d31a5d0301d30b0e96f22e27c43d162997a218be088f12dc9d0915dff4db17246c1a3c61066e3807ec553cb509743e78e21d250c19332ef30e3d2d4f94a0275d0ead4e59f7ff403f44c02ed1b145563b075b55c0ece2599ea8038a52c4e77287a40b3015595e178405f01716799f12508739158ce39537c6364439c2c61335c774823feb0e4a46484b29464146093e52ba6e2e3e5a0631121b992d5a46a848c8478e518c794638949ff05b4c57d23967cc4b57d3bb164147bebb2f4cd1452f40e1701817cec818f564ff13f4072317feda4f17504f253558977544d057484615df8028fbee312a5a55ed2c1c72d1257130d62be71dda51a0a97748680d2735181dc85721d3923f8d192f8794fcc96be998eb135e56840f812d952b26dc2f2f8537db1701de931a9e0b811c99606b1d7a72b81fe6796623b2e3442266abe726bfe71c26713b582970ff964812b3a7511b88474ad1a39d60fe77fb5b93faa43aa689e37f22cf656dcdde8d4a529b091869c19a199bf5af108ce21a33eb8ae43a8485f63a7c0ae7f3e9d6d3fbf35320f44e2572fb823070f38da5d5fb4cd37f3e167531443d7027341943de2d2e0dbe4918ce0f53b1e5a7368b2c3c6ff4ff9044663d54810e945168c3b1d019852e9412c0563e10ce0287359612c8365ce0fd34c5cdb9f290f0e017571aaef2f889ca179debd4f3065bae18380425f4d7c9dd18bb2cf626ea6faa24e3f4384b1da15a3d6df8b52cc90b935da2e4c23b9597355cee7f1945393e249b7b14ad729ff91432962e6218224895175df6f11b30546af34ef81f1840d4b4f24290fa19e90d41f3792fbd17b307eff2702189161f1552f429b1fc18154682320160642d6a8c304b9a74645336beb060762fd36780e26160b5380e4500bf316ab3b6594b76993031ace92b2efad9cb178983121b9d4845f4ba36071a9d404af3f9d4f2199f14cff37ed44717baad75f448628d19af3421f46a8b0f19184461f3ef7bc1178d00634bcf58624c6725ac619927f15545490f360e0fb877c6814c6b9ea2f952ccf3a3abad91da10ef63f3144a0f23340223ff35814709f4d3516c16e5bb75f3a3574719c25228f4b5a03e1636db84f49a58781762e821f35742a2181bc2f7f397ef311637054630ad43d250643a45395291b55b725ae5723bdd1b62eae7a445bd65319f19c63568c61a5b1206b34d3bed1dd63786de01f49a49affb2a9cebf3518ed9fb7f061bf402f2bdfb0bb9c0f344eaa4fb1bb58df3fb10a4fb6bcbb8f3bb45a0fbfbd11ef477204efb6ff5815087d668629a2a0c5d17e9236a698d0061d79fdb460b2f26a9c24f33529ee32911b3aa1515876dab37a91b8339f13feff22ac0af17a839caf36b8b36183cace0f27ca7e419927205f46713bd1740d4a5f49da36019a6baa1f4ceac2c19b530c1f2eaf4de19c6322751ef91df5b92e05f6533f2a760db246a7d1551e266a304d149e19ef5ab9b67c917279abc17e5eb69fbf214f2182014b4fb9ffe3e163705e1fba23dfe17e466a2fb4cd37c16dcc16ffbaaa6f61663923efb92173218345ca6fb512703175f6a95fb422b751962216358fc9aad68a047125962cd87430577849addf21174af2dc5499c4fcf8778b8293377e4ed3b12154cf3afbf46fb6ab6baf3dc41b0fb4cbe91f32c0b39fb2ef0f3f2262a42fbe21813f3cd5230fb476af8f3870f92fbefea62f47a7a92fb7234cdf297d11f5d8e12023c55bf666f4ef6005c8d58bc9549953d730699fd4ff8264fb23cf0ac1886051a1c4d05891af4edc2fbf792baf24163bdfbe896c3f32f65e3fb6023ebf2ca07d7fb66774bf4993ad1fbd99a01f30be2a6fbd34630f3275768fb7ef1a1f2f78972fbe65735554ebaa9390610c05a5315734087513d8c09862074f653884a096d36bad118d01b4762691789a9a4fb84456418eb0ca3fb4aa9b419eedf99fb865a481883a740fbccb302171e6b31fbdcc4a318d918a3fb2772ae179e15aefb5dcf1b17b3873ffb7673f4189ca65c5d080bdc43f1e1b278e9bbf0411aed639db279b76db39473596dd293164dfc0317fddbabfb866f2cf49fee5afb376ea4f3351975fb9baa96f394a45afbd65b6bf333ddaffb9de9fdf212c3d7fbeeead4f2262aa9fbf329a1f4fa10ccfbaee586f41f6791fbe442375aab92fb3ebf0cd287434e9d6e5b5143a22f6941660f17d858c6629c18cba73c167536ce1e8e78a81944d168f419b32118417e79f37ee3a4168ea062f3684ff8160f7514f3d3335e16d0c984f4e44f5716db178bf3f1e44f1765e6d5f39b589417ffd4263cb1b60b56568bf7410b9931975f374f710f5c7f4fa42325bcbf1b8b7648524f17d3a2bc1d17f181fb389846f3eaf47dfb8dede9f2ef7b22fb6cb646f4429fd8fb1ab5a5f4cd8e2ffb7dc74ef4164ac2fb955678f3aea1abfb511264f4825bd7fb2cdbf5f268318f5c44110177dd73146b7a24ef4d9557b1ac71c8ac855c5302606910468a110d2833d76a203d85cc1c16f25d02f36cc7671902a893f3c335ff186fdffbf23bdcd317eae2b3f3dfb9001a3c8153f3a8edd118ccf62bf491591a17bed596f344cc8916cbf73c423ef6c45d15bc03651b1912a83850df6979ba2a6292c2eebd5d91e87574332d1ec8640e210884defb523cdff2811f84fb900283f397e066fbb5636bf4b5af3afbe896e9f2ed4ea3fbaabb7cf42cfc51fb744940f4fc3dc7fb444010f3ebf46cfb40019ff4ba45685818c3743cc9991ca49c3d626e6cdb6d54ca28d67ab141e2599329871efca9c71b6444e22057e352f45dd8b917feaa52f42bfc1119743121f3694f9818db6c99f3d79c4618989917f426394b16467b0df3b1fb8f19521d21f48db4ca175a186e3dbffda754ced3533d92a3eea77ad2e668dd293056741d36bf0ff6d877943fff1c5c2be22145ecd620c546c1f3241b6b1627e58ef43e187e1951f342f42ab1b917ec3602f4f8a719192312a0f21e3ac51704a731f4981c4f168ba270f48c969c181fea6d40d92c977aaa69c464c1fe0b4fe4ac6e6dca35ef5f6aa19dc29fe940765b492821c377c822552bbe2132b22720a4a99cfbe66ccb18874f90fb5de48618e3bcc8fb7a9dfc174fca80fb033b2e19226885fb5cbaa018cf7481fb4bbe3b1690f45071cf3b545fc7dc4c460fb904a5f494e4710bb28c59b37201bc93c3b85cedf29ed26f8cac231756f41e282b6e208e484d416f57f1f2d56f3617c0a984f402e336196a0dacf401f23a182db681f4e431cd161e6be5f31d3a03177b0239f33755483d85c9d2624864d23f6bb7c5a69c7e2164d4f8ed6167d7fdbd05c2405ff28607d169ffc3238fcc5423c78c9346c614a93f473a2b17750683fbeed5a017f40664fb11227117579a43fbf768d91957ef44fb4994591639592ffb3898db867e356462c5292e4270ba30a3145c994dc63817c2b506ff790c88855f7484a1d36b3cb022b49dc01f39897e3db627e7453b7eaa47ee9c181a325d08f3aea14718447cc5f3ce9d6d187dabeef346352a168c4c9bf38ff00e189a54f0817d9e5867e164264acf9f89a0468af5865b1d0f5d44650780f7a37565a8f4c0ceb96346217425be3f42ddfb460186a443dc4f4f39e726fd2e11ac22fba65269162b0d79fbccdde017447c95fbeeead617a64c9a609f26b64105687099d3e8f96edd6e714832a030810d602862a462e0c908e95486467e4f657a255646fefc1b3d6612ce46f05c183a0aa2e63122e07a4fe77fc847dfdb81f4981cdd5a7e25095e2496ff7c0d982d61f1b45a40c98a5da72c8cd36f9bae985ea04c49826f6e0159848c46d189116c7425229a29dca5753180914230f7d87f2cd1e2294a23bd653c8f2c033180eb015dc4796a35ffb37e5d2a91a83e040b6f9551375c7318d897491c79c9bfd5a26b563d7258cbb89e8e7b06429a6fdbbb519019578d2cf852092d88bd0f2a78859a2f1ffe22519dd8cb507fba725b0e80ca5d8ed18c6087f6007e90e4ac6bd0224e504285c6ad5e2a4885c47c8e5608003a80cdac406c2de6e9d9c33b3d881826ea313c35a52f98773329023e2e2f644eed4c9fd91548d5819c5845a9c356a9e281411746cb75d8b9686bb07213513a6827af9e2d2582d3aaee5d0a1e1582463d496d83be81d6d0003b8586b2b42e814ecb2eb4b31b288dd08d4a6d71253f6f90872d7f2ee65a725a8f582404ef5c515ac37806644d66e187784bf25f74a43c7dd98747933f580caf12c97de8796af508f6ce38d753833fa7e3df673b922672b38b4a3750af52b2e56f46a293d2301edf675a87c40637fa24ff5de154a43f0bf38b907403487346618150454a15be8935547faf98945cf4502f7649b7fb6993be0d924ba7e87e5c44373d6a05774e1f29b0405671ec2d2912145352a9f45d41c46d625518ce670cea41617a3a074385e691abd1d9156a1d614d5fb54f097d82d80c614b6b92cfc8bbf18ecd7c70d5e7049d93d1e01d3208d0df28de97dd2f92b2384b83a3414fd99c8754c10b9e5dd1be2056f367ff898dec986d36884b48e0487aa87651128106a3085ec747b37f462bcf65f40a63d5ef3e7f7cceecdee0471af487ef9a024980f7d83f5964932f413bab5da896195fea92a65bb5e08a7a9bd68e57b2e1444310b9ef9f9b1b0772aea0435d832578761abacc584d3588cdec05e37241fdd2de96b2b67eb007b4e5f9d4ef2a8742af5235a45147c3cab7323fd344569e919373f12bd5554e858d3c3b21c295a1d79c4a4fb2a7b79f3ab4817fe0416134b576cce565e369d8770ed9c2924f8be0dfa9dd680fe77af006c4499b2cf442c3a8c83284915263e978a0343afd905502056046dc7ab6773c132468e7578f4cfde095720b8e785a720e4bc40228f788b0f27669314a5f931b46bd7903017f8e10890fe23b330b2f9651075346d3114f7bd0563a61aa2b540a0abd34d4772278bec85e703c9d214d3cb2b767c686f94e8433cfbe3fab6a77d952576510c5cc764230fd772df1fee062380a787e5e1da520a88c3e08b7c330d28d614ff959b861ecc7795fe87c22712ae536609e6bee407518e19d641c5b653da09e59b8800e89d17848545190aad2538d869bd717dbd8356a67798d9ec5e38da75c9caf09b6ab547b3941643edf2f02e64254d50e36362c41616048da6c425bf9318c40ad18669821964ec7cbd2b8714e8f5dc27626caff71a47bf64d476ce899f18c24556f7820202b9b3fc5f4e77ac5be8c1bd2e3492682645389b4b359578edf64a5a823571c07547829153e647579c44813fa75b8937cd5797249dd5803ee0386f9cab266917789d973c3c989dff5e0de1a65817d238899a57e9e48eb67c3d0321d4dee57cc778c5525bf8f542e90828a8b72085cd25067411b57e1a7d11a4f67da559757ad36fbb9f6f3c55cf6723acf5d58348dc055fce03fd929925ba3f6e40db6df8f0358c8a335945849649d783b52b0006124cf4042c3f16a854dd4a7672206614e215921735710d162219312c171da4b7649882772eb6ac18293790f8a6ad0eb8a98988789622911a626f368e825d45f92441e6949bc1b3e57a98a2136eda230713b4b6c6175aa129315646973336e21535ebbb8b8a549687da77a9c603751abd14723da67adc45dd8ecffb37995aabce4d743db9059e992aa435f87ebf2069785b20d1282e032f87ec90a5977b5b6eb7ce5e14e76816f6d8aa2a99d88a41cda754a8eed7955bdc677bda57b7c9308d8853619ea8795f972807be4487ad3c6ba8177c1897f6ea77077cd107d7b0c6eb9775068bd82b5994983546a8b789ca4fc7e30fe328a23afde89fc09b97d0dc4b878a796bc885f381176c0dedd7c3009868708763778074f1483b056e47b2d2e6f775e060d80613be47905e3c28197a2b2867f2087840da05978d324ca77d0d2c3838b448282d320027d0815b57a46e25386e546797aea5eba75c4748a77a68fe6769eb2d488d27ee978dcf669752152f679d5d4447e23d3767a076168784a958b79e1e6cb7e174abe7e0952b07a7e773b7e902dfe83891d937b603f948047799278c0e56181423661814ddcad7e50682c7bd2708e8791bd117bd3ad5d764ab9e9851e6116883d29db86051203825f38767ecf081c7edad64780ccc1007a419fa88156cbfb8877f0068a366cf17ab74967805410d1775c0ec084f283567a15ff0480a7bab185479db782a0e0027c86b9e58487498f89cbd316877cf25b801767548ac2714878a7a81c89caa1d885c0633589a0289b7edbef3e82b44ae88619e8d979c7e36585e1ac7d81e3dea681258e21841709f6844a668580588df77ba9ec97766b4321899d7c8f84f0b64b880840f485a1533d851767a57d4a544c83b06ffa7dc8b02f8747de5c7fbfcc1387f25f5a8a96d15289712fee8898a5408dfef27fb1fe337a96b4d9119e22eb87a7befdb497371c3793e2cc0aac6839ae8fdf2214934812e67a0fae55765e185b83fc9293793110d187dcce0e868708c67c2d76639bf921f880fcbef0956f67119f67b9559a35d5fb9b7c1ecc997a8cb6b78d5cf38c291b8a8b95baa28623c1f77ac0c1d18300ec467e9c6e94869bba197d07b41b8215ed717c33a3518a2a69078e6c91f6ad16430393da5506a55aa5d0037315fafc42ea2304936366d8c6a231a413a65288914a4878fdecb7772cc2ad83e9a63a83e6830079d593e17e3d6ab47b4116c192d8e6c68cfe19c9af3ec9c39005755d013a19f177bd9ea67a4d820f7a4e487c042afd998ae5808088048d1c7cc641628a98e6237ed84a2e7b4c74f67ceebe667d388172975a9ae8afa684c0785fc93092ba7ee176bb07db75b140997b504ba975669b2c865791fb8b03a2327b42ee2879af368c80edb7ac827a8a198220b7b9783bfb7779379079828ed03eb60c7aed938ef44a98ff16557824090280d15731762a53287703a3b77fe63bd287bed734819a8f2080aac48c8253cc6a75084b27795ed0db7599b7f18705651188868021a7a69f5eb33e38d97dc4fd1985411d5076c1516a76d8de15829ba8e8861fdc0f88aa783f7b9aac607cc4b52478d9b68f7d03c7a57974203779ea94e0764e1d8f9d8ac846a5eb023c84085245853201b782e10ac287e06f07774edcdb8465e7e67b4f201381f6363f8327e4cc7f49584576e49dec82aad62b849a18e57ddab9dfa1dfa972a6a2b7127f6d3b3278c7a2f881f0af98824535538250c2998900cf9b88288d2778e3a5a29607b80c8af1e1f989ebb4ae7dd81bfe750a478a76390a5b7b16d7b9993e2d42cf578d667a5a367b78e9f23b7b6d993680088c68756815f1891602298a214723abf3ed7f8f93785d8a60b62d7f9eb218890b14197c055eff793efab48717d3f3b1cef2697a0b0daf7db98d5c89fd22457b7ea64a823c2d0d7cbbea0f763d9900fbcd7c0993dd268a901da4f37cdd3adc772d0a257608a94f6af2ecfe8990c841a548ad0f0355bd0b81c8cd508356dde386276d8987e4c8a17eae24597cac2c9685aa9cc780e78af9a7128b35a7e9e43f76e95770804540f4893590636813988480ba2f139c9f0c55cf83ba19860744d489391892880cfe0388f03fa186e898e57bdd04e379cba8b8fab785aa7d307981941cf013891e2b397be66ac778effb7b751ce013894acb3e846196ee03de219d897ead1781e16f55890797767732717b7de9e02981710be977bbb463fcf62c2695d6343a977160de77eb897f7530e5f883ab1320711d583f8542c6327aa93f847c26e8ae8708649b7e8188db85b068b58886efc983bb205d897fa99c8468f85ef91cde28a52f53e29aed1c0d7f8d8119889b02c485d946ab664e23bf880482d580c720ae03112885d3da3ef5804946a079c54cd5818cf8d489cd3b628376f4f882b02727872cc97d22c71cbb9c815fe9843299d185b9f9268620db128aaa5432880e540f7cb833b28a1d5a6dd08ba32078d731a87a3e5420770bf03f8511f95e7a99760a8607a9747f5599b1fab4e9db81987a0e879b025b7c8d6f6978d1bc797d09ed717cc600de87c2131b8498b4da03fa05068478a4b287491ec17eaf7e0c897045e87ea6f48782d212087c4ae8261d0f6f8a88c0755084709f6979ab8ade7818d3fd752beacb841a37c8786bccc77c149311847b83808ad929b8893b3819847bd2c27b19348181d8928287ace0be81a2481c1b8b644980cf780f771cc794839d461e7a85872d8038e63b7e25abcd8744d4f87b76233aa0aa52ebd7dcf395882d352a8351529c88f9ed62882f1b3d8a2e67d87b6dfe6bf8af405a83b1c9a7781e89ca76b46e807b4dd55f83761f5e88a1414e8af230b1851248a69d78bd977f239dc87a30b68d7f59940889c67e1177fd92fd861dee88864cb1591be244838471e77587929508875f678889cfd22b885a6c6081052f387e616a7a95bd77bbb1b62c138a067367797a4de184bef4d981d4d4f285ee3ca07ddad63c7a8003257fe6a788793612258267cd397e8529538850e641762ba213796a18c57ed784b7a52fd508a5ff20d6869efabf75d4df5f8a0e37078a9a432585d194c478d9b3b2786337658a8ca57d878c9eac7a19cf377e01f38482fee8c97926b98085796ae89e949cc590dc73e87d162af77c02e8088786b96a808534d2869636ba7c3117c086a46f587ac74f0e7ad36cd0806677b183ef845e870b1448822f4aa087dbd2be7aca2314810d587d869815da803de1e7855f800b850d17f47e7a1e32f90724a69a3f96087f43ea127b6a182a7bfd348b830732597c4f97457bcdbd9182687a998096417287ac455787b3a8cc8246a11e03b6260486f3a3837effe43b89e505de9b95289f9334b3ab840b670f7df76c63884d12b084dc574579ebb4018104286881d85c12861f1510767af346872d88fb86b01c9176e2bb40dccaa58cfa8517f60409c52a9ecaebf394ed2204a1499d827e71164f818c8ce57bf993528a8dff547c5a128f78fdab6e8acf492e82caa1737939ff837903492c9e15b105837ccb6c96d364cea13718beab45cc63a4dbb267872ee9ba80433d0f89b982877b7aa0437c178bc57cc9db49812ee96d839b96ec7f3087a979a9fe4f8942f577a8b8aa46a5009723940ef30e8fdd242eaf54b30298a5b8d579ef96f8844b5bf77d5e8fd989c2dd558aa5f488833c105b7734aa5889366c7f787df91d806ecb87859e787d9079ff13a63b6b2a8b01851c8c0015a1a35783748ad81b147ec9a56b894303be88adf98775b82cea775b4f787ba9ec7675b3313d7e4d8de588bcf81d8969f4238d5e69be94a58fecaa4121839ae315a69706ddf68a3c56d97b031a4487a743597a04bca87a08df6284aa30628a2da15488948dab86f283667e2ded9e895a7ef0864a1ece89683dfe7946884da33af14bac9579888c54d36097cbe562899b6efe818e3cda7c6f139b800d6a0c842c6fd87c625ffc79621e5084fe4da9803ad79080c31a237694b56d762587fe7576d051879db28578da6af183a7ba867b838b1388eb4f7384144be37e35e7437bd647c37642b8047bac91fd8509359281e07abc84e38bcd7b2ef4177e16d7e4829677b57b6a3c1c86ffaeea7554a4c381e629cd76f4b5647af3c05781599421804f32568846ba047bf5f23485aa42797d24c8e1823a8f7d7ef5c3137cb9f9f17d9b79c5771320817ec486607559163f8aad94d487d96a8478604ae689faf40f884899338a71ca6f8052b3ca7934c7b279ef72b6833c2dcf87157d32833183f87e41530f850d5f2f7f6271647a08dfcc76e52240864fd8967f99ff6c81e8509d75436ca985506f117690e56b82115360820063ec842f79887b035b9e81b91d167da253ea76c2179082a27e977eeebe1482cc8030886afb707ce3c56a868b4f457870aa77776ea76c77fd1b65780504aa7812bf8d87f5700f7f4a42167a2d9aa485e8eba27a02a7f98750398e754c7f1c887ba3f17f01a0b27dcbba247c8da525856b67a37ac57b168437f122843eef50897e485d7de3cc4683d97ca77da1c35f7b1e65eb79f4b56a88bc1597889e305e7b62cb8975661d3d7e1b6dd27fe8bc4079c2f3808adaa7f8865c81887f9797c6852b613681a2003e7ca021df7d2683247de48b3d806d107e75b2c9a0758575197e3457fb84c129f88193ae7b80eb7e668391225c87e994eb86a62a357d2003e5822c5d6989eb3d3d89e4e5fb82447a8c7eab8af6799e71b775277fe87aca187d82215976893f7f4277bcbb3d7aeab82e82a4b01789650b0179d29442896852507cef31227c8015c47a1ebf568a159a7d7d797c5080c1995f7b5cdfcf7e7743fc81c01b817e6dfeb0770e1e5479b355ae7be5cf2d8905addf7b8d5d8e83f57b35834e903f77ed5de57da439b5794eca49779e6a8d7f03743b88c0da998279b2597da81b237ca9466478589160773815fa845326708352a80576e0dfed75c23b5d863773717622b332872989b17f3d4d2a786f7f6586858e6981eb61547e87ae438220d4b781ca47f88066367f77171f6a88bd47c281d086d77c69edcb7881ed067b7a423b84e9e73d85d3a99788c01bc985b61e8d76b1b04178483ff5807d0b4b7ddf077f82ea658b811eb49c8866adfa7e3dc41d861bf6b97b1da66c8463379688ba6c5778bf607b82eed76178484af37837732a8261abaf7cfe95a67f144ba6784c62e087cae92979238bb68159c3217f4d16e97d58695287eda5f579b737557e8a4804765d5d4888738cf9790689308957215e8069a5c6889500347e88bc947e6cb65577c719ef8680d45c7d6f8aef86feb97182e5059a7b7b08898a5ff7cc7ae2be8b81c89ebd89ad77c57532305b85370ef17ad5c9d68482fba7880ffdf18283140b8a546afd7f4809617e5e7dd8788e9a0c83ce42227ada17358838520b785fcca87d83ccb57e3cec797c81ed177d3797b3796f6d557c59827e879f99c49d4094599d8f2e11a25021b88741121578fcf0f187ab6d9d86fe9540800201cb80da5f0f8072dce8867182408610c3e687b517098405940177a3c62f87a11de7a140c6518b772ffe90d0ff517a6337bc7a4731e884f009e481c9ff5d7e10aaaf85640f837a9ddae585f677827570a3df88fd176c7fb821e581e3141a880da01185b9c74d91a8d0adb5a830b98a98d596854b503a7f71f93979f199b87b576d82856732b6802081e17513731f86aa71de7bab9c0b7b9504b77dd33dc588c3081d8711a6d69ce9d132b70f581690eeb4c387ef1f3f891488ff850c6ad17f65c33c83fb556d7a7593da766c6ea289b8f2d4773175507ff665ba7b1b1a07889b55d5872eb3a3ad2635c08f9e5cb1abf8cd4880b438bd8207fc1880c7852a825ff03b799761ba7d45ff6e83f3c032836bd33c88f9528b7842413a8acd5f41791241c6797e00768626b90a94288aa1a5666113b2936c9e8674c93378bd4b018435dcbc896f86f58183f0878944c2787e8bc6a3800e95f28030ab2f84eff0738796e3f086a3bb4a787ab2db8e8605e8029dba41fc0fec099202a3146465e9e48541ca737910aaee828218f280c17cd777ba82bb7f86543685b164ef7c2ba9438786dd3a8a7b507f0163f5d885402166773f8ac7876b9d607ce33c1c7e19b2be8724cf6d7c03e4fc8980c2947b38276678a01a957f5b20d979fbb3b980449eb677a3f51a7f85875e977409adb1d85985923d3d9285a373648968b7367a99c2bf777a4d5e8bec6933b49ebb36866d3b2a857b913e801439228606bf4879af072c7846471082c4eb50792a9bacd048f7eaaf50a4298c43f866892c81747939ed307b3117b0807c33b579b10ac6ab76fefd84ed4008863e54757ee60c6c84d8e57b7d6f137d7befe98b81fc80327e5272b490077466a3fa75cc7bd93f9b809600d4816a061682318eb88537eacc9f21a31596839c47862c81877795452d83768f2486d13aef84288d59805cf1fc7da8802b7d5c2bd79efe2c8a7ba4035a8adce0c37c9689f17f1addd17ffb0d3d76923ba99a5f20aa87138ca276bc035f79cd58d37a36caff7de1d482802d1158980da6d278e6c8b2b0243f45784809ef7ebfcca47fc88c2e7670912e824b6d88813c80618ac0073991fe161885080abf80bf4366782a53be7d00c88f7c081ca67d279ca488d6e2fc838529d8da6786987e49e16a8672369b85ea9bab7632300484fc094a834564e5821320058750819d787050477ac7c6fc85a97c4c77ce05b385d731aa81ec7a6b7b21116d9f402da080b61ed37b640f807b9557458322ba2980bf02c67f26cbf57f844a31f92599597dcabe038254c80a7c11f9247eda30877de65f277dacaa7c751e2fb2862d35b4d8ab39677e7c740f822d9a4b8286fa6d88fb38668752b38b8981ac3286cae9891c02f27487ab62bb7a1fbbd7830cdae57b0009c67d972b7b7f732b0b8a8c270a7926b9557e26b965778754407bdb421988008793830761d8810386eb891e616e7dcdfeb21daf446f7f4d284f88033e8284a97cc4898d76f6794403cf75b181cc8384b694886398b385b1ed06868003e785b80f6c789337238259b1cf8602d2ab82d17b4076c8df6b76b19eec7db223cb7af598fb8416b355867f0e5387afea5e8336d12c79d8f7827d10ceb685f72b9b76943ec675625f6c7b8ed07d7bf0e51289590b7789512ae7f942a87d193bc3b7860cfe8b756a23c6798e6bac77e4c1b776f9a53082692e80857c69bd0294a0e67cb08c0388f86fa6869b434e7c16188e8164bc08860b8beb8269e2dd7fec151e79bc9e1880227d888822e976806f499c7e152e227e8bf5fe7c00c82481e898fade846be38140e0277b84f7417c4f07417e06246179c3130784a5407a7d9868321b0570a17582be397afa231e825cc2eb795e065278485135838804da8666c69177ecf1107f5355087c41e7a28673c63484afc6d57e43856c7d52fb6b813af4d0844c1f6f76d44f8783c1e17f7db42da482acf24e771cfd3281b546ac7526d60b8748fe1f983c79bc753462cc825ed78578bda51c8887083f82eb0eeb84495f067e0fe4491cabd286868a4831815475fd818f38ea777403c98871e7ef7ea3c6678512d81d865d110f8c34698d7554afad851fcdd8810c87aa7b7576bd87b58e8d783051d57750323d8688983780655e137f06774080977ead773b79897760af1f7ab713d97c320134a58490f57fc391ec771c748778eeed3a83d8e5cd7b0c1b317650397e751e2d439514250f8869f46e7e32011f7b923bd47f1415e87cca2ae676abd23088e0933786f3370faf90fc5c7a11700077b044bb7d6b67398893c04976bb6ce7844caacb8e90150b8a47387d87a7267a8092e8f383250cb87f92304877e0684c79be2311806aa14e90e6c4b184e8d9447a36415e7e985d2b781cce728a5505d084eb7edd94a0c6317d564da07d912216873720188445ffa3887be4cc850b4ac98349c4fd77b0035ab57743148037b193853c104580ad82d77514159f7eb4c19d8ad4e6aaa8f7030ab738f7d0840fe4f07f92831f80181bbd80af198a8857912a874cc3538aa3a9b184886909a28f67ac8db04c29208044f37b744b1d85543f9976bb1265857df9789baf534c97fb418d816624f780bb2b107f3e951479f5987581800a257985c88e7e6c757b7600a4c1a0b45b9c9448f01495730fb57c8b73cf849c925379f7070f94c5f476aef6b56c92385d8c87d66b3c89f469477c88869387e26060883f981786026df37e2a19ef88f051149ed7d571ab211d0696fa4b4c925b06cdf90b12b2acea4cd994d5f38fa9096b1baa1006b2833d1705846fd93c7608d46e834a25df80a5acbf794cb5a77e37326d8a1b3e6a75d1efd3932d0e509fdb5a679bdeb55f839591fa9214bbeeb30790b58de9e509994ae8207b4929a68874c20377692e2b81b23c58827e0750779f499b816087c97dc582d977e65fd27dfad0327dae652276a0e4e380c964e3814df92e81d70d058694216f790b798d810e953b86987a5c76f1631e7a3199107cecbb598a1b5000879416c67a433d1e807fa9d0788b7e6b7d6b1f6b80f450b3784ad6cb7e7f3d7789b09e05783ff6838450b7a67c10fd09819ea75b84483429889117d079eb12ff7a64ce877e86dd3a7e44c2e576c4e4c78992dd2184b41b1083ad8de681a2659884516b99797ea68b8a7c3a96812140577d7050d186273ea2868625a48003f62486497c2d88cde11c82c797597a68273a86fda03f7a72d19a8025cf8e85c3e48a868b3d3c8216a1b67b863b8c7b9eb9ee81410b977d9bde3c7bcb1f817ad4cd4283a743b689f40f92893852d2824564128963b528848678487e4cd9178a6b7933817714a683b4a4d1794593ff83b695d47e01c4fa7facb56682ef67a086e7080681fb67627f9dcf917c8438338385bd647cffdd427886d68784084b84788f721284ccc1ae804a8a5f76b0731179ec61a875d319af7742add57f49588b781ff5878382a1be75ad9fc286be0da075eab1bf8001057f821ebf5179a17bce7f95c3768523d345893eef997f9803a383b5587d7ea65984813428377ccb4377750e1eb88273b48686eb199e7d47431b837e5a8c76a2000e8217f7a989b529a2871d00c0889cab9b8092fa3982b886b4760832407b0732107918d3578636b48d81ad9fce7f8b4f658a51ac688904d5e378be8fcd7758862e7960512d88e2602684f06ed37ad84ad7875f38518621ac3d84c5f94f83c105c17efc6e887f88864f8349f38381003f2e7a1c0f90805953987e2d11df7a75b7c276c87a1d7633d23b83f3c07b7f271a99754485fd89ae19697fcf49c475db428f75355e16875ac6f27f986fb77704451081b5ab4f8199c9fb85ddd5ff815bcdc98699d0da7e40aa8478d7a8217de64da08891b21a7b6a4e477f162aa184ef848f7963e4ae7f55b2747ee8aae78113973e85bc15dd7d10eb9576c3541b853c511277f7e38d8129ee7c8277de3d8425f39989f3ae567b08c297791d942b7743eacb864c9f9581eaee987a2bfc8e89b6255189a1a604884780c6894f322383d6c503779d874487740ab27a1987977ecd05c47d9e42d37e9582c97e93a3827a8b07197b60807e88ec27cb89c33ed2779cf7a38491b29d87e8ce317c7606967c1cbc427ff2a0a4895ca50c84099aba75434fd6808ec5db790bbae582d59a267b2193377c198e02882392d9786ce58185cd223a764444b782d5ed938493f6fa88497cbb88a547368407df8277524747800ac52479c3ef9379b7ef637d0a7d448ae505fb85d2000b81f89e868a14eded78354c89764d69d6883a67ea761f730d7c1660c57e4b910c7f4265d77adf24907994d9e97d9790c1794b25d48978b6ca805ba2e27bc9e65c825d47877a0075ac86e4f7ef885260a5894e07c382873e7f7a765976775ddb657c9d6a5c867224b68795a61e8a8b32bc854df9c77e2bc6047b471f6c88dafa7576b252ba86dfb46f7752befd880ec0ba89b9c3e67b955e41806d104688ebeaee817da6207ebb5ae182a6f4a0802140548aa224798a7d8296828dffb27c268397866c75ac893ee4f184c092557816be177d6cf78b8489c31a7a8b90237e0af46883a3bb458803d91f7f9653b476079058880c6ad07ed731e88555f31a8873442379ff13398a14f8d9820ffd8f882093ef7c55feb27f2c15658a7e072788a4931b7b7afaf276a3bfcb7fe65f8b848b0e817c89f27c89ae2b6f7653721d7e3a842777da587b7e47a8b17d85eceb7e2451a7855fde4e78d14ceb786f37007e717006847899d67a8015b87736eefa797b3712870022057a8176d47c810a5b88fc1b51832ae3317c6844e189980a4f86a13a727f5a5a8779c873bb79335b6c7f58e0be819283c283f594d77c459a187c4f3dca88dac04689497cdb7571e07b76cc02387cb3de3e7e1d82c389e2b3d77e79e1c187681c76786295c77a50157483bd35367f2dbec389cbba5088dae83a7827781a7e48f7e084e31fb586c9359a77f83d0b7e02cb9a89ada61b7f89b1e87a67d88c7e6707427b99938e781946a582d18214818af57b892ff7ab7ee8989c83f05c297f6f49ac7b60c87b87f337348746433583d576bc75c06e6582276dbb7d4045f27f54ec7b8095e77f8111b8f19346d17daba9fa6da11cf467aa3859288f3cc3728b9eed0699dce1c498a94081abcc74dc93adc02d80a611e69689d47e76d8e5ef81f8df167bee356686fa47db8079296890fe180ca68ea14a8fd585aea5e57284b721d15690735e838c7fa9fc90139b619ebd8bbb885e595787155da79923dc97853e25f6867c169a89cd4d7d8155b2fb7ef283a7b6a01fc59039f30d8be3f2fcaa038f8c914e98bba90e3c390475cfe121366e6c9c95282d8c24ddfb76fcd3e8a12ce52f8a9e9c2b7dd731f887e5e10678796af378db30477dd29b5e91d6efb598e5c645a6c33d249705e638963a36d927ed7b3f7b468fde7fe61793872174c38c3c56c8806533e4946850c47de95ea0881d24437ecf66a68911ca7183257cf48036e333b14fed0a94b7f8369e40c24ab15e273afbf4242f7bc014267d0d46218697689281f3c0707d42369a96dd92ef8486a7e285868a19877702ab7e74c2ba75911089820964c58cc1bb5a8d0d6168ab7fe96395f8046584913b5e84dcbc9d7d691c4f781880ac7fa4270798fc66e48569596e7919b2f9850b92ac7fbf720d7f5d9a7475b3b304b5ae023e9c438c2ca7b54f16ae68e4fd8838b7e27e9bfb787efa2ae5838a890d7e50f8278074ddea87b8a32d8a8360f575be9a587cd02c0c7fb07aaf7fe7789076ac2c098d48130bb71a90919c94084e8ca2e23e82e93a1c8744d405766af43176f3135e8af881de871356c17b23c142a4336d307fe8ebea7646c51f7bbff01d762d648178ba9bac76c395cd88e8eb12057ce8bfdfa887df81df2b0b8a88218882fc269a7918b6a085ab2ca1813feb8f860249749eda88c17d924dfb855f5cae8124b6bd8722e96f79f4a3c37677f0507ba3a6290509290add8ea2a189b00a0c83699ad087dfcdd688bd35d082444b5381864d367773a2068d65335879d21dee7c9cd324817c45bd793abe9a874f689495c77f489a9d579b87bc5d58813cc8ad7b4385387c0e66b7818d118a7d66129b8af10519864c0458a4fb9f2586dd3a327a2bd82c8087913a76c34221860ecb6b77001bd794f5078d84332c2a7b60e553865d064881db78b57dc3e43185337fb481f4b58376b372c08951e20a857ead35856815ff87070e4e8afdc4007de575328529774a79921e897d22a158fa6e65bb79c5579677223ce77887ef4a8381acdc861a660d851bf6ad8548a4ac16a756c877f57b6a7858b56a879a0d6186631a0281c6bf6a87194d5c8932e4969bfa8ccbf9895f23810a3cf07f65286c78f45bbc7524f7aa84178bd07e3f08cf83d9ab8fa3c8e08576fc02a08a8bcd767df2d64f85af6114827e7ee886805d0476e6a01e83358240fc52a107896e9cf08443329d7538f1f7777befdb8471d5da79adc3ef7bb534d317d69949a6c15000822b97cf78ba65ae790bafbd89fd4d7388d731618871772b831631ba7fbe213a7d233828890a8baf80122b39868a89188a677a57843f5b4c7b895ef2f6a8600f8da00b8d7672a6f5894c7b4788a22bf5863b8bcd7b36eeae7cbc7aa388c0c8e27cb9b1a97f18a43e7ea4155487f1c4797fae5a397d739757783cdaa27b49bdd0b0f72f2684eba23585974f5582e0bbcd7f89f90d7b1d5eef7f7c0f586bc4f47e797fd19e1aa42fcf7d7b08a1832ad13d7c08f1da80f612927d6ea7ea825ba91582df3d60b877428d883129448aa6a1a8846f91f9772b61cd819ba8488817d32b85f3e4827b464e3d1ca62b8d86045e467d770d3e781c5064851cc3268677d3407e6ad78d8027eb5c9da485877c3964d1773c6e7f80b9287481069b7c7d71e72d768671e38039e2f47c8737c1849a065e82acc70280fddad8898f09ac893398c088fd17828828f2fa8ff3a7b978bddbfd891bbcce7cd8a43685f421b5879893427abe2a5d7697bf85825123907933e4917512ad6c7efe17e689528444878994ab7dd2121686a3203218f9ccfbb539f89d83848054883afbea7bea82be837a784089d74359823632c07c7fc62489ba9b2b86aacbd77b6fef3787ddf98777f641ef79bf6031824e12818604e00ca3a529537affef3e821e12c889d10b2787e00a2c7a784ac0764444d9838b73ee81f4aa2a97f456c188aa1e7d789f49e37e23558979e30dd37d36d11778d02c98aa1cca728171e797839ed69f840b094e7c2efbb8805fd3ff8517a4d181051d8582ceb2c3800cfe9eae3e68e2814702ba7e21befd811b7f9383e9b1567e24925198062adda32dbbb07f51d0827d6122a880e0f14c850dfa87893da07f8314d4a184ff784e83bc277b7d83883109d35d4a8746c5a0792c44ad75dae83c7b9eb9a0825c7a1b7a5d52ce8506078986a9466684c7fcf1898c81f8824fb4347dd606fd81d8a42c8af1053179539681856a7dcf8dd362e41904e8497e9462097bc026c016948e1b8652962278811c51853e421278d9878688614d6086cd29d0821c21a97c8adcec7c6d87147671ce407bac0f55806881268f947260a23b13310b5edfd2a1c0c7f8940b8d7877b8c70b775a94d57fa43916770c1b2089645e357d593a168549cf977be181487c77cc1386e845a07535f2b68cc3f93d8f3201b17ac14abc8a8e117eb15ff74f93059ec07cd0aa487e5ed0d4894d0bfc8508db8380e04b67780134877ff9a5b77605c37786ff0130841ad252763105e8a7cdf2757929c75685b799a78a41b690a64996109aa444b7781e368c7c151c1476b3433378a7557c7dc6249381bb4f0d7e01e8c384f2d645887c0fc07c865f978c4b78dd89d64e48a8f454d57ddbf32d96a030748c39814a86ace04b8015be4b7eb8fde777fb7df485a3973f81e1881f89a6ba96887bfded79b98d907d9993f17ac0a40595b5684078cf95c1a99852d1ac70f49fa4fb34fe9073a422856b26b07974203a7613ea107f83cc6088d6e2587dc16a4c80414cba885367f67e9707a4890619d8850c673880f670ad8be94c86962f2c84a966d482915be34883e82c40784062b17e5ee96e76f09d1b8650b0cc7b4784d3877a25967d8c441d7df761db7f97a93080897025826283207be7378684332cfd7e206f437a63498e87e99f8375b4f75189bf8b8b7be32af98687c08479b7aef885f88c6b7d8f846f7bb3e9da7fe558957f0009dc8643a96c7e9b148879dbc08a8215ff388aaa42dd7f4a5ff0811ff1f5818e06e47ac8cd4a86f6eeee82aa30b87abdf8cb8432542b87761f5d86f3b5f486b23c8077ee9ac2777d4ca1751ab2a078171f08853d0527878355ec8757913e781726a784ea9b1c7e45db0980bfba027771e0358258eb2e89aaa7b47f5db73d8a47802a7e321e8879cd346383673d8e7ac4b55884a2772188b2a1717e6976c180ae9b567859579c761d69ee7556b9cb7c9bcc00847e071c82ac50d27a3433ac7948af2d881523bf894b91237b1a1e3c852750dc82ee23dc7840452f7e8cb0057b6d34a688a7f0a275f08be77df90aca76059f577c7397527c7d94e488f744fb83783fed85d5939b8708c94688cfb55b87f8686577fd51968287f6f77f337fbe86165543771acbf4779a06947deba203803e013b8a49172984a08d288449cf7d851a308c8172891783a59ab7898231ee7b1d704d848613c57ef62f6b81dcfd4f8026b9d276339c607d0b676a83f0d3d784e1acfc795372c67f94212d875410a28113cda37a1ad69d85a7d3d47ab6e8107627012f8823792085b2c5b689fe4230843eaee281838b5c7c92a70687ec03157bee18507a9a351d8019295b81ca605a7d1004fa819dab4179e63b4178def95b83a56493860e428676c7480081dc339c7f00feb180301bc287f90a0378d8c1e17a6993787ebc03b389350030881cb133894851ac754fe3c9757a3bce77bb5ac287ec6f8c823ae93f7c3e78068122c5217cfa0680878cf8e678ead59586af858e76f8fc64824caa7889d3a99581f55e177d90c1ee85430ef689c81cb975e0b45e7ef2e8f1820350b67a2d52c081925437839935b97f93ae69818a7e838367fc8384b5e10477daf33b87a7c180893f7f5b8100a4f081c6bf058280f88b85273e0b7f0f374584dcc70782d2891d7f00ab0b7f1e19ad813f50de75676c0f7db93a287f5e4e7583c117797af75a9e773e951688613b787bc217e47769ede279fc26547a405786859d4d487e9e54ac83ace08276357bf07c9d87be829271698a439ec77bef84018a124f4d88fbccb8778beaef890c879076ae2fe2885dff2a7aba41178a9b8b9689aacbe97de235658477559f819271118213ea9089aebfd081aead5a7ad987af758288d4891aef73819d8e8378a9c80579c0f0cc7805d523830a2a2c7b34aaa67d9c09937502cb4f8399110585a810cf7aa48c18812e3174836bd3ca81b4c8bf7ba55280851385bf7a23cc9c88e111248a3f7ff9836565b37b2886a389ad82808143d8d67b0fc02a7ded52378414f8ea85680a7c82021ef280d13ab77ecc26c478415e777595212b7637ea107fdf85e97da2d1d57877a85a8f054fd87817cc73785eacd181fd4d1e7ae8507c8608649675ab49ef753ed6a17d82594b8a75be6684e994417ed008b18982d7a68085346c75527dca7e4cfd827c925fb18a26fb9c7d83969e80d5c962781e2426808f9d187f1c7b6b81bd23737d36ad907c5ccd9b88c213bc7a2044cb7da30eb3848296f97a858edc7e66f5c1804dca5c97e631ac8383d3e9924d704e7be766177fc283e37e0940a081f5c3a577effb0f78d128dc7ef283a3849ff6ac768db7d7864141ba88f4fd0f85ae908783c86fdf7aea1d9976c06eac76d5395c7bff787578c2e8a180a0864e7b18d3047f8188748722b30178ddbcf278d68f468626d2a6818176b87618c81588a141c77d688c5799bc773b7706b86a762f8fd0795bd82a762766388564453c856c63237a9993867c28980d81e372fd82d659ef7c1d1de3817f0e7e7dd36cf77e48e5af80200a027c2b7ea4805127f67540e4ce77fd0900783fae4978ff664c801c57cb775701257d12f56581c313ff8387e42676cdc80a7e0541767dcfefb37c209eec7ab27d24874b3e52908b18f993d8534d932c7e948a6a2a6a81bce6f381587bb77d9feff67ebd766a7e14d49a88bf55a3791535c2888326787a68a97579943e53898613d986d8a4c189c1bdcc85633e9d80a826da754c1a851dfd44aef8d62ba41e5d0958f764995a18c37b007fb563ce7f82183f7a42d1b57d7f0edb788f604c89a6c53f83c6f508863d712182a796a8b87bfc419c5c4d928c461498b3c64e467df0f00577cbb3bd7cf9b0af84652f06779b180e7630af657d3e83c487f88c648321596d777838ed8534b14086f6483682494d52a54b994fb14cdf889674ed6fe45cd01677fac9c77cdae8f77eb63b028737324d82d2775d7bfb0d5d7ce1a574786c8be787446fbe7dd4cdba808b3d3e7f6f081176c736929aec6cdb931c365da2f60b657a63e42f894e61fd7ffa064277e70c1080eba22c7eaff558792e18c983a481be75246e828625a70d7787dd30804b1a267b30c8b7907cb36899915363b8a8da7c832c2e1c881eeaeb78400f5279d4a987769820c27d35d5827d56787d7d35e7d0838aee81787bf6f485b379f08946ba9e85f36d258811ad0cb5713fe3b036c48f803b9dee809a182a7ef8bbb47a816fa786238b207b02837b866815257d73f59f7c2c27247a456f3f8a7df9bd7a65d5ae7c446817839bde42b42288a1ae2704c77caf078d7b2ee94780d796e57625ec0d828d2e037ae850fb8070577a87aa8a7f88b9a6d080448c2a77e563cc89ce9c0e79f6a63779b5abe08996362dab3a1b5295f3a0c788b0816586d5b7c7830c990c78718d2d7ab1520c7945c9ee76279178835aadc77e936d187b67e3087a32c44e7ec7d1317758fd8d7c7db13a9d7462d78fddc781813ad7a88792a79383b4fea2758dc2c989eb612b78cda49f880c754177d7a15284f6e3418453794d7fe8624288e2fbbb792480f88789534188638656a9a84e11e2c2212b82fac52c83c91c0177bc320c81463c8a83a6d73f848fa8f3827ef5c586fee8e884bae36783cb26f87d28fd03897ee3f78490229887bbc6f09981c9e595298684870f9102839f9c44890022577c7403908286427e86c83960881696aa8591a06683b7b5f18627b56288c3c7a28517f01f898dbed87729f9d37fd8d3af9a36f8527b9f8ac97fa81b897950df3377dc74ff7d172686884b2c5e7ce34ea786a10be987fb8b28814606588577141781d0ceb5780080dc7b35b8089af50605a632ae6380b113b9841f448b7c53af8e82629c8e7b6d462c84b529f8853fa33e81f3541a7d5da56888347b008ad8f76f797a7175779db675760aa19a88e6fa9187b1590baab17eb086d71fb08185b2638ab04017856421707e37d805881cb15d88724ffa759038b588f69ba18984bddd7b47cc747938328d8319a72d7e1ae8ad862912c98eb6d158a54eb704887212bc76e02002850249b477f2f3da80020c547fa9222488c3b52c7c5b7edd815e06c4897fd88d7b30ecaf79f2faae8243c6a888761f9395281ded91edd4141ed0d5b978f28ecf8091ab527827aee97c6e424082b75bd187f7195d7c9a7df67ac230ce8419a0958948fe517f51c93877cbd7fe7fec03fd81652fc6882e1c87996f89b81c7afb5c7a5f31277e51b72685560c9a7f80e6cf7a86cbcc7cb64d1778f2c4f377c4eb0b83f3ae66890e01a978324d7d80597000884858f28894e06b6e7f37fc75b98dd887eae34880108d7b877db89d7722e2de869b79b580e99f9e822fd347852df4697514cd9d7fe032f18769db56862380f97f929572899eaeb77bb3670d85bded4318a4fda9827219bb87696b6f79f05cbd858a7e6d8901e84b76f7a2c97cda5fd17fbc7a1e8244d4ec8081234387b7494478ca6b05859607b68926aee289951d3d82e6b2a1769dab9f826582fa75eac33276de3abf77bf1f7a824bd2867eee2a257e93912887daa739834ffce37db83364850947b6875cd437897c1d8d7fa90cc4855ef0627bc0e5568409ac0d7fea82ce85b07afd7eff01eb78a8802189e84568772ccd0c80b2060e7fc271587d5343288876315283a33df2894dad79822b0e6e80b9b1dca037593b873416db7a3e4db47f87d20c89e8ce2aaf8d2b4d87b39d3f7908f86678bf43fe821016298197ea5188eadc098aeff09e7b3ee8858894b85f7d11b12c782ef4e396200a39180823cc7dd0a3477c6ad73278c7c6d4ee5bf2d17fcd6a4382b4c84583ab5b6581b8d90a7d0d46737e1dd5007aa0083076bdf83a7b62a7228138a59679ac983ba1759f3791f434af93ec47b7156889baedb06e6a8c964b139ff953427a3de10f7917afb4882cc93682cec40c7da128338a331abb76fc26618946cc1588e546a6877ff118a6a39c919a6e8d7598e435f3adadf59f9050ddb694d615", + "proof": { + "index": 3, + "siblings": [ + "115442b51b4a9bbee6b298a35e3acf1fbb2b2b0e347084651f028828bc4cf414" + ] + } + } + ] + }, + "job_v3r_a_proof_that_is_not_one": { + "kind": "job", + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-6001\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":2,\"root\":\"ff16318ee859c9c509c82f463b9db19f2dbb56f37a89a89a990c3a93c1734355\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c09\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-6001\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"45fa49b0740e4291ff82ac398db6066646150cdacd3c9db846b2b0020c30fad0\",\"sig\":\"8f0b086612e9ec99e0a7528bf209d9fb177aa434791ba16e7cec7d5c5144d291a856b0a732392aabba3da12460f6281d66b5c94be930ed4869059a3cc6a2da0a\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c09\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:6c5449272b5fd4cce2f0277ee502fcb6787e712d0d6497fe91d2b3585447dcc4\"],\"output\":\"ff16318ee859c9c509c82f463b9db19f2dbb56f37a89a89a990c3a93c1734355\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"30.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"30.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:a0d32db5da7481a02190e35f185f09bb7f64b3f4708949701c1eb8967a4aacee\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"b429f29acd1fd05985f00090e400545e14eb945c946b9efb08a2c56d1ee468b8bb11a5cd840c5dbd7ab9993be1d7bbef0d4677cad7f6fa0f31cdf15e7363d408\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "receipt": "{\"profile\":\"wai.video.int_motion/receipt\",\"codestream_hash\":\"277865b574029f700f4fac023de3ab06ae598ee6f8ed726444e91442a6bd59e9\",\"clip_hash\":\"3492566e8e2682e3b3bac083b4db02ef8eba9a7f15d9faf0e27feee0f6eb488c\",\"h\":48,\"w\":48,\"frames\":[\"e1d8e8f8b5c534be1421e5858ed9137808ddb849bdff2bf397beb32568d8eb69\",\"ae7214babf5bbd6ec279434740f3271be43d2392b8167813fa557b5c4426fa14\",\"b3ef86db27b82d303bc6b612cb224ad55259b4f2e2c0461c74dcce188cd64b99\",\"3906f91010bf1b9ca14f6e2ac9b499589ac02ff4465e1d9764a22443a8b29c22\",\"bedb1538c2071d705d2d3ab2df2c569ffed440278494649f9bf1ec881561c519\"],\"merkle_root\":\"0f3fe4aa201c275c10289c22f31e7211b555627b33a251bbe33d094abada6508\",\"work_pixel_ops\":34560,\"joules_micro\":0,\"uj_per_kilopixel_op\":null,\"energy_provenance\":null,\"parent_receipt_hash\":null,\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"signer_id\":\"did:example:sink/job-6001\",\"sig\":\"b0caed886abed9777621c42aa89adc4cfc9821de68345699fe31b2bc9faf5302319e43618a67cb83fcd485fe44b56fdbf5eb298555dd8cf0072accc0fe5c0c01\",\"receipt_hash\":\"849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0\"}", + "codestream": "57495631010100000500000030000000300000000800000006000000d5ffffff590000000000000004000000090000000f000000160000001e00000028000000330000004100000051000000640000007a00000094000000b3000000d8000000030100003601000073010000bb0100001002000074020000ea020000750300001a040000dd040000c3050000d2060000130800008e0900004e0b00005f0d0000d00f0000b21200001a160000201a0000e11e00007e240000202b0000f6320000383c00002747000012540000556300005c750000a38a0000aa9c0000edab0000d8b80000c7c3000009cd0000dfd4000081db00001ee10000dfe50000e5e900004ded00002ff00000a0f20000b1f4000071f60000ecf700002df900003cfa000022fb0000e5fb00008afc000015fd00008bfd0000effd000044fe00008cfe0000c9fe0000fcfe000027ff00004cff00006bff000085ff00009bff0000aeff0000beff0000ccff0000d7ff0000e1ff0000e9ff0000f0ff0000f6ff0000fbff0000ffff00000000010000000000feff0100ffff01000000000000000000000000000200fdfffbfffbfffcfffbfffdfffbff00000000000000000300fdfffbfffbfffbfffbfffcfffbfffffffbff000000000100fffffdfffbfffbfffbfffbfffbff00000000000000000000000000000000fcfffdfffbfffcff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0400fbff0400fcfffbff0100000000000000feff02000500fbfffbfffbfffbfffbfffdfffbff00000000ffff01000500fcfffefffbfffbfffbfffbfffbff000000000000000000000000fdfffbfffcfffbfffbfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fdff0200fcff0300000000000000000000000000fbfffcfffbfffbfffcfffbfffffffdff00000000000000000500fbfffbfffbfffbfffbfffffffbff00000000000000000300fefffdfffbfffbfffbfffbfffbff000000000000000000000000fdfffdfffcfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0200fbff0400ffff010000000000000000000300fefffbfffbfffbfffcff0100feff00000000000000000100fffffffffbfffbfffbfffbfffbff00000000000000000000000001000000fdfffcfffbfffbff74420000280b35593c000000a214bea9451501b9ad0cbdbd9a309164812c7ece531911d14717c3dbbc1d27782217989f7218f20d121d7bd4ca1f3eb3ef1f71131429e2d1f626c3e7ab249c33af4fe2d2c042a6d2222fb9b3c460c33836571567e55a40c90777634123135bfb8e1357858f0dfd6cd3316844ae2fdb041518b067b9167f09231b1d6f1c16b7df311ea6450d1ea29eed1ecc320c2b747de0206b34c82a708a2525b67967473d53e643c54f6f2f42e6355aaafd6534aabbdf5fe1a866406fac26314f6ad812ef006e0dd2c39e124439f5306ba6e0396f65ff1627ef771e0071f21b088eae1efd0a7d22d53ada205042fa23135ba627dfdecc3c473a7353bf1ea7435671e53209bdc9581998ef568e94f260c2af006595d31a5d0301d30b0e96f22e27c43d162997a218be088f12dc9d0915dff4db17246c1a3c61066e3807ec553cb509743e78e21d250c19332ef30e3d2d4f94a0275d0ead4e59f7ff403f44c02ed1b145563b075b55c0ece2599ea8038a52c4e77287a40b3015595e178405f01716799f12508739158ce39537c6364439c2c61335c774823feb0e4a46484b29464146093e52ba6e2e3e5a0631121b992d5a46a848c8478e518c794638949ff05b4c57d23967cc4b57d3bb164147bebb2f4cd1452f40e1701817cec818f564ff13f4072317feda4f17504f253558977544d057484615df8028fbee312a5a55ed2c1c72d1257130d62be71dda51a0a97748680d2735181dc85721d3923f8d192f8794fcc96be998eb135e56840f812d952b26dc2f2f8537db1701de931a9e0b811c99606b1d7a72b81fe6796623b2e3442266abe726bfe71c26713b582970ff964812b3a7511b88474ad1a39d60fe77fb5b93faa43aa689e37f22cf656dcdde8d4a529b091869c19a199bf5af108ce21a33eb8ae43a8485f63a7c0ae7f3e9d6d3fbf35320f44e2572fb823070f38da5d5fb4cd37f3e167531443d7027341943de2d2e0dbe4918ce0f53b1e5a7368b2c3c6ff4ff9044663d54810e945168c3b1d019852e9412c0563e10ce0287359612c8365ce0fd34c5cdb9f290f0e017571aaef2f889ca179debd4f3065bae18380425f4d7c9dd18bb2cf626ea6faa24e3f4384b1da15a3d6df8b52cc90b935da2e4c23b9597355cee7f1945393e249b7b14ad729ff91432962e6218224895175df6f11b30546af34ef81f1840d4b4f24290fa19e90d41f3792fbd17b307eff2702189161f1552f429b1fc18154682320160642d6a8c304b9a74645336beb060762fd36780e26160b5380e4500bf316ab3b6594b76993031ace92b2efad9cb178983121b9d4845f4ba36071a9d404af3f9d4f2199f14cff37ed44717baad75f448628d19af3421f46a8b0f19184461f3ef7bc1178d00634bcf58624c6725ac619927f15545490f360e0fb877c6814c6b9ea2f952ccf3a3abad91da10ef63f3144a0f23340223ff35814709f4d3516c16e5bb75f3a3574719c25228f4b5a03e1636db84f49a58781762e821f35742a2181bc2f7f397ef311637054630ad43d250643a45395291b55b725ae5723bdd1b62eae7a445bd65319f19c63568c61a5b1206b34d3bed1dd63786de01f49a49affb2a9cebf3518ed9fb7f061bf402f2bdfb0bb9c0f344eaa4fb1bb58df3fb10a4fb6bcbb8f3bb45a0fbfbd11ef477204efb6ff5815087d668629a2a0c5d17e9236a698d0061d79fdb460b2f26a9c24f33529ee32911b3aa1515876dab37a91b8339f13feff22ac0af17a839caf36b8b36183cace0f27ca7e419927205f46713bd1740d4a5f49da36019a6baa1f4ceac2c19b530c1f2eaf4de19c6322751ef91df5b92e05f6533f2a760db246a7d1551e266a304d149e19ef5ab9b67c917279abc17e5eb69fbf214f2182014b4fb9ffe3e163705e1fba23dfe17e466a2fb4cd37c16dcc16ffbaaa6f61663923efb92173218345ca6fb512703175f6a95fb422b751962216358fc9aad68a047125962cd87430577849addf21174af2dc5499c4fcf8778b8293377e4ed3b12154cf3afbf46fb6ab6baf3dc41b0fb4cbe91f32c0b39fb2ef0f3f2262a42fbe21813f3cd5230fb476af8f3870f92fbefea62f47a7a92fb7234cdf297d11f5d8e12023c55bf666f4ef6005c8d58bc9549953d730699fd4ff8264fb23cf0ac1886051a1c4d05891af4edc2fbf792baf24163bdfbe896c3f32f65e3fb6023ebf2ca07d7fb66774bf4993ad1fbd99a01f30be2a6fbd34630f3275768fb7ef1a1f2f78972fbe65735554ebaa9390610c05a5315734087513d8c09862074f653884a096d36bad118d01b4762691789a9a4fb84456418eb0ca3fb4aa9b419eedf99fb865a481883a740fbccb302171e6b31fbdcc4a318d918a3fb2772ae179e15aefb5dcf1b17b3873ffb7673f4189ca65c5d080bdc43f1e1b278e9bbf0411aed639db279b76db39473596dd293164dfc0317fddbabfb866f2cf49fee5afb376ea4f3351975fb9baa96f394a45afbd65b6bf333ddaffb9de9fdf212c3d7fbeeead4f2262aa9fbf329a1f4fa10ccfbaee586f41f6791fbe442375aab92fb3ebf0cd287434e9d6e5b5143a22f6941660f17d858c6629c18cba73c167536ce1e8e78a81944d168f419b32118417e79f37ee3a4168ea062f3684ff8160f7514f3d3335e16d0c984f4e44f5716db178bf3f1e44f1765e6d5f39b589417ffd4263cb1b60b56568bf7410b9931975f374f710f5c7f4fa42325bcbf1b8b7648524f17d3a2bc1d17f181fb389846f3eaf47dfb8dede9f2ef7b22fb6cb646f4429fd8fb1ab5a5f4cd8e2ffb7dc74ef4164ac2fb955678f3aea1abfb511264f4825bd7fb2cdbf5f268318f5c44110177dd73146b7a24ef4d9557b1ac71c8ac855c5302606910468a110d2833d76a203d85cc1c16f25d02f36cc7671902a893f3c335ff186fdffbf23bdcd317eae2b3f3dfb9001a3c8153f3a8edd118ccf62bf491591a17bed596f344cc8916cbf73c423ef6c45d15bc03651b1912a83850df6979ba2a6292c2eebd5d91e87574332d1ec8640e210884defb523cdff2811f84fb900283f397e066fbb5636bf4b5af3afbe896e9f2ed4ea3fbaabb7cf42cfc51fb744940f4fc3dc7fb444010f3ebf46cfb40019ff4ba45685818c3743cc9991ca49c3d626e6cdb6d54ca28d67ab141e2599329871efca9c71b6444e22057e352f45dd8b917feaa52f42bfc1119743121f3694f9818db6c99f3d79c4618989917f426394b16467b0df3b1fb8f19521d21f48db4ca175a186e3dbffda754ced3533d92a3eea77ad2e668dd293056741d36bf0ff6d877943fff1c5c2be22145ecd620c546c1f3241b6b1627e58ef43e187e1951f342f42ab1b917ec3602f4f8a719192312a0f21e3ac51704a731f4981c4f168ba270f48c969c181fea6d40d92c977aaa69c464c1fe0b4fe4ac6e6dca35ef5f6aa19dc29fe940765b492821c377c822552bbe2132b22720a4a99cfbe66ccb18874f90fb5de48618e3bcc8fb7a9dfc174fca80fb033b2e19226885fb5cbaa018cf7481fb4bbe3b1690f45071cf3b545fc7dc4c460fb904a5f494e4710bb28c59b37201bc93c3b85cedf29ed26f8cac231756f41e282b6e208e484d416f57f1f2d56f3617c0a984f402e336196a0dacf401f23a182db681f4e431cd161e6be5f31d3a03177b0239f33755483d85c9d2624864d23f6bb7c5a69c7e2164d4f8ed6167d7fdbd05c2405ff28607d169ffc3238fcc5423c78c9346c614a93f473a2b17750683fbeed5a017f40664fb11227117579a43fbf768d91957ef44fb4994591639592ffb3898db867e356462c5292e4270ba30a3145c994dc63817c2b506ff790c88855f7484a1d36b3cb022b49dc01f39897e3db627e7453b7eaa47ee9c181a325d08f3aea14718447cc5f3ce9d6d187dabeef346352a168c4c9bf38ff00e189a54f0817d9e5867e164264acf9f89a0468af5865b1d0f5d44650780f7a37565a8f4c0ceb96346217425be3f42ddfb460186a443dc4f4f39e726fd2e11ac22fba65269162b0d79fbccdde017447c95fbeeead617a64c9a609f26b64105687099d3e8f96edd6e714832a030810d602862a462e0c908e95486467e4f657a255646fefc1b3d6612ce46f05c183a0aa2e63122e07a4fe77fc847dfdb81f4981cdd5a7e25095e2496ff7c0d982d61f1b45a40c98a5da72c8cd36f9bae985ea04c49826f6e0159848c46d189116c7425229a29dca5753180914230f7d87f2cd1e2294a23bd653c8f2c033180eb015dc4796a35ffb37e5d2a91a83e040b6f9551375c7318d897491c79c9bfd5a26b563d7258cbb89e8e7b06429a6fdbbb519019578d2cf852092d88bd0f2a78859a2f1ffe22519dd8cb507fba725b0e80ca5d8ed18c6087f6007e90e4ac6bd0224e504285c6ad5e2a4885c47c8e5608003a80cdac406c2de6e9d9c33b3d881826ea313c35a52f98773329023e2e2f644eed4c9fd91548d5819c5845a9c356a9e281411746cb75d8b9686bb07213513a6827af9e2d2582d3aaee5d0a1e1582463d496d83be81d6d0003b8586b2b42e814ecb2eb4b31b288dd08d4a6d71253f6f90872d7f2ee65a725a8f582404ef5c515ac37806644d66e187784bf25f74a43c7dd98747933f580caf12c97de8796af508f6ce38d753833fa7e3df673b922672b38b4a3750af52b2e56f46a293d2301edf675a87c40637fa24ff5de154a43f0bf38b907403487346618150454a15be8935547faf98945cf4502f7649b7fb6993be0d924ba7e87e5c44373d6a05774e1f29b0405671ec2d2912145352a9f45d41c46d625518ce670cea41617a3a074385e691abd1d9156a1d614d5fb54f097d82d80c614b6b92cfc8bbf18ecd7c70d5e7049d93d1e01d3208d0df28de97dd2f92b2384b83a3414fd99c8754c10b9e5dd1be2056f367ff898dec986d36884b48e0487aa87651128106a3085ec747b37f462bcf65f40a63d5ef3e7f7cceecdee0471af487ef9a024980f7d83f5964932f413bab5da896195fea92a65bb5e08a7a9bd68e57b2e1444310b9ef9f9b1b0772aea0435d832578761abacc584d3588cdec05e37241fdd2de96b2b67eb007b4e5f9d4ef2a8742af5235a45147c3cab7323fd344569e919373f12bd5554e858d3c3b21c295a1d79c4a4fb2a7b79f3ab4817fe0416134b576cce565e369d8770ed9c2924f8be0dfa9dd680fe77af006c4499b2cf442c3a8c83284915263e978a0343afd905502056046dc7ab6773c132468e7578f4cfde095720b8e785a720e4bc40228f788b0f27669314a5f931b46bd7903017f8e10890fe23b330b2f9651075346d3114f7bd0563a61aa2b540a0abd34d4772278bec85e703c9d214d3cb2b767c686f94e8433cfbe3fab6a77d952576510c5cc764230fd772df1fee062380a787e5e1da520a88c3e08b7c330d28d614ff959b861ecc7795fe87c22712ae536609e6bee407518e19d641c5b653da09e59b8800e89d17848545190aad2538d869bd717dbd8356a67798d9ec5e38da75c9caf09b6ab547b3941643edf2f02e64254d50e36362c41616048da6c425bf9318c40ad18669821964ec7cbd2b8714e8f5dc27626caff71a47bf64d476ce899f18c24556f7820202b9b3fc5f4e77ac5be8c1bd2e3492682645389b4b359578edf64a5a823571c07547829153e647579c44813fa75b8937cd5797249dd5803ee0386f9cab266917789d973c3c989dff5e0de1a65817d238899a57e9e48eb67c3d0321d4dee57cc778c5525bf8f542e90828a8b72085cd25067411b57e1a7d11a4f67da559757ad36fbb9f6f3c55cf6723acf5d58348dc055fce03fd929925ba3f6e40db6df8f0358c8a335945849649d783b52b0006124cf4042c3f16a854dd4a7672206614e215921735710d162219312c171da4b7649882772eb6ac18293790f8a6ad0eb8a98988789622911a626f368e825d45f92441e6949bc1b3e57a98a2136eda230713b4b6c6175aa129315646973336e21535ebbb8b8a549687da77a9c603751abd14723da67adc45dd8ecffb37995aabce4d743db9059e992aa435f87ebf2069785b20d1282e032f87ec90a5977b5b6eb7ce5e14e76816f6d8aa2a99d88a41cda754a8eed7955bdc677bda57b7c9308d8853619ea8795f972807be4487ad3c6ba8177c1897f6ea77077cd107d7b0c6eb9775068bd82b5994983546a8b789ca4fc7e30fe328a23afde89fc09b97d0dc4b878a796bc885f381176c0dedd7c3009868708763778074f1483b056e47b2d2e6f775e060d80613be47905e3c28197a2b2867f2087840da05978d324ca77d0d2c3838b448282d320027d0815b57a46e25386e546797aea5eba75c4748a77a68fe6769eb2d488d27ee978dcf669752152f679d5d4447e23d3767a076168784a958b79e1e6cb7e174abe7e0952b07a7e773b7e902dfe83891d937b603f948047799278c0e56181423661814ddcad7e50682c7bd2708e8791bd117bd3ad5d764ab9e9851e6116883d29db86051203825f38767ecf081c7edad64780ccc1007a419fa88156cbfb8877f0068a366cf17ab74967805410d1775c0ec084f283567a15ff0480a7bab185479db782a0e0027c86b9e58487498f89cbd316877cf25b801767548ac2714878a7a81c89caa1d885c0633589a0289b7edbef3e82b44ae88619e8d979c7e36585e1ac7d81e3dea681258e21841709f6844a668580588df77ba9ec97766b4321899d7c8f84f0b64b880840f485a1533d851767a57d4a544c83b06ffa7dc8b02f8747de5c7fbfcc1387f25f5a8a96d15289712fee8898a5408dfef27fb1fe337a96b4d9119e22eb87a7befdb497371c3793e2cc0aac6839ae8fdf2214934812e67a0fae55765e185b83fc9293793110d187dcce0e868708c67c2d76639bf921f880fcbef0956f67119f67b9559a35d5fb9b7c1ecc997a8cb6b78d5cf38c291b8a8b95baa28623c1f77ac0c1d18300ec467e9c6e94869bba197d07b41b8215ed717c33a3518a2a69078e6c91f6ad16430393da5506a55aa5d0037315fafc42ea2304936366d8c6a231a413a65288914a4878fdecb7772cc2ad83e9a63a83e6830079d593e17e3d6ab47b4116c192d8e6c68cfe19c9af3ec9c39005755d013a19f177bd9ea67a4d820f7a4e487c042afd998ae5808088048d1c7cc641628a98e6237ed84a2e7b4c74f67ceebe667d388172975a9ae8afa684c0785fc93092ba7ee176bb07db75b140997b504ba975669b2c865791fb8b03a2327b42ee2879af368c80edb7ac827a8a198220b7b9783bfb7779379079828ed03eb60c7aed938ef44a98ff16557824090280d15731762a53287703a3b77fe63bd287bed734819a8f2080aac48c8253cc6a75084b27795ed0db7599b7f18705651188868021a7a69f5eb33e38d97dc4fd1985411d5076c1516a76d8de15829ba8e8861fdc0f88aa783f7b9aac607cc4b52478d9b68f7d03c7a57974203779ea94e0764e1d8f9d8ac846a5eb023c84085245853201b782e10ac287e06f07774edcdb8465e7e67b4f201381f6363f8327e4cc7f49584576e49dec82aad62b849a18e57ddab9dfa1dfa972a6a2b7127f6d3b3278c7a2f881f0af98824535538250c2998900cf9b88288d2778e3a5a29607b80c8af1e1f989ebb4ae7dd81bfe750a478a76390a5b7b16d7b9993e2d42cf578d667a5a367b78e9f23b7b6d993680088c68756815f1891602298a214723abf3ed7f8f93785d8a60b62d7f9eb218890b14197c055eff793efab48717d3f3b1cef2697a0b0daf7db98d5c89fd22457b7ea64a823c2d0d7cbbea0f763d9900fbcd7c0993dd268a901da4f37cdd3adc772d0a257608a94f6af2ecfe8990c841a548ad0f0355bd0b81c8cd508356dde386276d8987e4c8a17eae24597cac2c9685aa9cc780e78af9a7128b35a7e9e43f76e95770804540f4893590636813988480ba2f139c9f0c55cf83ba19860744d489391892880cfe0388f03fa186e898e57bdd04e379cba8b8fab785aa7d307981941cf013891e2b397be66ac778effb7b751ce013894acb3e846196ee03de219d897ead1781e16f55890797767732717b7de9e02981710be977bbb463fcf62c2695d6343a977160de77eb897f7530e5f883ab1320711d583f8542c6327aa93f847c26e8ae8708649b7e8188db85b068b58886efc983bb205d897fa99c8468f85ef91cde28a52f53e29aed1c0d7f8d8119889b02c485d946ab664e23bf880482d580c720ae03112885d3da3ef5804946a079c54cd5818cf8d489cd3b628376f4f882b02727872cc97d22c71cbb9c815fe9843299d185b9f9268620db128aaa5432880e540f7cb833b28a1d5a6dd08ba32078d731a87a3e5420770bf03f8511f95e7a99760a8607a9747f5599b1fab4e9db81987a0e879b025b7c8d6f6978d1bc797d09ed717cc600de87c2131b8498b4da03fa05068478a4b287491ec17eaf7e0c897045e87ea6f48782d212087c4ae8261d0f6f8a88c0755084709f6979ab8ade7818d3fd752beacb841a37c8786bccc77c149311847b83808ad929b8893b3819847bd2c27b19348181d8928287ace0be81a2481c1b8b644980cf780f771cc794839d461e7a85872d8038e63b7e25abcd8744d4f87b76233aa0aa52ebd7dcf395882d352a8351529c88f9ed62882f1b3d8a2e67d87b6dfe6bf8af405a83b1c9a7781e89ca76b46e807b4dd55f83761f5e88a1414e8af230b1851248a69d78bd977f239dc87a30b68d7f59940889c67e1177fd92fd861dee88864cb1591be244838471e77587929508875f678889cfd22b885a6c6081052f387e616a7a95bd77bbb1b62c138a067367797a4de184bef4d981d4d4f285ee3ca07ddad63c7a8003257fe6a788793612258267cd397e8529538850e641762ba213796a18c57ed784b7a52fd508a5ff20d6869efabf75d4df5f8a0e37078a9a432585d194c478d9b3b2786337658a8ca57d878c9eac7a19cf377e01f38482fee8c97926b98085796ae89e949cc590dc73e87d162af77c02e8088786b96a808534d2869636ba7c3117c086a46f587ac74f0e7ad36cd0806677b183ef845e870b1448822f4aa087dbd2be7aca2314810d587d869815da803de1e7855f800b850d17f47e7a1e32f90724a69a3f96087f43ea127b6a182a7bfd348b830732597c4f97457bcdbd9182687a998096417287ac455787b3a8cc8246a11e03b6260486f3a3837effe43b89e505de9b95289f9334b3ab840b670f7df76c63884d12b084dc574579ebb4018104286881d85c12861f1510767af346872d88fb86b01c9176e2bb40dccaa58cfa8517f60409c52a9ecaebf394ed2204a1499d827e71164f818c8ce57bf993528a8dff547c5a128f78fdab6e8acf492e82caa1737939ff837903492c9e15b105837ccb6c96d364cea13718beab45cc63a4dbb267872ee9ba80433d0f89b982877b7aa0437c178bc57cc9db49812ee96d839b96ec7f3087a979a9fe4f8942f577a8b8aa46a5009723940ef30e8fdd242eaf54b30298a5b8d579ef96f8844b5bf77d5e8fd989c2dd558aa5f488833c105b7734aa5889366c7f787df91d806ecb87859e787d9079ff13a63b6b2a8b01851c8c0015a1a35783748ad81b147ec9a56b894303be88adf98775b82cea775b4f787ba9ec7675b3313d7e4d8de588bcf81d8969f4238d5e69be94a58fecaa4121839ae315a69706ddf68a3c56d97b031a4487a743597a04bca87a08df6284aa30628a2da15488948dab86f283667e2ded9e895a7ef0864a1ece89683dfe7946884da33af14bac9579888c54d36097cbe562899b6efe818e3cda7c6f139b800d6a0c842c6fd87c625ffc79621e5084fe4da9803ad79080c31a237694b56d762587fe7576d051879db28578da6af183a7ba867b838b1388eb4f7384144be37e35e7437bd647c37642b8047bac91fd8509359281e07abc84e38bcd7b2ef4177e16d7e4829677b57b6a3c1c86ffaeea7554a4c381e629cd76f4b5647af3c05781599421804f32568846ba047bf5f23485aa42797d24c8e1823a8f7d7ef5c3137cb9f9f17d9b79c5771320817ec486607559163f8aad94d487d96a8478604ae689faf40f884899338a71ca6f8052b3ca7934c7b279ef72b6833c2dcf87157d32833183f87e41530f850d5f2f7f6271647a08dfcc76e52240864fd8967f99ff6c81e8509d75436ca985506f117690e56b82115360820063ec842f79887b035b9e81b91d167da253ea76c2179082a27e977eeebe1482cc8030886afb707ce3c56a868b4f457870aa77776ea76c77fd1b65780504aa7812bf8d87f5700f7f4a42167a2d9aa485e8eba27a02a7f98750398e754c7f1c887ba3f17f01a0b27dcbba247c8da525856b67a37ac57b168437f122843eef50897e485d7de3cc4683d97ca77da1c35f7b1e65eb79f4b56a88bc1597889e305e7b62cb8975661d3d7e1b6dd27fe8bc4079c2f3808adaa7f8865c81887f9797c6852b613681a2003e7ca021df7d2683247de48b3d806d107e75b2c9a0758575197e3457fb84c129f88193ae7b80eb7e668391225c87e994eb86a62a357d2003e5822c5d6989eb3d3d89e4e5fb82447a8c7eab8af6799e71b775277fe87aca187d82215976893f7f4277bcbb3d7aeab82e82a4b01789650b0179d29442896852507cef31227c8015c47a1ebf568a159a7d7d797c5080c1995f7b5cdfcf7e7743fc81c01b817e6dfeb0770e1e5479b355ae7be5cf2d8905addf7b8d5d8e83f57b35834e903f77ed5de57da439b5794eca49779e6a8d7f03743b88c0da998279b2597da81b237ca9466478589160773815fa845326708352a80576e0dfed75c23b5d863773717622b332872989b17f3d4d2a786f7f6586858e6981eb61547e87ae438220d4b781ca47f88066367f77171f6a88bd47c281d086d77c69edcb7881ed067b7a423b84e9e73d85d3a99788c01bc985b61e8d76b1b04178483ff5807d0b4b7ddf077f82ea658b811eb49c8866adfa7e3dc41d861bf6b97b1da66c8463379688ba6c5778bf607b82eed76178484af37837732a8261abaf7cfe95a67f144ba6784c62e087cae92979238bb68159c3217f4d16e97d58695287eda5f579b737557e8a4804765d5d4888738cf9790689308957215e8069a5c6889500347e88bc947e6cb65577c719ef8680d45c7d6f8aef86feb97182e5059a7b7b08898a5ff7cc7ae2be8b81c89ebd89ad77c57532305b85370ef17ad5c9d68482fba7880ffdf18283140b8a546afd7f4809617e5e7dd8788e9a0c83ce42227ada17358838520b785fcca87d83ccb57e3cec797c81ed177d3797b3796f6d557c59827e879f99c49d4094599d8f2e11a25021b88741121578fcf0f187ab6d9d86fe9540800201cb80da5f0f8072dce8867182408610c3e687b517098405940177a3c62f87a11de7a140c6518b772ffe90d0ff517a6337bc7a4731e884f009e481c9ff5d7e10aaaf85640f837a9ddae585f677827570a3df88fd176c7fb821e581e3141a880da01185b9c74d91a8d0adb5a830b98a98d596854b503a7f71f93979f199b87b576d82856732b6802081e17513731f86aa71de7bab9c0b7b9504b77dd33dc588c3081d8711a6d69ce9d132b70f581690eeb4c387ef1f3f891488ff850c6ad17f65c33c83fb556d7a7593da766c6ea289b8f2d4773175507ff665ba7b1b1a07889b55d5872eb3a3ad2635c08f9e5cb1abf8cd4880b438bd8207fc1880c7852a825ff03b799761ba7d45ff6e83f3c032836bd33c88f9528b7842413a8acd5f41791241c6797e00768626b90a94288aa1a5666113b2936c9e8674c93378bd4b018435dcbc896f86f58183f0878944c2787e8bc6a3800e95f28030ab2f84eff0738796e3f086a3bb4a787ab2db8e8605e8029dba41fc0fec099202a3146465e9e48541ca737910aaee828218f280c17cd777ba82bb7f86543685b164ef7c2ba9438786dd3a8a7b507f0163f5d885402166773f8ac7876b9d607ce33c1c7e19b2be8724cf6d7c03e4fc8980c2947b38276678a01a957f5b20d979fbb3b980449eb677a3f51a7f85875e977409adb1d85985923d3d9285a373648968b7367a99c2bf777a4d5e8bec6933b49ebb36866d3b2a857b913e801439228606bf4879af072c7846471082c4eb50792a9bacd048f7eaaf50a4298c43f866892c81747939ed307b3117b0807c33b579b10ac6ab76fefd84ed4008863e54757ee60c6c84d8e57b7d6f137d7befe98b81fc80327e5272b490077466a3fa75cc7bd93f9b809600d4816a061682318eb88537eacc9f21a31596839c47862c81877795452d83768f2486d13aef84288d59805cf1fc7da8802b7d5c2bd79efe2c8a7ba4035a8adce0c37c9689f17f1addd17ffb0d3d76923ba99a5f20aa87138ca276bc035f79cd58d37a36caff7de1d482802d1158980da6d278e6c8b2b0243f45784809ef7ebfcca47fc88c2e7670912e824b6d88813c80618ac0073991fe161885080abf80bf4366782a53be7d00c88f7c081ca67d279ca488d6e2fc838529d8da6786987e49e16a8672369b85ea9bab7632300484fc094a834564e5821320058750819d787050477ac7c6fc85a97c4c77ce05b385d731aa81ec7a6b7b21116d9f402da080b61ed37b640f807b9557458322ba2980bf02c67f26cbf57f844a31f92599597dcabe038254c80a7c11f9247eda30877de65f277dacaa7c751e2fb2862d35b4d8ab39677e7c740f822d9a4b8286fa6d88fb38668752b38b8981ac3286cae9891c02f27487ab62bb7a1fbbd7830cdae57b0009c67d972b7b7f732b0b8a8c270a7926b9557e26b965778754407bdb421988008793830761d8810386eb891e616e7dcdfeb21daf446f7f4d284f88033e8284a97cc4898d76f6794403cf75b181cc8384b694886398b385b1ed06868003e785b80f6c789337238259b1cf8602d2ab82d17b4076c8df6b76b19eec7db223cb7af598fb8416b355867f0e5387afea5e8336d12c79d8f7827d10ceb685f72b9b76943ec675625f6c7b8ed07d7bf0e51289590b7789512ae7f942a87d193bc3b7860cfe8b756a23c6798e6bac77e4c1b776f9a53082692e80857c69bd0294a0e67cb08c0388f86fa6869b434e7c16188e8164bc08860b8beb8269e2dd7fec151e79bc9e1880227d888822e976806f499c7e152e227e8bf5fe7c00c82481e898fade846be38140e0277b84f7417c4f07417e06246179c3130784a5407a7d9868321b0570a17582be397afa231e825cc2eb795e065278485135838804da8666c69177ecf1107f5355087c41e7a28673c63484afc6d57e43856c7d52fb6b813af4d0844c1f6f76d44f8783c1e17f7db42da482acf24e771cfd3281b546ac7526d60b8748fe1f983c79bc753462cc825ed78578bda51c8887083f82eb0eeb84495f067e0fe4491cabd286868a4831815475fd818f38ea777403c98871e7ef7ea3c6678512d81d865d110f8c34698d7554afad851fcdd8810c87aa7b7576bd87b58e8d783051d57750323d8688983780655e137f06774080977ead773b79897760af1f7ab713d97c320134a58490f57fc391ec771c748778eeed3a83d8e5cd7b0c1b317650397e751e2d439514250f8869f46e7e32011f7b923bd47f1415e87cca2ae676abd23088e0933786f3370faf90fc5c7a11700077b044bb7d6b67398893c04976bb6ce7844caacb8e90150b8a47387d87a7267a8092e8f383250cb87f92304877e0684c79be2311806aa14e90e6c4b184e8d9447a36415e7e985d2b781cce728a5505d084eb7edd94a0c6317d564da07d912216873720188445ffa3887be4cc850b4ac98349c4fd77b0035ab57743148037b193853c104580ad82d77514159f7eb4c19d8ad4e6aaa8f7030ab738f7d0840fe4f07f92831f80181bbd80af198a8857912a874cc3538aa3a9b184886909a28f67ac8db04c29208044f37b744b1d85543f9976bb1265857df9789baf534c97fb418d816624f780bb2b107f3e951479f5987581800a257985c88e7e6c757b7600a4c1a0b45b9c9448f01495730fb57c8b73cf849c925379f7070f94c5f476aef6b56c92385d8c87d66b3c89f469477c88869387e26060883f981786026df37e2a19ef88f051149ed7d571ab211d0696fa4b4c925b06cdf90b12b2acea4cd994d5f38fa9096b1baa1006b2833d1705846fd93c7608d46e834a25df80a5acbf794cb5a77e37326d8a1b3e6a75d1efd3932d0e509fdb5a679bdeb55f839591fa9214bbeeb30790b58de9e509994ae8207b4929a68874c20377692e2b81b23c58827e0750779f499b816087c97dc582d977e65fd27dfad0327dae652276a0e4e380c964e3814df92e81d70d058694216f790b798d810e953b86987a5c76f1631e7a3199107cecbb598a1b5000879416c67a433d1e807fa9d0788b7e6b7d6b1f6b80f450b3784ad6cb7e7f3d7789b09e05783ff6838450b7a67c10fd09819ea75b84483429889117d079eb12ff7a64ce877e86dd3a7e44c2e576c4e4c78992dd2184b41b1083ad8de681a2659884516b99797ea68b8a7c3a96812140577d7050d186273ea2868625a48003f62486497c2d88cde11c82c797597a68273a86fda03f7a72d19a8025cf8e85c3e48a868b3d3c8216a1b67b863b8c7b9eb9ee81410b977d9bde3c7bcb1f817ad4cd4283a743b689f40f92893852d2824564128963b528848678487e4cd9178a6b7933817714a683b4a4d1794593ff83b695d47e01c4fa7facb56682ef67a086e7080681fb67627f9dcf917c8438338385bd647cffdd427886d68784084b84788f721284ccc1ae804a8a5f76b0731179ec61a875d319af7742add57f49588b781ff5878382a1be75ad9fc286be0da075eab1bf8001057f821ebf5179a17bce7f95c3768523d345893eef997f9803a383b5587d7ea65984813428377ccb4377750e1eb88273b48686eb199e7d47431b837e5a8c76a2000e8217f7a989b529a2871d00c0889cab9b8092fa3982b886b4760832407b0732107918d3578636b48d81ad9fce7f8b4f658a51ac688904d5e378be8fcd7758862e7960512d88e2602684f06ed37ad84ad7875f38518621ac3d84c5f94f83c105c17efc6e887f88864f8349f38381003f2e7a1c0f90805953987e2d11df7a75b7c276c87a1d7633d23b83f3c07b7f271a99754485fd89ae19697fcf49c475db428f75355e16875ac6f27f986fb77704451081b5ab4f8199c9fb85ddd5ff815bcdc98699d0da7e40aa8478d7a8217de64da08891b21a7b6a4e477f162aa184ef848f7963e4ae7f55b2747ee8aae78113973e85bc15dd7d10eb9576c3541b853c511277f7e38d8129ee7c8277de3d8425f39989f3ae567b08c297791d942b7743eacb864c9f9581eaee987a2bfc8e89b6255189a1a604884780c6894f322383d6c503779d874487740ab27a1987977ecd05c47d9e42d37e9582c97e93a3827a8b07197b60807e88ec27cb89c33ed2779cf7a38491b29d87e8ce317c7606967c1cbc427ff2a0a4895ca50c84099aba75434fd6808ec5db790bbae582d59a267b2193377c198e02882392d9786ce58185cd223a764444b782d5ed938493f6fa88497cbb88a547368407df8277524747800ac52479c3ef9379b7ef637d0a7d448ae505fb85d2000b81f89e868a14eded78354c89764d69d6883a67ea761f730d7c1660c57e4b910c7f4265d77adf24907994d9e97d9790c1794b25d48978b6ca805ba2e27bc9e65c825d47877a0075ac86e4f7ef885260a5894e07c382873e7f7a765976775ddb657c9d6a5c867224b68795a61e8a8b32bc854df9c77e2bc6047b471f6c88dafa7576b252ba86dfb46f7752befd880ec0ba89b9c3e67b955e41806d104688ebeaee817da6207ebb5ae182a6f4a0802140548aa224798a7d8296828dffb27c268397866c75ac893ee4f184c092557816be177d6cf78b8489c31a7a8b90237e0af46883a3bb458803d91f7f9653b476079058880c6ad07ed731e88555f31a8873442379ff13398a14f8d9820ffd8f882093ef7c55feb27f2c15658a7e072788a4931b7b7afaf276a3bfcb7fe65f8b848b0e817c89f27c89ae2b6f7653721d7e3a842777da587b7e47a8b17d85eceb7e2451a7855fde4e78d14ceb786f37007e717006847899d67a8015b87736eefa797b3712870022057a8176d47c810a5b88fc1b51832ae3317c6844e189980a4f86a13a727f5a5a8779c873bb79335b6c7f58e0be819283c283f594d77c459a187c4f3dca88dac04689497cdb7571e07b76cc02387cb3de3e7e1d82c389e2b3d77e79e1c187681c76786295c77a50157483bd35367f2dbec389cbba5088dae83a7827781a7e48f7e084e31fb586c9359a77f83d0b7e02cb9a89ada61b7f89b1e87a67d88c7e6707427b99938e781946a582d18214818af57b892ff7ab7ee8989c83f05c297f6f49ac7b60c87b87f337348746433583d576bc75c06e6582276dbb7d4045f27f54ec7b8095e77f8111b8f19346d17daba9fa6da11cf467aa3859288f3cc3728b9eed0699dce1c498a94081abcc74dc93adc02d80a611e69689d47e76d8e5ef81f8df167bee356686fa47db8079296890fe180ca68ea14a8fd585aea5e57284b721d15690735e838c7fa9fc90139b619ebd8bbb885e595787155da79923dc97853e25f6867c169a89cd4d7d8155b2fb7ef283a7b6a01fc59039f30d8be3f2fcaa038f8c914e98bba90e3c390475cfe121366e6c9c95282d8c24ddfb76fcd3e8a12ce52f8a9e9c2b7dd731f887e5e10678796af378db30477dd29b5e91d6efb598e5c645a6c33d249705e638963a36d927ed7b3f7b468fde7fe61793872174c38c3c56c8806533e4946850c47de95ea0881d24437ecf66a68911ca7183257cf48036e333b14fed0a94b7f8369e40c24ab15e273afbf4242f7bc014267d0d46218697689281f3c0707d42369a96dd92ef8486a7e285868a19877702ab7e74c2ba75911089820964c58cc1bb5a8d0d6168ab7fe96395f8046584913b5e84dcbc9d7d691c4f781880ac7fa4270798fc66e48569596e7919b2f9850b92ac7fbf720d7f5d9a7475b3b304b5ae023e9c438c2ca7b54f16ae68e4fd8838b7e27e9bfb787efa2ae5838a890d7e50f8278074ddea87b8a32d8a8360f575be9a587cd02c0c7fb07aaf7fe7789076ac2c098d48130bb71a90919c94084e8ca2e23e82e93a1c8744d405766af43176f3135e8af881de871356c17b23c142a4336d307fe8ebea7646c51f7bbff01d762d648178ba9bac76c395cd88e8eb12057ce8bfdfa887df81df2b0b8a88218882fc269a7918b6a085ab2ca1813feb8f860249749eda88c17d924dfb855f5cae8124b6bd8722e96f79f4a3c37677f0507ba3a6290509290add8ea2a189b00a0c83699ad087dfcdd688bd35d082444b5381864d367773a2068d65335879d21dee7c9cd324817c45bd793abe9a874f689495c77f489a9d579b87bc5d58813cc8ad7b4385387c0e66b7818d118a7d66129b8af10519864c0458a4fb9f2586dd3a327a2bd82c8087913a76c34221860ecb6b77001bd794f5078d84332c2a7b60e553865d064881db78b57dc3e43185337fb481f4b58376b372c08951e20a857ead35856815ff87070e4e8afdc4007de575328529774a79921e897d22a158fa6e65bb79c5579677223ce77887ef4a8381acdc861a660d851bf6ad8548a4ac16a756c877f57b6a7858b56a879a0d6186631a0281c6bf6a87194d5c8932e4969bfa8ccbf9895f23810a3cf07f65286c78f45bbc7524f7aa84178bd07e3f08cf83d9ab8fa3c8e08576fc02a08a8bcd767df2d64f85af6114827e7ee886805d0476e6a01e83358240fc52a107896e9cf08443329d7538f1f7777befdb8471d5da79adc3ef7bb534d317d69949a6c15000822b97cf78ba65ae790bafbd89fd4d7388d731618871772b831631ba7fbe213a7d233828890a8baf80122b39868a89188a677a57843f5b4c7b895ef2f6a8600f8da00b8d7672a6f5894c7b4788a22bf5863b8bcd7b36eeae7cbc7aa388c0c8e27cb9b1a97f18a43e7ea4155487f1c4797fae5a397d739757783cdaa27b49bdd0b0f72f2684eba23585974f5582e0bbcd7f89f90d7b1d5eef7f7c0f586bc4f47e797fd19e1aa42fcf7d7b08a1832ad13d7c08f1da80f612927d6ea7ea825ba91582df3d60b877428d883129448aa6a1a8846f91f9772b61cd819ba8488817d32b85f3e4827b464e3d1ca62b8d86045e467d770d3e781c5064851cc3268677d3407e6ad78d8027eb5c9da485877c3964d1773c6e7f80b9287481069b7c7d71e72d768671e38039e2f47c8737c1849a065e82acc70280fddad8898f09ac893398c088fd17828828f2fa8ff3a7b978bddbfd891bbcce7cd8a43685f421b5879893427abe2a5d7697bf85825123907933e4917512ad6c7efe17e689528444878994ab7dd2121686a3203218f9ccfbb539f89d83848054883afbea7bea82be837a784089d74359823632c07c7fc62489ba9b2b86aacbd77b6fef3787ddf98777f641ef79bf6031824e12818604e00ca3a529537affef3e821e12c889d10b2787e00a2c7a784ac0764444d9838b73ee81f4aa2a97f456c188aa1e7d789f49e37e23558979e30dd37d36d11778d02c98aa1cca728171e797839ed69f840b094e7c2efbb8805fd3ff8517a4d181051d8582ceb2c3800cfe9eae3e68e2814702ba7e21befd811b7f9383e9b1567e24925198062adda32dbbb07f51d0827d6122a880e0f14c850dfa87893da07f8314d4a184ff784e83bc277b7d83883109d35d4a8746c5a0792c44ad75dae83c7b9eb9a0825c7a1b7a5d52ce8506078986a9466684c7fcf1898c81f8824fb4347dd606fd81d8a42c8af1053179539681856a7dcf8dd362e41904e8497e9462097bc026c016948e1b8652962278811c51853e421278d9878688614d6086cd29d0821c21a97c8adcec7c6d87147671ce407bac0f55806881268f947260a23b13310b5edfd2a1c0c7f8940b8d7877b8c70b775a94d57fa43916770c1b2089645e357d593a168549cf977be181487c77cc1386e845a07535f2b68cc3f93d8f3201b17ac14abc8a8e117eb15ff74f93059ec07cd0aa487e5ed0d4894d0bfc8508db8380e04b67780134877ff9a5b77605c37786ff0130841ad252763105e8a7cdf2757929c75685b799a78a41b690a64996109aa444b7781e368c7c151c1476b3433378a7557c7dc6249381bb4f0d7e01e8c384f2d645887c0fc07c865f978c4b78dd89d64e48a8f454d57ddbf32d96a030748c39814a86ace04b8015be4b7eb8fde777fb7df485a3973f81e1881f89a6ba96887bfded79b98d907d9993f17ac0a40595b5684078cf95c1a99852d1ac70f49fa4fb34fe9073a422856b26b07974203a7613ea107f83cc6088d6e2587dc16a4c80414cba885367f67e9707a4890619d8850c673880f670ad8be94c86962f2c84a966d482915be34883e82c40784062b17e5ee96e76f09d1b8650b0cc7b4784d3877a25967d8c441d7df761db7f97a93080897025826283207be7378684332cfd7e206f437a63498e87e99f8375b4f75189bf8b8b7be32af98687c08479b7aef885f88c6b7d8f846f7bb3e9da7fe558957f0009dc8643a96c7e9b148879dbc08a8215ff388aaa42dd7f4a5ff0811ff1f5818e06e47ac8cd4a86f6eeee82aa30b87abdf8cb8432542b87761f5d86f3b5f486b23c8077ee9ac2777d4ca1751ab2a078171f08853d0527878355ec8757913e781726a784ea9b1c7e45db0980bfba027771e0358258eb2e89aaa7b47f5db73d8a47802a7e321e8879cd346383673d8e7ac4b55884a2772188b2a1717e6976c180ae9b567859579c761d69ee7556b9cb7c9bcc00847e071c82ac50d27a3433ac7948af2d881523bf894b91237b1a1e3c852750dc82ee23dc7840452f7e8cb0057b6d34a688a7f0a275f08be77df90aca76059f577c7397527c7d94e488f744fb83783fed85d5939b8708c94688cfb55b87f8686577fd51968287f6f77f337fbe86165543771acbf4779a06947deba203803e013b8a49172984a08d288449cf7d851a308c8172891783a59ab7898231ee7b1d704d848613c57ef62f6b81dcfd4f8026b9d276339c607d0b676a83f0d3d784e1acfc795372c67f94212d875410a28113cda37a1ad69d85a7d3d47ab6e8107627012f8823792085b2c5b689fe4230843eaee281838b5c7c92a70687ec03157bee18507a9a351d8019295b81ca605a7d1004fa819dab4179e63b4178def95b83a56493860e428676c7480081dc339c7f00feb180301bc287f90a0378d8c1e17a6993787ebc03b389350030881cb133894851ac754fe3c9757a3bce77bb5ac287ec6f8c823ae93f7c3e78068122c5217cfa0680878cf8e678ead59586af858e76f8fc64824caa7889d3a99581f55e177d90c1ee85430ef689c81cb975e0b45e7ef2e8f1820350b67a2d52c081925437839935b97f93ae69818a7e838367fc8384b5e10477daf33b87a7c180893f7f5b8100a4f081c6bf058280f88b85273e0b7f0f374584dcc70782d2891d7f00ab0b7f1e19ad813f50de75676c0f7db93a287f5e4e7583c117797af75a9e773e951688613b787bc217e47769ede279fc26547a405786859d4d487e9e54ac83ace08276357bf07c9d87be829271698a439ec77bef84018a124f4d88fbccb8778beaef890c879076ae2fe2885dff2a7aba41178a9b8b9689aacbe97de235658477559f819271118213ea9089aebfd081aead5a7ad987af758288d4891aef73819d8e8378a9c80579c0f0cc7805d523830a2a2c7b34aaa67d9c09937502cb4f8399110585a810cf7aa48c18812e3174836bd3ca81b4c8bf7ba55280851385bf7a23cc9c88e111248a3f7ff9836565b37b2886a389ad82808143d8d67b0fc02a7ded52378414f8ea85680a7c82021ef280d13ab77ecc26c478415e777595212b7637ea107fdf85e97da2d1d57877a85a8f054fd87817cc73785eacd181fd4d1e7ae8507c8608649675ab49ef753ed6a17d82594b8a75be6684e994417ed008b18982d7a68085346c75527dca7e4cfd827c925fb18a26fb9c7d83969e80d5c962781e2426808f9d187f1c7b6b81bd23737d36ad907c5ccd9b88c213bc7a2044cb7da30eb3848296f97a858edc7e66f5c1804dca5c97e631ac8383d3e9924d704e7be766177fc283e37e0940a081f5c3a577effb0f78d128dc7ef283a3849ff6ac768db7d7864141ba88f4fd0f85ae908783c86fdf7aea1d9976c06eac76d5395c7bff787578c2e8a180a0864e7b18d3047f8188748722b30178ddbcf278d68f468626d2a6818176b87618c81588a141c77d688c5799bc773b7706b86a762f8fd0795bd82a762766388564453c856c63237a9993867c28980d81e372fd82d659ef7c1d1de3817f0e7e7dd36cf77e48e5af80200a027c2b7ea4805127f67540e4ce77fd0900783fae4978ff664c801c57cb775701257d12f56581c313ff8387e42676cdc80a7e0541767dcfefb37c209eec7ab27d24874b3e52908b18f993d8534d932c7e948a6a2a6a81bce6f381587bb77d9feff67ebd766a7e14d49a88bf55a3791535c2888326787a68a97579943e53898613d986d8a4c189c1bdcc85633e9d80a826da754c1a851dfd44aef8d62ba41e5d0958f764995a18c37b007fb563ce7f82183f7a42d1b57d7f0edb788f604c89a6c53f83c6f508863d712182a796a8b87bfc419c5c4d928c461498b3c64e467df0f00577cbb3bd7cf9b0af84652f06779b180e7630af657d3e83c487f88c648321596d777838ed8534b14086f6483682494d52a54b994fb14cdf889674ed6fe45cd01677fac9c77cdae8f77eb63b028737324d82d2775d7bfb0d5d7ce1a574786c8be787446fbe7dd4cdba808b3d3e7f6f081176c736929aec6cdb931c365da2f60b657a63e42f894e61fd7ffa064277e70c1080eba22c7eaff558792e18c983a481be75246e828625a70d7787dd30804b1a267b30c8b7907cb36899915363b8a8da7c832c2e1c881eeaeb78400f5279d4a987769820c27d35d5827d56787d7d35e7d0838aee81787bf6f485b379f08946ba9e85f36d258811ad0cb5713fe3b036c48f803b9dee809a182a7ef8bbb47a816fa786238b207b02837b866815257d73f59f7c2c27247a456f3f8a7df9bd7a65d5ae7c446817839bde42b42288a1ae2704c77caf078d7b2ee94780d796e57625ec0d828d2e037ae850fb8070577a87aa8a7f88b9a6d080448c2a77e563cc89ce9c0e79f6a63779b5abe08996362dab3a1b5295f3a0c788b0816586d5b7c7830c990c78718d2d7ab1520c7945c9ee76279178835aadc77e936d187b67e3087a32c44e7ec7d1317758fd8d7c7db13a9d7462d78fddc781813ad7a88792a79383b4fea2758dc2c989eb612b78cda49f880c754177d7a15284f6e3418453794d7fe8624288e2fbbb792480f88789534188638656a9a84e11e2c2212b82fac52c83c91c0177bc320c81463c8a83a6d73f848fa8f3827ef5c586fee8e884bae36783cb26f87d28fd03897ee3f78490229887bbc6f09981c9e595298684870f9102839f9c44890022577c7403908286427e86c83960881696aa8591a06683b7b5f18627b56288c3c7a28517f01f898dbed87729f9d37fd8d3af9a36f8527b9f8ac97fa81b897950df3377dc74ff7d172686884b2c5e7ce34ea786a10be987fb8b28814606588577141781d0ceb5780080dc7b35b8089af50605a632ae6380b113b9841f448b7c53af8e82629c8e7b6d462c84b529f8853fa33e81f3541a7d5da56888347b008ad8f76f797a7175779db675760aa19a88e6fa9187b1590baab17eb086d71fb08185b2638ab04017856421707e37d805881cb15d88724ffa759038b588f69ba18984bddd7b47cc747938328d8319a72d7e1ae8ad862912c98eb6d158a54eb704887212bc76e02002850249b477f2f3da80020c547fa9222488c3b52c7c5b7edd815e06c4897fd88d7b30ecaf79f2faae8243c6a888761f9395281ded91edd4141ed0d5b978f28ecf8091ab527827aee97c6e424082b75bd187f7195d7c9a7df67ac230ce8419a0958948fe517f51c93877cbd7fe7fec03fd81652fc6882e1c87996f89b81c7afb5c7a5f31277e51b72685560c9a7f80e6cf7a86cbcc7cb64d1778f2c4f377c4eb0b83f3ae66890e01a978324d7d80597000884858f28894e06b6e7f37fc75b98dd887eae34880108d7b877db89d7722e2de869b79b580e99f9e822fd347852df4697514cd9d7fe032f18769db56862380f97f929572899eaeb77bb3670d85bded4318a4fda9827219bb87696b6f79f05cbd858a7e6d8901e84b76f7a2c97cda5fd17fbc7a1e8244d4ec8081234387b7494478ca6b05859607b68926aee289951d3d82e6b2a1769dab9f826582fa75eac33276de3abf77bf1f7a824bd2867eee2a257e93912887daa739834ffce37db83364850947b6875cd437897c1d8d7fa90cc4855ef0627bc0e5568409ac0d7fea82ce85b07afd7eff01eb78a8802189e84568772ccd0c80b2060e7fc271587d5343288876315283a33df2894dad79822b0e6e80b9b1dca037593b873416db7a3e4db47f87d20c89e8ce2aaf8d2b4d87b39d3f7908f86678bf43fe821016298197ea5188eadc098aeff09e7b3ee8858894b85f7d11b12c782ef4e396200a39180823cc7dd0a3477c6ad73278c7c6d4ee5bf2d17fcd6a4382b4c84583ab5b6581b8d90a7d0d46737e1dd5007aa0083076bdf83a7b62a7228138a59679ac983ba1759f3791f434af93ec47b7156889baedb06e6a8c964b139ff953427a3de10f7917afb4882cc93682cec40c7da128338a331abb76fc26618946cc1588e546a6877ff118a6a39c919a6e8d7598e435f3adadf59f9050ddb694d615", + "proof": { + "index": "1", + "siblings": [ + "115442b51b4a9bbee6b298a35e3acf1fbb2b2b0e347084651f028828bc4cf414" + ] + } + } + ] + }, + "job_v3r_an_output_its_hop_did_not_deliver": { + "kind": "job", + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-6001\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":2,\"root\":\"ff16318ee859c9c509c82f463b9db19f2dbb56f37a89a89a990c3a93c1734355\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c09\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-6001\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"45fa49b0740e4291ff82ac398db6066646150cdacd3c9db846b2b0020c30fad0\",\"sig\":\"8f0b086612e9ec99e0a7528bf209d9fb177aa434791ba16e7cec7d5c5144d291a856b0a732392aabba3da12460f6281d66b5c94be930ed4869059a3cc6a2da0a\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c09\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:6c5449272b5fd4cce2f0277ee502fcb6787e712d0d6497fe91d2b3585447dcc4\"],\"output\":\"ff16318ee859c9c509c82f463b9db19f2dbb56f37a89a89a990c3a93c1734355\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"30.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"30.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:a0d32db5da7481a02190e35f185f09bb7f64b3f4708949701c1eb8967a4aacee\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"b429f29acd1fd05985f00090e400545e14eb945c946b9efb08a2c56d1ee468b8bb11a5cd840c5dbd7ab9993be1d7bbef0d4677cad7f6fa0f31cdf15e7363d408\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "receipt": "{\"profile\":\"wai.video.int_motion/receipt\",\"codestream_hash\":\"d671344a46acfea98d2478facfb133ca5d69d0f2f9b70b5bed489986a6733f5c\",\"clip_hash\":\"491d3773994b68127e1f6f723f0c56c3bcadb2f2a5368283b1d7b34d72887dab\",\"h\":96,\"w\":96,\"frames\":[\"e60e94568e85d3835d54881e34eed0505b0f7e0112b0822fbec27fc06cd206de\",\"a78107a9e7e97ad5e681c26689b3563d34a30a36d45974abefc3170de18958e1\",\"d6b717a1dae7c70c2c9e493e6dff36b694abc5ea1311c16e9f6ee9899a16c455\",\"dc5b6b1720a7150674650f935bf37f99e094c2803ebb6e0b4770a879aae3b837\",\"5e3ec8e111437e97b0ccd38baea53ec89c7aac5b4f7853f3ba5846307ed6e55a\",\"e928a1f46b13fda9d6df994352fc60dcd02ba5170fe6d4fdb8fb5584e5ffde6c\",\"305ca306259b90d0546943be48ad3d013c2e039459454bd2085a7a4ece945193\",\"7f0a4f4b0edae8b22103f29213d308b86084a72b5e715a89fa0e8ce7d85a2961\"],\"merkle_root\":\"bedabe0a19e9bf4367146033866222af458683d627f688e157ccc7d072c88cfc\",\"work_pixel_ops\":221184,\"joules_micro\":0,\"uj_per_kilopixel_op\":null,\"energy_provenance\":null,\"parent_receipt_hash\":null,\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"signer_id\":\"did:example:sink/job-6001\",\"sig\":\"83dd5f86b710c3355c1d6ca7fb6f1f69a183cb93478c820a88a3c6a8202b90edf24fb463591c83f4e6ccbfc08de7cfb149632fca07d4a69207bf2bbc897d1502\",\"receipt_hash\":\"dc4738d775837d298424f6532db63e17bb4707a586d1dbc9d9abe45cbb1eaa05\"}", + "codestream": "57495631010200000800000060000000600000001000000005000000cdffffff69000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f00000020000000210000002200000086030000ed0a0000630d0000d2110000531500006c1500006d1500006e1500006f15000070150000711500009f150000881900006f1f000014200000152000005d220000d5fe0000cdff0000ceff0000cfff0000d0ff0000d1ff0000d2ff0000d3ff0000d4ff0000d5ff0000d6ff0000d7ff0000d8ff0000d9ff0000daff0000dbff0000dcff0000ddff0000deff0000dfff0000e0ff0000e1ff0000e2ff0000e3ff0000e4ff0000e5ff0000e6ff0000e7ff0000e8ff0000e9ff0000eaff0000ebff0000ecff0000edff0000eeff0000efff0000f0ff0000f1ff0000f2ff0000f3ff0000f4ff0000f5ff0000f6ff0000f7ff0000f8ff0000f9ff0000faff0000fbff0000fcff0000fdff0000feff0000ffff000000000100030001000300010003000100030001000300010003000100030001000300010003000100030001000300010003000100030001000300010003000100030001000300010003000100030001000300010003000100030001000300010003000100030001000300010003000100030001000300010003000100030001000300010003000100030001000300010003000100030001000300030003000100010001000100030001000300010003000100030003000300010001000300030003000300030001000100030002000200010001000100030001000100030001000300030003000300020002000200020003000100030003000100030002000200010001000200020003000300030003000300030002000300030003000300010003000100010003000200000002000200030003000300010003000100040000000300010001000100040002000200010003000100020002000300010002000200040002000300010003000300020002000200000003000100030001000300020001000300020000000300010003000100040002000200020002000000010001000200010003000100020001000200020002000200030001000300020003000100030001000200020002000200020002000200020003000100020002000200020002000200020002000200020003000100020002000200020003000100020002000200020002000200020002000200020003000100020002000200020002000200020002000300010002000200030001000300010003000300030001000200020002000200030001000300030003000300030001000300010003000100030001000300010003000100030001000300010003000300030001000300010003000100030001000300010003000100030001000300010003000100030001000300010003000100030001000300010003000100030001000300010003000100030001000300010003000100010001000300010003000100020002000200000002000100020002000200020002000200020002000200020002000200020002000200020003000100020002000200020002000200020002000200020002000200020002000200020002000200020002000200020002000200020002000200020002000200020002000200020002000200030003000300030002000200030003000300010003000300020002000200020003000100020002000400020003000100020002000200020002000200020002000200020002000200020002000200020002000200020002000200020002000200020002000200020003000100020002000200020002000200020002000200020003000200030001000200020002000200020000000200000003000100030001000200020002000000386d0000c70c909e0300000062165451bf0cc1071c03d179c5157340f01674dc230d0873680172f25e1628cfb6152833dc0b5e488502c76ab9165968ab15f740410d165d520a26dd3a036019ca178b39ff0bc5c81709c6823307c16c6f19a6add50bc2943a0360196b16e0262a0c94a21b0dafe98c03503b0d1786ea52164ae05c0b2e565100de9f19197662460b664aff09adb3041935096f17dacc100b78db77056d7c50037def2c0d54397b030c78e60c454f910027b2ac15513afd16e7801c089081bb00ab428215bd903201b0f5871567a120037d1876151db2590319237c1847b358062cab6f00ffba590ad52ad41639795b0c03a55e10ba73a2034f45391697aafd15ca70310be9f73506b6a16c08ddbc2819f5999910a0b0f00cdedbd30af49a75187f9bd518bf4dff0c48693f06e6a53218c54ed016bd15210b7f50b10680e38318f7d11c0b96c9ed022d3c1e01c72a4b184a87650c7fdd0808fdda1805db83a717384c300b730d4e03fe231618fe36bb0b47697615fea6e40ca64dfd04f2bd5519b72a30196654f6057a94b7026435720b420ef20bd325dd028510b80a1c69c50376657f152c0b7f0ab645451924a2970bb5443400346f6302649e7a1716309004761d901541bd5e02908876151db20502388b9d16e174171952c0a00c5a145906b03e16041dac5818b44be50c5105bd027f6fc70130aac21745ea2f0d24bac30b3c26ac079beb95174db4270c5ed59503df5658012f9347170143270bcca3660545bd2e07cafef417be0a340be39cab006a113119b4e7d60c54b92a0517a0bd0103002e16d8b5470c63a3530946a9e106a387b218aefc7f0c0dce870898b7a815bba5d10b9c31120114c2f91847012a07438e2f026e2d7218820b190d5a94d1029b979d15dac2b201a854b309b3bf4b189f26ce0446c28615cc693f038e5a520b731ab2042ac9cc078f728d1510001b03eb0af21710e1a90c45c29b0af59597039f15dd1896b5301865c3090bea91ba00b3e36a187d4d2c0b1750890bad359b03ddcb1d16f4c5d717f7996d0c1babbd0cf1f9e30089a782187841c80c67e4c5012b8e3d17540e53198b44650bacb53600645eee18caa88f0cdb9aba0353134609e5012a17db1ada183b58120bd9f38c00ca58d418f8dcdc0cba92a00b41f455091d50331845c9a00c5d3b930204578c18a981fc0ba9f4c1013101c20c790f0e02a9aba616d5c0ac0bd3189b01d1b90c0b8a86b500e6170017d4243b08451e84151bd9e7019e1c8b028a95eb0846664e0240031002dbb1291722ce360b0d344e06141a761838ddf01843436d0ba20c7e08e4b9c917b456ad15f18dc50c14a98f0906bf130a98b7f618bab0121958b6f90b5e55750923ae0017646ab50c8d3a7a0cfa15630274e068195a528f0c97d6640681828400fac7ff1771fd430b1a1185065365ae1725a2111938f30e0d4435ee01e8ae7d161e5384163e4d7e0cb76b35031787e81740bd1d0cc862ac02c2ce7919bb41c6169a7e3a0d37f2d5097ad273152e8bff0b3e5a1701568a31070772c3024d57040a84125e01a3cf530db39d5a0bb076891565a1760a9e80df01b2fa1d07a8b151054a90d902d062cf18844e560d47dc9c0bdd411607052563054e4ffc1657e283187ea6880b98703909a89d1a076a48cb15a253270b1e52a8023f95f815c1e928166fe61b0c242db2085824361639364c16d1b4a70bd9738704f8c9bb05e55dbe168fa9070b438e9805a7b1ea038f86ad182fc52c0d5dc84a0246df5a02512ef11526540d0de6d050045d449609df4c610c96560a097a80150244714817bbfe890c85383f00ab023c0c76ce900a7cb48d155e6f2f0b02fe40004ae4eb169b0fbd09785121072f6a97081f9d230245c8150c28fb6a03654c5a028cac95162e82871507a7640100bb87193a0a150c26c78a0b9ba46d0aa703090939a05717e210af166b1ddb0c287b430ada885c016cfffa18c7dfe40c7c36ad018b95b316e85f450dca89240d88ecc108676b4d189e3c5118fed2dd0c007e4108b225720503954817a1050d0b9e4b660b7c291906a9414f192e1e4c172f1e540d5ee271068c525117c8229f0ccb163d0d46cfef069ce15c1674350f0ca9746c0b198434024d298d177356a90c59faaa02cfcb6e050e74cf07df4cc51580856d0bb4b7cb16301e1d0a39af7607225ccc153f9b32042fdf8315ae37bb0ade6592153e3dd90b76ce3b07f81b1b163bc7eb16e9a28d0d339bf20a41815d07f77cb8096675ff15070c180d4542310b98f022052219d918cab3041794cb260bcdbd1708eb641e018522ae1872994e1099720e083c7d570a3d173a1953b5010d875fc105432db1062c9cdb18296035178a65700b885f9806f77c3319180f5616df8ac90b2fe332010a8aee181c26a018ed283f0d13297708a330cd15cd39c71724a2a50b09f3f000136b2918869cd60c54392302fe6385160f884a0bc3215d03c2ce750c687e8d01c57cc70c5ed59a094f316e19852d880061d97115757a21033486b91803d4130b4b90a8002f81880361c06f1adfc43511681afb0b2d49ae064bc9a002b73f9118a5ce200ff4731b118704840bdca794078c4d26180f883f16abda130cdeceb91050fd90066623cb1d9d25d1179d95060d2c3c790b8b20b3022a776b163bc72c0c5105d704fd8d70050dc60b184d022d0bb3902f04962c78170a2e750c4e51e50baec2a205751806185a04b40bcd3ddd0bfa953c0026db781771af2a0be5b6440303c04219738e870b9b24020273890316c6a7c018475aa90b720d76009f1c970b764e09038dc33618756d990ce39c8301dc9f0805d67cdd15940e800729cefa010129ea16470c4902ae304d0340ac0b17e6968a100a27170d186a1f053b91e416933a1c1679092e0d6dccad0a680520049fbe1a19cf2e1118dd5d0d0c2e494c08acc20604183f0618b68eb60bc0603604bd4ce108d572b615c8ea30183ca60711fcaacf095cf2330332580f163199f80cfdbc850339e23519f561050d04b253017d413d0680e38e156ac83603c958700335dd201621d9aa0bc17a0d0abd4283192354f6170cbf930c7ba9cc021f6867171b474f0cfd49fd0c576082041c0d2716efa3b20c38727c0151ae8f008134f60719e8160208dc8d15eacd3e02380b73153de4fe018727ca15f21e700b8391350d66d72504b836280753c1f6161e058f18afe6cf0b94a26f02afdeb318a6c3db160b7c310b1cabb10834338e17195259180064b2183240c10e5f79600fea78f0033585c3094419d517b1db820b1b91fa0af6ba9c011b8c07174f508a0b0980700327891a16eb8cdf0c586de80a18de2c19836f1d178321dd0bfc228d04183f8e052bfd2e198fbf990b51f82e022920cb0644c79917c9df670c1b1e4b0d576d780a9e15d515e711ac182d82aa0c0a0d6d00331856163df4200a9f1a52004836be0b7b1ceb0743d1b4155aab1f0bc0edd803b27ca2187b84760c00f10b0e86d6ca093762af06aa3c581600b2061b786eba0c7c36a20f5fae7005f4fb2519cc92a8159b5d300dc214550acd84590647a4221749a81c0d8b2d050cfa9550030fe62306cde0c3151eacf80a3b99d104b0956b0254f3f516a38bd50cbc2c290389fe4c18cf0dcb0b2fd678034ec0701825f0e218be20880b71005600479fa316f8dcd017effc3d0cbf60d807d9ee8a1864110a0dd64c2a01ce34ee0217872b18b6dc580b3424ea072f1d5d0114c2740c829ebb1726daed0bb9050105b559d50883bbf8151093130c04328500ab822f17c47aae1727daf51042109e0f304f4f0c5907710192df1919d419580f31a2af00ec9c5e19a9280c165193640b0ec148007d8148184c0dd00df4e40e1185292d05c90d2d03e312f1157e585a0bc4ae2e011b8ca50642935b16d57de0175dd8530dd432200326b2c01862d9360bfa088b01b9166019e3ac3d17fe6e8e0c0866ef00292059171c31ac15ef4a0e0bd6cc5c038d83570dcf712f01365d0705282544175d74a90be42943003c90c41702dfa3186b1de30c990a1b0224dbfb1689c9a70b9863890a57d718025097480cffd6b20927d3210d04bf5205b27cf001e1d25a0635941506803fdb0a3a91810a1d5000181fef4b17c2deeb0e13cf9003cd325e03cedd62182b07ce16b6356b10e7bbf00c328a2a03697a6917161aca1582c8ed0cc7e22e06c8ca4901390b4c17f81f93169372110d3c40d402cf0b351824ad5e0df9fb170c464f40006e5665180601c40f8102ef08a47d7703f947471932dc600bae4f6a0cfcafd609878954187dc76e0c5a14020b030b3007916806162a126219b7bb2e0d6a0bcd0252c5361901a7f90ad0f17b0ce7dde507c9086e170000140b23a0c502fd0c6117c87b3108813aca161ba04c19dcf94101d843a515075a2f1667e5100c34310a05a00b38034243ea189d47d4161f96740ecaca4701cedd9204d1aee7168fbf591876092a0d74c10b0e40358808c81c3b02f126001670825e0d96568f0e663f2a0120a8b618050c250d20f90103b628dd025f027d1969c4f80ae20210089a4cd708e887cd1729cfea151cd8fd0ba1f27703609903187fde080cd6590406719c38026e2da218fcfe4c0bc0ed620c9e4bc905296d2b17b6d10d0dffe31d0229e09418a83e680bb2902f01c6936d17e0742117bdbc6c0b1ec5b3007e18961516d99900d615da1822d9580dd10b67001b8ca41585f5f715595def0ce75d700006d7f001f1665316fa6de90c9c3e3211a69b1b04944a6207b502b60510a87818ab815a170517e40e8c67b30c129ce601a261a31873e76a17a110a010c995f10b7db673010785d116c516cf0ca54d790c6b98b103f35c3816a6b8710cdb1a2009dd65db00560ae9168f66a80b4caa280127b27616c6002b167bd2fa0aa20c53030dcf8118e6c3820c253a0808e4671f07fce92917a1ac7f0cb6d15609483e580233efac06879d611953aac01825e5510b1ec55200d7d59c166797570bc53b5f036d96380ba30c7604a5ca2d03c8c1d916f68e4d0ddedb6a0120a84b0adf4cfe16e2052f19b6789f0f60548a001519671842b24616aa33210e31135b108b327a00d855c8048ca9d316af34210be4a95a05d5d39d08827342181a8a7f17be20a50b731a0206d99c67031fe8b01657258c0b4b769c068d43b915ff63751810c0f10c89f98e01ad305117c2d3a20c04321f064ea163183f7a44182728c90bce57490155f3771836a5bd0c6216da035b5db0010e4f8b16cd4f3c0c86c52b0436cdb4093fac67167fb11d0dc1fa6d00ca983a188a4f5019a053700c19f7fd05048b73185b52a8175193af027faff8184c2e421c5a3e4419fd794e1128fa9b0e253d8803766a2a024a8d79091dfec816218b111f354a2011663f4b0e1657a20ba7da2b014015ac1805c95c19d05b4f199ed8400d93afbb023f3e4818d5d63419f308ad0c5ec89b060525400602a412162b07e917ec76b31001f0890092dfde16e03ca2186c3f4c0d18ea57005cfd1d196b55b30b8d3ac20bda8dff00693a731918686e0b4f51010bdd34b3017e18e517b11ea417771f200d0f5b730632a86e078fd3a6150765ee0cad427d052ab5d5017e58b817fdd29c0c01fe510af620f716eafb5d16fd84461047c63c063c30a00059b85818645f1f1ee6b1d50d09810f11206952091510a809fd3630185bf9a51b9e77d70fada4b60cbc2ca9112c7b3106ad665c0416afa018ca65a5158121f510c6d8b60100a4d500829d0f168216090b464f8f07128a870993a61416e86a4a176a1d71197857370f92ffdc0cd6d957029c6e28198b4f450bd980950409f8671775e7841758731f0cb2109004fe7e4e09324c1e19d0a94e0b1202a70b7ed0ba053438df173a158619fb4cb10be6d0e4000f26541985a7381976092c0b128f9b0aecfe5016dc04d117226a550c664a4109a5736b087db93e063b9609094f40b9187cd2e915f799491904bed30e1112c30e7233b30deb3c98027faf291949eba116f699681120da0d11e9b452014ee93308845a28164cd54f0d36d87301ba6d8f0611f0c41702a79817acb93b0b4fde75055b0b60062aba700100bb5816d1502b11b54c930aa9e50e189a0f02196ab9b20b8ec7570082c6fb1529cf4f1915d7220ba974420c220699026be8cf17f9bbdb0b25479b01f52b6a16dc04cc0b1102ec05c591050699b29a0b70f3e000fac79318ab6bd30c4876f3052123f116a296810caecff3059c384206756f4e027f183c170ef7c61659c1cb0c0a1ada0b3972b204405a7a0478fa0f080bdfc7154e5b0719ba8f6810e7bbc70018079c08498b32162597f7178717f10a4fde16036d568219807aad0b2320c707d8ab5a0344f1de03c72bb41ad8e1550d3fda2d0fb52e9d0098527d1790458a0ddf311f108b141a0a324cc9092ddf0f1788b3550d7cb6c4007372f2084c6377170e451d0bcca3a40c9e4b0205f872691609928b18b7143d0b8752180240ac36166e4a530d1e523b0b00f1a3000db873153a3dd501c99871180064c61580f49a0bb651500454b2e905c9649702fb1e7419bcc7d21986e24c10304fe507cba27202cc060f01a461b21ef2b4601ad45b3c0bdd344a0e81c6ff00099c30193e372016f4bac318631c660d7be234008374121678f30b0cd7598e0e98cccf0403f1c4034cbfb0164e6642161f055e0b6323c00064de2302a5cfbf16fafe470c50ebba086f079e0acf0fc718f735720ca3993c0525a47a02fea35617cf66100b0ec1ec0096243e184d66ee0a35319a0b1536d304ce236918a33dc5177d20330cbe537f09a1f28807489513167678a60c6fd9540131413318d2452418987e7e0baca87c0d3a689e05f3b88a04b0f16f189e742016a7ad8510ddc0450f5eb55f026199571ef01ae71ef34e2910f081b40fa238a311c3fd5a055c53b3055fd444164d66b81879dd79114f39ab02c4e5b90180efc51660c23617822ca40c6a98e60bf908b906c9b61018d33a02195e10ab0d2b46e50728204602c67c141819b6610b3db3b202c13739194f888817b86db50b4a10e80099a9b8171bcd560d9549b709d334041902eaa718fc9abe0b07e6e40b8e47b10748ec461958b6570c65ca550be8dda7011b0cc7162454bb0c73a7cd089b9483181c101018c137140f4691d4104035be0fcea5350003a93207ef37aa1eba5fe81d8bb05e1dc4a96c0e73e01f10f302580b1d4531093d216603ea057e161b31740fcd69f810d7b724035b26d603f78b01185868f5168d71570b26d4fa06dfa3fe1570346e16bce8880c26d4990c6a989700f7c2c318f962490c990ac60c5d3b25081f9361167662ba15e81cf10abb12250650df7e0347b61119595dd60bb9f893026e6dcd15bc84dc0c953c790ca399eb051f93251899300d17b3af200dca89ac0a357b960ada886a16c285b30c3758f70b3a19e30363f9df162fd0850ff3206a0de868b90d72c26c068fdda70396887507b31b6316bbddfd1d40387c19a01bcd0e339b5d10192b610d75c1610062d9b10064875516862df710f0b6850ff0810004e3d7c504daee0d17cf6672107cbd220d03a581048fd81617d0ca22166e3ff30a77cef40acc309c023f7e0217388fe90fb85c040fe7bb6c056a9f5919d19e0d18e21bfe0da0b0530c8b136a0454b2bd151ccde90c3b99f902598f4f1748a8a40c16dd740ec05e48023fd52d195ecdb3185cd8040bb49dbf063aeddf0845b8ac17f055e30b21f99608000adb09d9e9ea160438d815f983740f650a9a0fdace780fd846f10eb8ebdd03e23327034e29070986efc3176981db168d39a0170701a70dec1e7003a8bda1053c351c03e82e481873a4371b914bd8103bbb130ee09b82036b680519e396da1555aab71e8d69480e20875a0b10e8a303adbdf0003f7edb1850d6131182fbb80c69fe6509b9cb111649eb83184db4cc0bd5bf5e07ea1cf20577a80b19b9f3c018bf58340bf6c7400437c3a618a7a29017d4ec820cfba2df07a6b68208179bfe18f6f2bd0b6e3fd10beed219036019de166997e2169dab5b0cd7e659044d114607e7f21608fd368b1ad031821dd61e9b188ceb4d1f0a21170f1dcac61075bbb30527dd9b0acd2d4a025ae6c6179f748a0d0e55f010e56f49002f7c0608a75f591bba69211b18e7cd0e439f4d0ee20ca306a00bb204bdff3e006b912b18b44bbf0cd6d98f11db38c509bf29d90139a24316854e7016ea548b0b6323970e17504a03aac21218df7f1d16334b470f1aef1e0e991f59061ad4b506f81bfd00e2bbe1187f4d9d0c14365004cfc22d0424579c1655033e0dfcaf0f0c90ee3905afa43c1931e72d109ca04b04925e4e0a7d58571c17d2df1c0f4be71e9a430f1d61eebf1a5c53bf0ecb06f810a03f5e0f294d720fa338aa08da3b72075e8c4509803a1f17fb4c15170b66c3110a630a0e6001eb04c35d2605198c69097292e3167e0a5317a38bb50d4e225e0257cac3057e013304a6128516c9becd10ddfc050d3ecd810af9ba6d18caa8d9185be3f10cceca870764ef2b0988db2217b2296719082e0f10c104e2086fb58b06aff62a17314bf40a8e3a720c0d347d056be77e16a5e42b16e45ef20b5c216e0724fb5301da9a4516ac81e00c253aca09756541040e659c17029c1f10c7ef9f106ba2910850df8101afc70d05e5b9f60593593f1ccb3ae91a23dfbc1b559938169f26e716157ef41067e5660edfa271012584031b4f5a4017f3827918e8adb01101619300f7c2630ae0eb0f188a44d117047b3b0e4fb14c0e35056911650abd01f5abef16ebda0c19bc8f100cd3a5df0098126c03f8b02c18bce8cf0bab1b7c044700eb07591a1517c090e61820a1c41513aa850e11d62011c9e8bd0439062609e7ed32011ce33719a606460dd900a60312e17a0aa4cad91723b8500b5f62890fb00734079dd25619378f7c1e2bd79d103de9c30d9b89de041380030abf2e5a081dac0d09015c500490d38803d2525e059f15971c01a43b1cf6bf721cb320bf178d184e0e9fec9f015080130a36c87c06986f0f17e3696b1d9b8b681f79df6c1152496a10d711051056d1e90f7e27680127f2c40529c9c1152fd06316f21ef70fcf0fc60ef02e360a6cd8a3089c8a320a6af1f9181c74da157d0a4010f8b83f07a33589046208211779e893110b3e0f0bd866f8028639c715e3c26219ba363a0d37659202bb448619e5275318b809580c6cb2e00820d6651669283610923b15107900a61116df2800faf0d5096e6d651fd6f5f9195547f91a3fc76e1c8b876c1f354a391033b90a11b1e96411a4c05d11ad9dff07a94655001b0cfb1810cb33164be0cf0e9a01500fa6d7d50e120b5a11fc5773079865d404a48724177da6e716adfc611191e1bc034cc43d074b77b605ce7fd3064ff3bf1713aa31194cb4cf103833450d064ca4020c381a19a475a21c27b7811096261b07b55eaa011ccc1417ae55c017115c9b0b1db8330b2d3c5107cddbd715da7ea6159cf9160d9ba48e04419da518004e4d193a0a9d0e557e5606671e0a02379dad1531996a1f08b0b71a46fc6510efbd5c10058f951016e6771069dedc049ceb0d08e22e180177b77317cd876a10416ae8107bdb1a11dd4fe0046208a107512cac0276b752165cf9b3167db1af104faa670d90e87800aeb0e401251bee1e320cd50d8002780e1f34310af963780988db40041d5ae118447bc6188116560be41c50012f932c1684a71a0d9288c00ffa401f0412e1cd181fe4d60c2a88ef0e79e2f201fd0c2918d102cd1572087b11708d120cf1866a012396541697945e0c2a88e10bc6c8fe064fe92f1f3be56b1c5dedce0dc3042f0fd5c52e111557bb10798f05099fb98a034943cf0af686bf091f3cff1c69a82e1f41a9271febf0551adff71d10dab0810fa72a47068b0a270607bfb00650e4c71e4462e017a57565163b0a0f0f64115d0e626b5a088884cb018ae7a2186da3d21bdacd4f114abfc50e10fb150e304f5402bf32150438672703c0e0d21dab1e4a193936f30d838a7f1160c573066dd843013418e11564801f16b1c5460dca16aa0a5785dd0a89196817b3c5e50b1a91290007850f01c7d3a5159973710b0873a50096e43e1bdef7771eba2cc71a4ca1871a8448d6104c29c20e57caaf107b4c8501eac5d60a8a0fac080bdf921e35547d1cec75a211762507110f194207e749db0531b78a08376c42025117e91e38a7881bac8fdd0e3cb4a21050fd0401935f18021efa1719d250051080eb980fda922d053af77c02f414581b8070fd19640d751df110480e45d4350e3de9b1018c55e7073013fa19ce1c2519b44b8519ab280d0d89799f10ababa40037dd2802d94361168eca98188591cd0f9ca0570d74b47803df8dbe1837fe4e1682d3560c6a8b2f0b1db84608c02990017ceabd154b7c481eab99cb1a364a841a40bd4c10c432a70d1fff4a018f9a3f067db96a02cbaf7d1b23df4e1c4baba01c27510b1c57006310f9475a11b909650e465cfb0f07f94702825d76042dee761bed0f931d4b6e801c558f120de329bb078bb8b201c1e08819fdcb991a97b3c00d767fba0ebd8a1c0fb07fe20f81a8fe0278cef617d930f116dacc2c0cffd6b503d39a280a12dc741960a168194b875c0edb034810d4896309b8833e16db256e18b6dc9c0bcdbd440c3d401f03ae47c418ee55a11b1e07b60b428e00010400d808827804081601010561179c1cc44d381ca007c01d19e7fb1938bbd3195948481080e46b0f7bf9a1016f6dea0a3ebb960a63468617799aa11e2145bc164538671eac8fa511a8e7bb0e371c13066446cc0912dc14091a7db003039fab15aa812316b809b20f22623a04ca5a9902195e19097479411b6522b01e8ae3c918ea8c831171c29d10cebc24097e016706b88d44019f1c0a17f31ee70dea07fe0f773c7908680fe1078ac2f40172f26816950ed30de17d740fdd4f18062bb0e601f454dd153ea6a8151fb7440f3b4a6208d94aef06d42fcf05f26be00047085a1e560a2e1f0887e4151ce3921df759761b68b2931d71251e0f3c61701115e654119f3fca0451318c069bf0c00985f905165b043f1a5e3f0f16245460170cb4c211378d8e1194da720e8922cf0407c46c067c71a806d6c4e5056e77b41653b5711de39c5d0fe53a3611e615d4026ca8c204ef3c7c06d100091d2ac27019c0f4b00dc339c801435ae2022909a9181fef6e10e5a4ce111b24080aecb1c005ff796d174944fa152bb9950e9ac5670bb644c00214824b0553bc3318d572521fc1421a0e4791cf0db471b20d83bfca040b3ba209f2bd1a038cecd91a3f425b1760faf40db31e2f0f78e9df102eb0830d350ca603cca24101ba9684002316c51d9241d11e0aa6601ef7de2318b213000fd226ae11e5c2330e6821890f3968d30e29fa0b07d100e3060d229f0420e03117a8fb00170f9eb61904670e1ae23584186b550d0e1de86f043442a70708592d09d99c2e18b177e11718b680110068290c14a96a069aa87100256d781953720217e210880b5e48970ca8742c0a0d6ffe01a89412194ea99c1106a69311f865a50d061ee40e2dec1e028e03930785ac291ff5969a1bd670151ecd45c00e0086d110ad684a052972c50a0fad92028b7eb61769286e16922f6e0de68d830fd1625911429f7e0da72acf09141a7701fb47d0193aa7271e05d8711c04af8a1017fd7c11b1e9681147737d0f5952c70dbd30950033014f092c40351bca96c11d0f22b60d6464460e0f8a570f4d9ad70655f5f009e03d2018d0669e1639f3ae1c815c640ebf472b0e1012d40367d1f8051bcaab15b8d1791cc9fc570ced45b800faf0bb008b95cc15665ff51439548d0fa1b02310b38f00031d630818b40860170939441ca9ad74102e92d50f6dee9411ff505b0562b62c0a4a25af009e2e3800ef618218edb9f81015c8b4114add6810ab3ad70f4463f70d43d43103e08d981d1e8ce81d9b8b381850f7011d6956b415057b760db9453710a31a88025385570259f86500ad99f81ed5ffc61e8701440f74151311eb077f0fcf0fb90fb59fe502a68f9c0a042f380690ced41db969a8182907b60f9ca0be117ae2760bd9f384079c38740783c53216221ce415d4458e0ea36d290fb6f2ee063bed64043dd4cf00d3f9471b8329c61687dfd31e86d85110b763960d7ae2ca0d78e9680d2adc010a380bc703f5481d022028b11632dc190f8f424b14acbe410f0daf4a0ff6fbbe0ec3c83f0ac8c05e073af2270268e31c029d6e6d1d09b0221fd38eb11675d1940ea9b2b20e4855bc101f70d401b5ba970771f3fb02431ab91946257b1a4db6be11cb8e8e1033eea20027323203db1a4418cc017618e4e41c0f68a9c903b836680617f7bf15882dc51dba5fda1e4180b9160ae0af15c643031089aa1b07ae57830a7e53ad1783a7631e6403431ec944020ebacd2b0f995b5601191e8008cb9dc71dca1b5e1fc94e401f34b0c91c90a7da195e68be0f8583fb0e2b82880d13d6dc0ea9764704503b3a0541f41405fc4aca014f40ea1bbf890c1bad14e01cf195781b2c5c141f7bf4e00e7a88cf0ebacd671103b4d00ff97c6e07eb1712039fdc0618d23afe16fdd2be0eef2ef801007ba80a10475617de5dab1819ee3218f68eb810212d610668bdf306e7ed061e335e5f1e7e51930dede2c111a67d350a1c5a64031b0c3218e2b71a172e29a2161203eb0e378de304d066de08cf1e9107662807098e8bb8086af6651e139ecc1a44e71f1ed67ab01b9c39ae1dc5765f13ebe658104a4ee50f8e0dca11fd3922075cfc7909acc76f0411478f044fa19f19c242101dae522b1d029a2e1a1eb53d197e90e80e8e0d1411ca1d6604ed552d0a29687b034bfbff1e0a4ad10fd999ac0ec3046211632f48101a2bb8009fc5a209cb4696172a6bd11a3e566816f2d0a40e7696690e4363ea0394a1150205573c1aba5f32107d10480cd8e6330a409d8c0190f1b11575dcdd16c69c970ed02d2102b09e4405aeb3e609eda21a1b72c9611ab973971dc82f7b1a49bfb31177e9c5100496781044275d0f2b829108259f5405597bdf07ab280a051b78a800fb70e71e96e66c1a0085ba1eacb8251d1c778a16b2ba95100d3e13111eca9410b4c4240aecac5606a05dd10408b5ba03d490f31eafcdf2153ca60b114427f1105624ed0dcfbc970392ba3901e7c0191b902cf217e76a4f1e1743df19d1acb20d6a1a3310b28f150fbd199e0018476202dc71031db591e11c593eed164f50280f4e0443101539860abfdc4a03df0d6a165968251f13c77d1ece12671000d9891347a37b0eef6a6108310ef604f734bd0661126d00ec5caa1ad532591e65f9421d7bcb2e1b994d1b1f682d7f0e46af6d13f8332d0aae055c02f899d319c4dcba1adfc44619a3326b0f6382a8100ee4ce0d8d2b3406e50bb4097479b106a1536707fde4141b8fe4871b1ba0661d7797250ead518f0fdc74e70d3af7c2073109ac0af872ae1b20a15e198c239a17af4abf18a1ac270fc8baa90eb353510320287309dc1d16085f828c180059a8185af9c90f7b4cb5104db1010cbcb95a080dcbf403b5b56a0a29686919bce8c316a6b8830d6cf5c811f298900ef309a90f0888941118856f08eb1c8f098abd920ad7ba6e1d07e3ec19d866d91c5aec901b0749c0103e3cb7103833b8066becbd0aff6faf07affb2f05132ee00a0b31e104751dde1a712fee1cc2b3d31b41a9f50ef37a711066288c0aab7a190442eafb08c0299107b043a215fa57181f3aef261ed7c2b00dc375170f89e6ff0684b19604de13ec02b24cfd175367c619f5fc161135c95610cf9ed30837150903ba2df21881bd7a11824e740f9e465f0592bf5909cc93c107015c610856f0520a7eaa7a177a84291d75821f1ed5ff2d0f77d21c0f68e5b00fed8ff9082219cb0657eb8000e076bd0aa664cf1df96e991ccf6efc1bd714551c565cb6109bc5170ec5507a0e8b8ce10d9e4680044e540304509747066866e80201129c1afe3c081f96387e0fce34c90f4c65070ec8d87e074c119601bb6d1106a578d7081a78fe05ffcb971a2b8fc61d42c8901e52ad2b11c4df78107f209b0ec80d480e07f9b802d6be911a4d3b031a05af1b1e2bae4b1ea6989118c7f5501089aa591202125808a0b4e507e13d0301721bf61be00ca01b43c83e1aecd1e01800164610a85faf1171feb81081552e0e3dd28008a2f2f705fed50b030f4f581c3efa361c8200e71c6403fd0d3d96bc10122927108d85ba12c6e3cf06217f2f0288505d1e51324a1d78120b1d52e0161a2264770e4d0b5a10e3b28d11b353dd0d373aee00146b160417aabc052c4a340785acce16bbddb219865db50ef1f20c11e4ab5b0a4fee3c02522ee21e162e711ce86a0716a9f06b162fbad40d49198c0dbb739711ef2e840817a07603784e46040c88691b90f9301d77ca0c1408fe64138dad180f2c99b604c0dcce0312e61c075183d302479fbb1a1cfc981c86e2291a0672410e0fc65b0e0343b30fb3e21d0fa5c00f074337190856eb92088ee2eb03ed031b1f9b399a1bb8171e1c84ecd10ff619520eada4cd1044eb680461696b028739801ef8fdba1d77a1af1e6f10d40e5f3d780f7ef2cf0d6d669c0e1422d003f78bd00146c8e91776bbdd17489d570eefa6a7110881e3006dbf1c08df56620868bd7d18f962eb15eaf0930f9cdcd60997cbae078096fb172633f81ca011d81d2283a40e79ada714e7f05811c7676b0f4cf43c07855f110aef373b023aa2fd1951f4a41a06f7bb1aa7eaef0eaf0e11154a16b00dfa299207bd4c62065183d50ab507b5090f04471d31f7381816259a1a8b5eea1e5f54b010cef82111aac9cd109006750d30c70d018aa7af002396af1a9ef2dc1e954cd61a63696416d424b50e6f41d610bdbf6e0e5250460f2cec0e09873777041d5fe606b97eb505b18b12170992fa1abdeff316a8f0c511d33dc10d04430f1139688f11a923560657e60f056fbf8f01b4a3c3020369581b5c7c161fede6b11d1e59601dacc2820f296be613968b1a1512da8506d15773068cb37f002b779c196b423c17f8783f1044b68411f99a8511bc19ad14f0d2ef021d236b06c4aa8c047b2edf0a45bd0606076de21df076ba1e2d71a419278ed512c4eb4d0f5f5b530f81af0209869d05099beb7302a7261219135c360e2cced20d3e787b11c977b905371a2906a42bf909029f671b4094ac1ea8095019cba89a0dc48c700d9ba713013acb3804e7a58d0aa2ed0a09137b7c000400ef17a675b70fa4a2d90db6f9c31087cf4204a8088008fa63ce0530740a1e9abe781aa95bc910a03f4d125473ac11fb40a1101b7e0c0fdf13af07b9d56f0518f73d0455a8ac191eb5471d5f54ed198aed510ee1b9960f70c92211e97f2010b64c290e923bd7009eeed009c7211f04b6fde51b4439371a5e495b1ec09ed11a4019860ffe8cc2118f42571130c0c402af87660103e9001ce540451f647e3219c0588917d018451c6dd2ac0f3a4a72107707481060016100d1cbaa017e416919ed76280f78adf90da4319b01b4a3280a6e16890281c6fc1d3fe65e1b49e86a0efa9ad811970a3c10bfd6b1112034e6023d50211ca813cd1dd0fe661c2cae001bb60c7c0ed2269612ab435e114c5e57030212e80a9b99371f424dab1d5752141afb31e9107e63120e4791c20e9b723c11508cca11339b1508934fdb04f734550104c03d18fb41c516273eaa1a81eb1a10463e4111f010ed105db55c0ea7665f019a29cf01fa30601caaadaf1eb4682819e6d9771a84528a0d8255f30d7b88fa107d10dd10ce69710391884e08dbdaa81defdcf51af0d2a81533dc290ed518d811c5e9d01464396e07ce7f080396643f07644ba41c5f35661be354251de5922d1a793b4310ea96b31385cb9010b64c0f0e516e57130312be0ad42f12092e2c4b04e6afbf062c4a8406ea82ba1cad33e61e61cf801e2ab8fb1c0ef9331c8853e21003968613701590133170650fd928c206a0b4d70a84086c04460f860ad29a8008339939086e72ee1cda29411ed0df601ee6b10919a5750110783c2d0e769d6c0d82e464001ccc811eb491131c0215ff10ede2ed0fa1b0ea070b88f1098182ef008779591b0a54ce1ed0df9a1cab47d90d03d29f0db207b50d2818cc1283528205c8c59c090d1d700906c4d2095baa9a04ef98870affc63d1a9337d61aab47a81b1bd3991ea9e00c1ec825d71c91ef880fbfd61214f3c8f00f2ec79a03c9694b0a23b370080c2cbb01a09cd00abf389018218b531ae84b8e1abf89191fa0de9013bf7cb510b6dbfd0d0a815d11c339de0a1cb1bb049bf5c9007d2a191a357d9a160343931c3fe69c0d498a4013d23aea07024d12022832431fd23cbd1d265bcf102e9200100717830fc2c877002e25d2092d364a015a8f831a424d921a4a8cdc13a94b2b0fb38fef0d2cb7ae076afb19030db8131d1fca581c6718e2143268b81024972e0e4873c20697d05307751d470173b2a90ae6a07e1b2828b41dae522e1e8bd944172ab9651f48bf941b3fc7e10fe43ad41026905e11bbe41f01d5e7d502e669d11d6518481a0eb117110500cc10a4ded40137ddfe088d4d001b0ed0301c6455e619d08d171df2e7331753039c0d086a980ff420ab1340bb640dba7368057e5d44037bd3181e3e19651a20fda21834bb8e0e51fd5e0f52c12903678c4203ee4a901fb18ba51a7010cb1420aaa41000861f101d95350540feaa03b7f30a06f270f01cdc90c519783bad19d55b5311ad6864117a17080f3c7fe310d7f30906fba61906fb54c205a010c2065e963909ff1d221ef1bef3192c0a9f1a926af31d7acbde10995baf0f171b091473887c02cbaf4b1c4495ee1e3ddba41924a22f104598d70de97fd50ea13f6307e3248b0a615f11068f8662072a0cf2199c06d71b2665d01e0215b81712f85b114c0bbc0d06003c02a87d2b073e17ce081896901ba7cbb91ef878121d0a7d0c1d1d3af7132f745612527d9412001a600e86297d04dec1c803cabbc3007dd3cf1e708b2f1e642cb11d375f3c1241bb800ea274db0ddde59b0dea7f64009b80de09a9ea1c097331ab1a06f7c61942fb3d189472ad119fb7d01243302111d864690a419804076cddb403ec12991cd250c61afbb6711b5050fa1cab47fd1ece8d5012a2e2ff1014401a116c48260aba6fe8039b4c0703fa075f1eef4d381c246fa0120cf2c61102d2fd0e386f9a11306dfc0ed454b7026863981c46fcfa19b72b091f9661fd0db7bd241362c2ec125d553808165d3606d954740809fd9d1ded0f111d2da44e1bd008d01b57d7fa117de5a613c6e736157d66750a50e45f0972ee14041d084f1f8935141f12c72b0ed3cc2714de0eed0de066a813cec91407588a43002909c91b16a93c1c1204b41d4bca231c3cb2600e2dce7d1203917f07fd8d0401227fb70480960e1e3ff0ff1a2da4721c4e279c1e837b641d7507660dc0b8b80d2abe2f03c613e100b38c761caecd9e1a9389f11c59f6021d33e33d0e6154fc1024eadc0634eb5e0686f4270747fbbc02b34ceb1dcee93d1be2a60311263dbd13844ac810d126790954041e0a72e96a0149b601044155151d2da4cc1e19103e1ed05af21b8ccf99199fc91311fbb11f155fcc9e0e88b1d811fca8aa0786f4a50313e1e91b9e44af19e1e3301a1d440a1e27d64c13efd43912a0eaf409f820a70593b53309809607070ebc2300e629011a9055281b847b4d1de1e3c20d5dd3620e526e980e2dceab0f342a870678fa6408cb4bfc0903ec1719fdd2c71eb4e3c81d5eed7f1262c60f0f7b88e1109bc52811f9d62b01678c430a64e5fe025a4fe019cbb5de0fa9760b15c176b01441b7db08fba66e09e8e313039fdc28053f12501e8fd0881eb43fa81d9360e91b6da97c0d3bf7f611288eaa0dd208a21015757011d4012c02fa30db197c6f5e1ce440021c6ce6031b02cdc319b992e511f93305137fdd7305a7647c0646665b024115171b7812031f412e131eabc2590fd5183a157fddda0e3933d90e5859a505a9468503aaeb030489d6d407423779056fbfe61950a2db1b4224681f40b3071ba6fefe105150bb119eb79611f209c202081c520a02f6830a39f7fb19d250431aae851a1b7726ba1ea0079a1cb6e3f10f91caf40d93706700c7fcc608d711bb074570bb1d9f11bb1b42a9211e87afa81d0b9c8d123cc95f14db9b2a01502992019576d51a76a16410c48c5113e108f710a0ec970f6892d0118ac1e30368c2a502941f9b1ee79dbb1a4443751b5df71e1aac8f350e844eb60e84a1c20251806e006635771bbada4d1e3053c01d4e084f1abb2c8e1ec35764100325f7125a612213682f8f0fd6dc880a4ad3a409e8e34902b3cce91c15bda41953d638186296401ea48d560e5524a10dcfda3b096cddf2061f468c045b10b20a35dc871e0af8281ca550eb1b1c1bd1142125031245ab7d13c1764f040be4820523701b0115ab2c1fd95cc41d73e87213d62e4c03123d53009e2e1d1d5a670a1f3740e21c41dc171b106a031451003f0f161b73149399f801c67c2a050768bc1b21e9ca19fcace01a860b8c1e09a6f31c666a1615f443730face0ff0724aecf03371add0571f80306d15c390007ae511e893f431ad346901ab5e3581ddd3453148eab2f10b21e730e3bbbf60d2e3fc909b4161d0a2b4f2309a6bb3609e415d21dcf64211fc8fc071c9456551eb65eed1e201c3613f737821380dd8112b3a65e02303cba050205cb1dff3cf01aa48da21a3101e51188bd2715e7f27113202d3b0915155f09fc9c000754b7061cba36091c333f5a1f1962871a6392aa1e9d81b60e5560030e4b30c20dbff441126ca20712bd842d060f0417073d7dd30399656d1b2fb9ab1e021f961c37c56f1ef5c9db1b81eb781d7a83760dc58c940fc960f210dff57e11b8b62a11991f140f1cb3f902c57c9c19d7eb191a0066d91e298f690dbff47914e5fa6d127ee1ab138256dc06b09fd506b04d94070c88cf06d0b8a319bf0eb6195852e1198701b21f84d1d8130506e80ef8127e050ec63a09ab2de403011471016f56b01ab20b961a6d8ad21e9bb4b812e4feab0d7e81f6137580400f4ba1420f954b1d0a2ed5d409132e3d049211040a582e691ff095021c91d0c71eff65f01318c61611104e4b13a3de6b04279030093e1cea04af57a50471f8940835dc8904a396110a3160f917ab287d1eee2efa1ce774d9105bbcb90d1739af0510a3d203d2a48a029248aa1d994d9a1bee8a3f13854a8213e1081114de935a07b6abbd069120f20660caef1b0315cc1b6da9361bc26bb31d926a050e9416c611b898f60da89b8d0a2bfda80a32adbb07a3e8d4038c05c7063074b21e14421f1f7dadda11b1311d1244af2b001bf52d0790255d084b20d205316a5c1f5fa6971c2546dc0fb3a67e1442b16103680c5d0454602c0a09f87e1d604a7e1bda00671f3d56b41dea37f419b167d60dad33ca14193fa60f5c0f3310544963021f9130013aa2711a6af0361e890c780ec56e700d54d85b0fdc03fd133a526913b12d6e01a8e6b806fb02501f09d95b1a36cfd81baacc9b0ea00a561383509012a9ce8912d4b77c08010a2e066f16380514cdfd031fefd11ed398381bb7d96e1d0a73881977a1ea13ff1d66139bfa6305fedf9302964dbe1c5a3e3b1d213baa1a9ef25c0eca42eb1290a1dc03b1ecc606f5f65a00b968851b5da5161f63360d1d7682fe0d5fea44109ea0ae1183bf60111de8840a68619e027e81811c932da01c39a7311dba88dd0fd3cc3f11a13ffa0e099f5a000bca7003e00d671f56e13a1e972ed00eb95c33138daf440656f5f40702aecb02407ef71cc51a4d131849bd13479f98135ae2e704ca0d750886f912077431851dd484ff118daf7313e9e8771220aa731382523f0451e4bb05af05fc039f714904747e431ce77e2e1f3b189a1c7c1dbc1b6793aa11fd39f8146e17650745bd4b02669e111d2208361ecf080615231f7e12c5e9d3089f15b0046aae50081385ca0490d8d9196b424d1db9eeb91e72252c107076b70db0d2d5144999e90789756b063901b705eb177908fa59da0447574705245cbb0456f0041a7bcb861a44c89214f4c217148fa7a612bb8ead0352da0d0144438a1eace1ce1d4f7908137c66a61421a6491388bde70572eee600a678301c4896aa1b2c52081a5a153215c36c5c14c6e5cb139510540f9095350ecff80807521d0e0aa8a73a03dedfeb1ce10c291db81737128bb73d0f381ce603d49566010a1ce61d0c03dc192d7b251481d96b0ef8bf6a0fce697809d7ba5a04f1849d00c149881a021f041bbd93680dfb5ef9105aa58114087b8a0759cd1809057ced07635041055183911e93b2d91cd183121a5caf0c1f0315141bde2a14127d649a131749cb1448206b08405ace055eed8b1ae703e41b8a68e90d78e9ec138bb15412cb52bc0398cb4005be9e43086355ea1ed127c0194db6b01cd008191d73c9be192e1f0613f3ca3f129593c20ed536a700491fac1c174dcd198047ae1abebc501ec72f990d5c69af0e4c654112fa338211b7d4e5079727d606e13d9b0a3be3e7034eb0e21de5b1411eee38121dccd4e9139df2cb1140710414728a4908a0103a0354c5ac1e4c6e411d6455271beb2d8e1b89baf113f63be10e147c83108d67d0058ca91008227576052790861bdd342e1f1f26321b617d751a4510431432684a1394181c0ab22aa31bb8a6f8120e6ded1406872a159787611434648e0a71f37b070d221e031c8c2c1e50c1dd1df4f28312aebc37140deccf13968f8403161972067ccdc81d6760011e32689d1d8f88581b3740581ed9cdfd132d7e3215afb284013113db09af48eb09967e641deb7f4d1d0bbbe90d98d36c14767ea8139c79210f5e44f7113bcdb1071ea767094f4adb1cca6d191f5113881cc1199d1cdfce701e1906b31156e848119f99ea066c340301c1c9721ebedbce1be473841eabeb2b13b523ce0a35dc590064f0511dade1be1a16a9c5147d62f4135e538e1232eb75072648ad05611c5c1fad0a671e5c2a3c1a1d3a2d154234ca14ba116a02e3e4941b5f87fd1c03e2f011a06d111484c92f14728ac206ae05b908eb6923051f9d5007cb4ba2083165a4196bc7531dc2bd571a7c987b1e06720c1ffd98ed0fa80c871388bfdc121a416e0abee6cc0505d82c0006c0281cefa9801e46d3481b525bcc10516ebc0d0a2eba063ec04f05a70d130a6a4de81aeca80a1f3387bc19cd4fc01b380d1615ab41751440bb42124a1a5f0512ebe70767751d073074c81f053b0f15b521a714bf7cd213499b7a0787efdf1b21e94a1ead8fa81a9a243a1c85e21513edde8d125f4d640244c3bc0216c2ec1cc68ba21f549007158fa7c913ba8e650ac25d020a766581091b21730552d04c1f0501011a223b241f4db6f61dbfa8921e5209c613cc52f20fef4cf113edda861007db9a051efe0709128a6a01f654a41e0248281b7d8e8c1a887234117aa6200fc5c14c1510de9312b03576072f8344006dbfae19eb2d011e687f691c322003157fddde11068b7902bf728e1ba679ff1cadd73b1b6d0518147aed3412080209074dba8b054b2ae31b6f9f8b1299067514270f690643371f0901b3c81f4225181517c60d1434e7bf01997b361b4744c11a6f9fbe194a59d41f6ace3d15f933af04b0a426085b62e9099688a3038cb8391b99d2ea1ecec0251e4cc0b4136aa69513b0b2e51235641202af70bb0771fd4c1ede2ab71a966bdc1a4e8d1b1bec428b0d48e4091222a45405dfb2e109ebc58305a850db07c5f21a01278497190ff9831a6a4c5f1a2b66941236dfdd14c85ebd12a3e29b0910a8ec0a91c45d038950eb1bbae4371ede490c14a8ce0113d920b506597b9d027620aa1fdc9fe111c7e1c3128fa5eb0858dc0407a57da60817a5ba1f70932215eae6d514a6d2d512e8ee9d05fe3630053dd9fc0576c1021a08355f127c6cd3121eb444110daf960206978104d3f6f31b3669c01c1ce81c14fd25fa136d9ce6007184f206a3e8211d4d8d761ed432121f932db41b7eff4d13777afc13fbaaa40a278be609e3cdcc097240da1dd246eb19d398c21cb353a81cabccc313b0337211f35ce711692d4b0afd3b770608ba850077a01c1c256f0a1dfd6f2812ee5d82129df6d6034800c300e20d74056689cd1cd814a01e589acf1a3368e012a8d253096723ac0ad8547107a2493a02cd6fd41c61cf311f2598551ec44dd7197682231581541b1557e892034ffdb41dd45b431cbc4bd619397ead14f53f8c125fcc56017760c201fcc789197cf4a31c1ce8291580d7a8145dd67312718e0f0f2d0a2209fcf3670aedfe6808236bcd0ace7f5b1cefa9761b7c46341c43245e1d24797b130606d10e314f3112be033e0772f38e078dfbea07a2a0111c66c69419df490e1bbd936812508701031ffa0020c16f36128e2c1b13489df601a233fe09bacb72055460fb1be98927132a0b600aa1aab31a9d06611c397e6d1bfecbb51d6303ff1294161c154d89a913a5578104c31021029308a21d2732581a02cdad1b4a59bd1baf5291133ec1d4122713ff144a1429073c8c7307bf8f4e1b7b6fb01b26ea281c6da9e51351027d06cedbcd0707c43c1c91d0431c0501dc1eaf71ca13db1a7e12326c841351fe4d087c1f73050443f6046cec570ad3e2c91b96e6ad1ba531681d0c692e13290bb01263432713c1f96d0299bb030565eab01fa96ca009ee4b5a0acc98ac1ca8eafb1dd929491e41b34a127e600d15fc259505607db61f2530f81bfb8d43156ba255135006d40974d5a7074a34de1e76a18f1ea6f4f51d32ed7d14566b78106db98f14b913c5049c99e705d85ec606f084d01bb167391a76070b1c1c1bde1a68e5d9112225c013ba0f2412d0c5c50602aed6039b517900aa3db61a954c7e1cca6dfd1db1e2001f771c9f12d7ad3812d534e51142388a000ff8fc0584c0210713853f1f01c3e71fe691e3134b12f0036875b31f51bddb1d8ee43313d7a7eb149a817c093958701254790f151c37e803cbac60078321911b9a1ae9194562d01f0fa6ff12c3ef8c0a0807fc1e9337021a5b5dd61d66bc3f15566d3914a2e241068b14d11b33877b1bf7595d1474866b123dc5ae12fb2bf300aabd61040ec6711f4a711c156c1fd2120eeef90058ca951d676afb1bb37cde1b067c121ccbbf4315a163a0140212fb07c4aad50146b1e7044ae2981a68e5db1d97bd731e8a35d41dd6a3da12604b7014eae85115c172370632adfb0481911b0231d3bc1bc7ddb31fe037ca12d046bd004fd23e1eb5ba37132b828813f8b6e60e424cf504a9f969041e5581048049b11b37bbf41f34e795138bb71c035405501b434d6c1b1fdefd118a38871332ef8004c4011b1ffab6801b39f9ff127d64071453f69b08738d940744d11e1dee612c1b0768131303145704f790b9037c24060681e394192479031c24a2ed19d7475412517f14144d8d9314a5daaa022604b61b27b7371c02eccc1c51ea42127e62d31335e3e0034575c40851313307ad70ff1a6ddca91dcabfc31af9fda81e1c1be010b1e9891257ec7912b3acb801c4cefb1f61afee087a8a8102ef8a1b1e53d6c81fbb506e089f717f0819e39405a94b1508282a651b5bafbb1f479e140f870be505d019541a54ff311ffda2ed1c3b376e132ff52506d348340787ef1a1a29c2d01924f4391bbd9d9d12633fff11844ede13040afb02f4fdb01eab70d81cc04cbd1e537a841475820a0729206b0225ed0b1b1f82171ad131e51ece1250146f15ef13e579a8079a04681f24a2401b37e4421d6860c214cad576140310a111ede2e508d24ddd09e46cbc058226c40a30c1ef1b2a3db91f92881a14730538156aa4c2123cc74f120391c0077ffc171ed05a271e7ad5ca140cf02712692f711253fcd506799ebc0aa6c0b21f5b90181ae6b127126ba62513a3e2ca04770e1305bfebc3099d85501b0a7d5508c085dd08f219b90516b9241d9c2fd71bf16c071db65e2f122b0965017432c219eedc041e3f1996143dc50e15bc092a149e71b814f933da0496e41b034c24251ea8b7d21a68e59c19511d261a1cc9f71246a7f51146a5280f5a523304ca0d6206f27003090a9c361a8f5ffe1daf1f681e9d4e96132f74571484cd9e0aadbd7b0408ba0e09b0f1531cd866ad1f398d80138c30a7145fce28120e698c144724681d9f965315aa6764092643bf1d5700081b31f73d1e307c931f2a7cd811815a3f09d763b2066c3e2609cd37031b5ca51a1da0b5241feb9eea11c3f12113af3589020e78d306371f730082ef491e359cb11d14f0d41185c99b1358e8d9112e7e0613f6bc3e058e48fe057c24341e0f18f01bdf20961f265dc11202956b0fac510814f8b4bf088c57dc03c7de9f0a7a8aa719525b3d1aba880512202f2714be0371143562b6060959cf0af7d8b21f4f717c1276802314a94b4707a8accf1f4f179712c85ead055f8c56150fce660a78a3fe1da364481333ebf90362691c1d162ef71f08b4f912b8984e000164f803b936451add67e31b4e64711d7897e61cf78281139f7126087483a801afb0b21f092d2714c2f5590e06ad19136aa64d03c48e4a0235af721e19beaf1feb377f132f76e31f70ed8e14f14f0714e20269130d6f8f07f96dfe1b03ec3b1e46813112ad41a003cee0b509dbdf72061cc04d1ffbfe251fa5a27512db9bd711527f4f0370adf60843dbb705bb6fb1077e06381faecd1b1c7aa2e312e5fcbb0acde0ff07ef417d1f6eed23059e2efa011354ca1f56631220b2040b145869d90423c75a1576340b20d7ccca1347a52202ddb17407a1af4a1ebb747408eacff11a98dc381fc4d24f1ed127ab122f7ad405d1b37c1f7039b51271923c03c7d30b200b5a2c1234e58a0584c057096f11a001fa99df1fe5be4f12b69e131374889204930ce91a60a6271e265bbf13231d2515d7265c0824052705c9c56d0a18ed9913b2aee8068d525905522c66051e03da00e800d81c77e9321c7a31ba140781e50dc632f207c873830598cba61c8285b11d2c85c91963363213395405052a1bd213048f491576ffea05620dc71a2e67b714298ac80a4c1605056a00121f31200a1e5284cb1f37babe0a7ff78808377169085279ad1f5cdcf91ec380c4140cf03712b0357c0a27dde205a3441f054c20791fea0adb134d0ab203e32e4a068a757705227ab709cd89f01b7158d6111eb2ae14009b7e00fc474a01252d921f2af5d811ae393e142125e80078f7300884129c1d4180691c92c69a1e4896ea19f2959413040adf0eb471b412b621cb084a349f1ccf6e91195fb02413f4c48c13b2acff00ec45a01b9da0c21f5e284c14b4a60706b511eb138ea7a0131eb29107f366c5084eabb01f7fd14014990212067d15a80abacbc0083f0d4c1e647efa1f4a7105055374d71c3ddb4e1d14613112a7d6320606d3941fd3262b0831134c0458382f048da96e1fa95b9812b4a88606e65dfa07325bf11a7010251fda7bf3114c12d8147876a01462452f0610ff69047a947c1bceca901fa33f5415a5c3c608bf8f9519a0638d19992e281ddd2ad61953322815dc973f15f443b301a2738f0aff224702c73c091a8e36a5119f7b39159a813f0364c7d801e8c00d1acb112e14cf42b8079307641509f78c1fb9d72e07972ccf1954a3f7113fc3dd0037c6cf1c45dd081427154f0a5abeff1f0187d214499d4b063e21341e7964ac1f817741126c2337098b66e11f977a5c146ba6b2069a5bdd1f7a854e06b9da530213d47c1bdd90501f0d888113893a3012efda2304e9e3c6001e630d20700c3314d040ce132a09e3032b637400f57dd81f29304609a2a08c00cec6c91a436c2212557587127fddc112d6b1300405e2a21f6e1ad21420a87a0633fac0054705c51ae3546f1cc59f911339d30c1486c7c01439d5e8079081931a02a4101ab25d821e040161157990741fffc1f003954a64155aaf771b08ba2e12fd29e707eea2861fe90acc140d6f9e062ca69d1f2030d8031667a5038ef64d153d421607e8ede407a85537032cb7e01f56364a07fca1481ca7eaf71fea83da040aa1e81cb873c008217f5f072f83491a47aac41435603313ee57e413c7e38f05f2c7851fa9e53313f8b6e607cc463805d257fe09245c9a1f44aca414e4fc3415471e3401f4a61b017760d81eb96908121dbaea14c8dbbb07e6a56f1ba4311b12a7d67908484de50add18b31ce254a91dcdcabc19a508e313740785074757fa086a52d203297c5708282a0b1a9ac8741f0b5ace14e4fc1e12eae65b027c53f91f844ae214afb2750a69ae88047e0b841b196c0c1519458907076dbc1f1a6b871306066f095ee33506a0be431d12a8f019d7706314ebe6ec03d3f6cd1ae6558514da1e721365bca3067483581d3ea8a31fb6aaf511f14d190af639861f82f058153253c819e4ee9a1242360014d3b9d113c85c3b08a855c20935dc5501716dea19ddd80513097b6813d3b7b112f0d6b404602b211a24d5dc1e8b2b0b14030ec312adc09c06ba272c08043e9d073f12ec1c6d2e711e4061651f86afc51a5e919214060247044d68721fc4e8d812b898f511d1bff0034b2fed1f62fb8c14a94d950a0768d21b94d1c107fb0286071d08c01f9aa7c9144f08790675790720987af11f801d821444a97c00be04350456a8b61ff9eeaf062648c30029f2431fef80751f181f8f064f4aed1f65cebd1279f7d409c080921fc7bbaf1fdbcc9e0381910e0932ad091d1093b31cdeafc61b1a06691da7cb5a14259834159bfcd200df08f80374312f1a743a041ed2a29d196e4d2312f937a606ba793a1b34ba761fbdc93d15960a150a6fbaa51f20118c19acf5bc0ec3759f12e8719313d532320788374f08cd37a71fe7ddcb0a7a8a0f2079df401450850f07d8b0132075667c04a5d9ec1a853ee90a92b5521c9b62b91fc9da710abef0761ddecec6099f6cb11f65a16513df8d7f05e93aa60817aa171233eb7b141cb6e411d1c1b4072d976305ead98c1f107967137af323053ce3e41fd026ee038a23871c42d26d128db16e08076d690aa4d98e1a1eb5c61f4f710f147970ee11537b63069268410264f0ad1f6e391314afb8cb0363039c1e783154144b12f8140704de006fbff61fd726901f35c8e204438eaa0afe2c3515fda6970892bad40a86a2221fa8651012d3b94714f0d08c069b517c1f1ac52d143950ee055504af1f72932408d06b8903a9a7eb1b256f33057eb9841ff34857127f62670a8503c31f85f0e81bd6f57012a16b140737c87d13c17aa71f6f0c451b345e7d1489b7c90695eed11fe1ebc8135dd8cf036c43bb1ff9c142141bbad513f935f309503b9a1fffc19a04ab89b81b1add101a9a4dbf1a4ffe8007ecbbf41dad85b31ecc82311f78dfa312184b4e0740b1ed1f477ff5124f0a6b044e5ecf1f1b98a81431ed0a121dbae2001cf58d1eba7ee214c07c7807653c71023d396e12ba92ef11d8a7e513e7731606d76d6c1ad6f5441db9401e126c23ac1457e6641faceb991f8c96741ff9c1c5099ce6b41fb1b860157734d91fe8b06c134c14740062c2d21f7a584e05aa9848080070ca14d0c3db08eb17dd0518a07a12462aec09cfc78c1a3869f41f4e1792122f7add071844e31ecbdef81de469ce08e5670115fba828150f65d70aa29b8202a0457c1ac8fcde1cddb9091ae688061fac8f5f146831860507c96b127ee18d14f8b8d105d5863f1dbdc65a12a94b4a0413380c12125d7e04d0199f0313e1281efc5af51d8d17901a9c629c19ffe05814aeb6fa09aa3cb502123dab1970e7891b969ecf1f0ed3ea074389eb062d9cc407f786cb1bf978761f2203631542afe604da9c4d14643f8a049bffae085a1ab61f28303913d926db0674daef1fd7f99e06d39a2507cf1e931f7bd1d205b28bcc1f0cd3481532e735150197d605cd93dd1f22b776094519bd1b22b6851c7377e71bbabb7507620deb03ed082f12d0468f147b6e1301a48ab103f7909b1c65ef301568b0a60783211220a14d1014a74fea00665e7a1f8cc3a51442b32605f8d85614633d0107c362831f82a4221259672109c44e9f032228320a2fd0660a4b25e9199f1122153cc71e14d6ad6914c1743a042cab4f07f270861f47522812cecbbc143f40711f942efe0685b1c61f99018a1f6228ab0482d9c704e93ace1377fd92032d4afb1f70ed5e157a34b41f0ed32907080ce31f3022b113f2ce921f8177a40421e0881df0f165157a34dc1ef6bf7c1cd45b10141f2f2613fda808060959271d76abea12f0d6dc147d66b7068a1e1120a5f3b914777cd20741f98f1f87965006bc0e9019b59b981fbf9c801f15f2ea111a3f8f13643dd61235628703b9dff51f9701781fa1f394142988a2190bf840153852c51259676604d257c91fc3e8611ef306f9146149bf096112071f60a60220033b6415b43ee41f77858f0a0fb23e0924b3281e333f9b1bddb950592e3079cd353ba0d17baae6e54e862224839082e84c1b9989b5f07a71e3178283d0060368c27c6531dacf159214e2d1f1b1fff94f199de7deb25855d36385537de42c6e79be628d653980a0e668c0afaef4ab205b2b2759bc372f216a71000c6d0a504df2aa8a4ce3904047251d24923dc0a48635154bf5b87102ffcb17d32a49c0bc8aa14c822398aa654b206ab04777151391d72ad53df48ffadfbbf3e07076282d4e9d896997e0a17a6745ad269ae85f4071c36586b57e3c18a7295b8385ca0bda063cb18d4029afdeee657907215734f015e21ce78ef54948f32731ff62870b47d7f9562c6f2c047b508651af0884f411c325f37237d1d9547499b95f1c305904ba5a99149fffc6e19ab753ad8b3c6c3999e9ee8d0d6b823b88a98026b6f0c9a5c1541f01552bd28503833a38962f584f9d61426925f794922faae9927fbcc75a4db77beb715b190cb5e54eb28868adbaf12e9ade38e65e328a3ad51c0cb5c3031df15f91379fa5db15888f4b23ce4f9eea437df44bdc342699fa56e7adf86bce50554cca32a59b4842297bc6f04f0c3b9fc87f7180af97fac2ebeebe5c5626b619be71c744f8419917e98836daa87eea8256a671902a1e30045184b3985d5eb04286b4a14acfaef7abb53f8a71747e36a9f931dc93b0d4176ae9df8400f22fab2e955a55a070b17a8d867977227d6cd7c8d27b17b9af0e8fe456f71dcf2116abf7758f22af8f1f3970bcc22e60b1f3ab66a83909b3529a9232fd4104eb958b7ff199a82a3ac372cc745d6cea09c57a4f71d7d7d97b6d4bdb5dc87be50ab1832fb8651494dea51a432decb01e942c0cfd9a65b70fd477d72507ba739130ffe03189a14469c7a53f334e64dd7c445cb23723a2862066d1bf7f7d5f1a1cd4336bfab8f1cb89f82ce50f13540165cc9ea0440dd30b6f2626f1a82d838673cbafb175e996048cd9a527c4c474cdcc678310fbcc31c6d32f42bee809963279ff37f53662b259034b79d86f95e70e4b3c94128a3f25a740abfc5d00bb9fca3e98d314d0b156bc5ff6deafc1907934a8f99c3b4b475cff798d6e66dc45fe27071fa2f8d6a173727b7d83739218666ca7496fa1f598b73a778e3d1dba5bf1abfa79f795d6bd2ddf7b8c7b6648a5fa11774a28275cc98a01d1b74d0b49263a2eade570983f40c20f2b7bcf5ac3dd7df1f00f3cdf92998972ec837375a5a6ec37c90d3d550b27261496fafcf8e34259f6e3e381df544f271c239cf2ea498d98164ddb8e424cfd973d5b0596d6bdc1a4c05026605827c1d44b272178fff95b6b9638feb809fb0b4ddb1e48ffe90575b8ed5231ad82305ad63d61222309632c7a81a5007066bfc757b4bce08ff88bbaecf6091364bd23c3b0e256e5a01d884f8aba7ed34a0663b19ae2103aebd4f519b32e283efb1056c62c9f26da94eec5aadb9b1b26cdd7b5006ad45ed264dedf7997f2459626197a1b9c031971b9ccdaa28d31261e62bce637c00e4b80f868825649f0c82529df35b6d4aa3b9831def6635d33c6db22a63fb24e95a3e1761828bb344c985e45aba16830532f3ecfc39e60d6b342a4a37f4e32b7162a81b6e668619804e0104de5cf608d7988c861838ee8d1da91f1c3c81d9a7cb9f74d44baa1fb43206a9258bb7d6ba70ffac1586a2aa2e01ce308ecfbffa122ad1f8d7c961c31b4149ea7ec400ae4498355b0beff23ea3b162ee57fe80beee564a82f38861aba4ba833db88f3bd45f38e96cf3d91916368cbcd3262c7620cf891ecb7c943cdcc5eb2483ab7823bb9cda440cf7f70f74e87503bd3aa09c733aff0c822b9ba6f45b68ff35cfdb8b28528e487e6bab0de37b90af7bf24c4cbd43c32375471ba52f6313f2c7c513fe28254021862438802a260d976dbd7909b5b4b630249bfde795051e58239aa024c935030f496e2d1c9c463d50818b5cf8af970c225b8d889370ae80ff5683dca64a1b7051e3aad3b3e11819fc13c851ff5a2d2ba7bd43b7f67b9674c37856134c3575e815afd690995d0d3c1702dda46492f50dff8bbe7132164931c8d6e710e930b8170b671f99ecadd24678849c138e8c65465274e4540cab8b8febe316bd688c5662cb296d6d3564c3c16c546c18e4f94eebac7cb86e818fd7bf6ee8d8c9ddd4ed11886bb7d0d314af61db4b78a41cb4357a0e15bcf3b237bbc1fb5ed6775231f6c3e2a1fa40b867dbf3de6b8c672d3b33bbff163bb838f34308c9e4ffc1a2d386f33d074c97d037b2274b9ceba3b7024b3770a1af1f6569cbad1b730892c9f3a4cce1ea9b3e0d4fe514feffcf87cf6ea34cc5c7489182ceeba6a2de441a614f66b8e8cbcfc5ed2b4a9a1986a58252affe992c12e981db3835090637ce5c3de6944e213bde57e902db9e05a8476e6be90d22ff61133ee751665e4f44c9fe4ce08d1e1b5387a696ec3675afe2194fcd3eaadf28e5178252c4ecdad3e3a768a9b0ab28ac6862898e409c55e2a13e4fb271de2e6f4db2ce34234b883b342fb99206342053c4349f84691cbfc0ba5f7a171f59a1c533eb96743fd2a0214afab5bf9495f989704e3152d2bc4dfcf055e85201e8b2f7556d3ae6f34bc47bb815021c278dc788c12616009d75d0ee90b2b23febd2cfb8560311936b249a81f4c8e1198e4a16c94e5f4c328b0c737b038ba6dcd23b44f281e440962929574d8d53c0c730732faee507067f1f24e1574732662872a2aa0b3dc61e202d5dd1248a09e6210b2d630d4e4f7369fb8cfd9adf979934f67a73e03989f0c0f7492e2d40d7be16ee2da06bf0228f63fcdb054edeea507609dd2be1fe7a1067c4c71d19d7e7a6bc705627616f681a06cc37612f7c839ef240eaa31c2ee3660d9b3ecc29f3ddb4d925596939419791950b8f0c235b7cc0db4262bf1fb703bc0215926ff608ad41cc696970667227123e3dbf7b786a3d1baef4821876be98b4b91983b71505993df2722be5b9b94b280e86f5c9c3ae7ad4f4c97d47037b6c791be38769f9816392b985335296d72dca208deab6f77154b474c16b23fc853b03ee9e1f58d3e27ef5ea68f6c50d12de4bb24b77dc4540730f69ba1e46de73be98128b63b4551b8c9f586edddc4f983f9810073213dbba3cbfee07088d238a4204b2e3367f3996975b95a5c8dd3bdf08914b827ab95c4a3308be68765d790a0593673d8de893225ae41e0dec5f36c37ade7687f9aa838d681ad589a9bfd105bd0d557b8e56d6603e2cd20f2f8ed6aad6b09b5b1a5bd5c0346011380b0399bda726edf8dac4011535efc658b2a2c1fd5a96bb53efc52eda2f51fa65da352282274f558f3871c9cefd0d5ae6baf05ce17a9a2d511782254344b639875b7c000b7fc46c3406486ec192a9bf8f1ba2217d48042d86c94ab72972d4a698646998526c068ea11939ae33982092f09b3cf0d36b54ae9a04e9db87883f912de848f4620d22eb1ceafcbb4387c9d6696b4e1758ef62ee7c4f8aab4083eead67c880e48f6d298f1c733b1866f82bb01e298ae7e947f06f56a277e99eaae9149d7cf8fbe688282b52b6b881469dfc9b974638517724de68815b465d78d651c4d16c286f0fdb0b462e68013bfa1c95365222cb6b5ac5c3424dfaf4ac0f0d51a45707d4c5e495b39e5b9a7fc090c688f2191943f26a977bc76618db157bdf211a198c0ca832c422604677b2b7fb82d467286ed6f9a094e0f2ec8e3a20e7fcffb5b8d5a98bd4c95895e6d304425594bc4db706d593f81a1ab2f1042e7566641abff0fd63abc246f887a467ca8df6639774f194a100861d0882019b1b672ac3c315a7dea84513589f7d8bda571651cac5a3423c0fdbcdf6ec62dfe26785e3dd7ff4d553ef7fc1cd0e44c9bed5cbada2adbc2da21d91fe2a2582a915cca7097f1bef49ea51ff7cd66a01ba13e7418ebbadb8e2e2aa333687022e95cff7d780b62c6e6d1200fe245ae0cd5a69f4b415557057c03e631441b50b4da985c646e04a72c5153a6bad88fea36c1a0b79f29e1df86b61021639014246aaaacffedd4246dce64e9ecf7a9c62090b52221e01eb9d4a79b85af586c5ea528b6297f53d4d8fe0bc78896090a0e2703339cae8f52a5b2b16016f7e7baf7d7d7103fae05fc6d71c533aba4208164ff5ef07cc846150d61a9c4afc9ee64bd9980417a24422ae76abb8cf2bb17529dec883113215bda13416da6b47eab264d5da584362b711746228329fd840084ebd4c3d015bf9a1c60ff0a559d288888289bf26a4a7da9d4c9f0bead67fc5dc26bd719384fa24ca4936b0a74119abfdaeb216a576b6f15ddf22fa4eb0ce6f9199e33ef785b87c0831d4c191b60fdde3b71aa7b08d538056e045ff23e3d341172f02037e139aaf9caec309cc71cd75c06ecc54ea48f4b03af3bfffca0fabacf9bfe43cfc6394982c69673c9cbe3875fe77afe3e94a7ac666e166860d913a07ea99fa8ef9f836b5d83b5a8903c6f875e7d66f4fff05a59644e7449bac4c6ef2d2d394edd951589a9daf59e7870989d77cef5fe43546c60c5137bc8941b4e6ea8544a695fa8a2dcf071353de07a1a87ce52313ddff65dcf169f3aad652d1886a5131d7100fe1858c1d1f572a5c5334a703668fffd0262213aac80af2d14fdfd429ab1cfdb4556371821f28398521f22955721f79f34dcd1b82cc5ff38470b3741b83b67daea7e4d9b31152ef9f3e73b0bb77bedb248f920740b4244149cb18f4fda5a40103b23c97671284148cd29bebd88eb5ee2600dc0e6d2e05f99371ef741ba3ea3881784632e714fb8fd2d15b99c96a9c66750bb2197fc3981b1cc0f227a0d9b812d20efd9c2f34e5d60cade6566d9f3482ea18820d868aad3d33976a338409393afd50884bd61be4e8e356f3c6ecbad2ab5d6cdb708475f7f1be967ff4294eb808a687d8965ff04d747a3a23a2c365497ede7d4a3bf171af4c8acd5463cce0dff5be5c4fdc02a07396be9f8feece003b018021af2c6af2cc39353afca81346e941902d688283282d122388520867bb9e4fa3ce991793908d8b5d67ac5b72e5d20dd23a340296f91d15af4f3f8aa900be98f250a48c4f686459af45efd81ff499498dabea7af0cf784197f46bb330dea65f43e608db36dd29212f4be8dca88053d7edce836377667c44aa402f4514892d0c2e8ad3aee480ce2e198d59586a73c209fcfe0b4194c268354f00e218fd3e76169e0856fbb5fd2968e7bf3498c1a29e0ec68834d213372814a72e675098b4aac9155e6a03b2d46d32c0f7620b0c6b4a26535c8c991e880829a234ad32029cf7d90158076c5586bc31ddc71212005c595d77c5876c622b8bf73291afb0eed80a4ea4a3f53ce7a83c580d3df209fb18cc9c988445b315aa0aa22ede86e0b7410be08468b32d6dc122d95af9d43d199cd59727a408ff7951922db1351b3567a24c777d01b7fd49a9deee71cb97334afca88c598224246e11ce04c38db3e1449bd2fd97e98dd2899f8805bee38b8180ef329813809e6263e19d2275c8488aa70c421bba00bb78b38aa5fe535572b3be755ffb1eed0e74f2d4680faeea7927db3a6b5b858349385f3fb8ec31a0fb9b071a59b278a9e9046700ad84f336adc19533d20c34a97b6296cbbb41c8dfda679621520e13c6094e8f644d0d41a6c4d175536228507ad8a67b52ad9a37fad231a1fc0498ac3dca0f28ac5218dd91c73a98f168477174467534ea1c94509302d174738fcddafad9d1977bb7e50d4c22131a54468a5daada063a8f76d357440f703246a2043e92b54d7b14d312f4cea245f6f6cf80e7eccda2e506dcade3487207ebb002519fe6382a1b1c9e81ea97527f390ffc1a091162246b08d28ee2977b76d721dcedf3da8c85b4375d801519654b7abcaf4820387c25d30a521db6254eb76fe5fd6040bd2a368a3f2943e88ba654db7f683578b8fb4f7f53ab76b8ecfc261bdc66d4050f35a30d5f08b329b1e306bfcb48782d524c43b496497abd73b81b68b4d592538dfcb1ce654568e18adffacd5bab9105dfea606ad3d2dc34a9fc7a0067c9b54f60c331d2da5c3d9466e83d9048ccb89c84f5fdf8019b9d039fd38b8d49e62e1234775b106474cd71a149bec5206b9e9afbdfc4eb739ff77183637784eedd78ee17624e8a031c0253697bf3603c3dd3313fba797685626ac14ffd4d0dc28b98b0a4847d86ecfe051411b83e31c3289396f64204ad0754ff835c39d39e2e183d89234f06e8791b14e6fd0c039f37f40fbae0dcb1e78154cbd16b126a199f421ca025fa76309297f790339c7ca4e59b017fcca8da2f6fbe4e1a5bcad262464fd468ff5c34b2ffe4f2c61317cd86c9262c8a1b9e7acb1eda639abb53747081586f281105695d2d22b0c2ce447730b09226e48b27c19ff5a2048b8532165e932f0190d1ba1a5754cbc76347385d0db0b3361b730d9a2891ded37316961146250b2c1c3693664c1c1b575751fd2f05d2c3ae896bb87662ffe78db1bee200004f170dc6d96decb37c75a952c4d7783d01cd0b2ec85e7a4dd0590088627ff2fd54b219dc40289d1bf5adaa9c973ffb110536e41b062c910a69d2656f96cceb972bc58049f4051caed924279ec89ff0b229e905ed75a26264aa6f92e5416c05b30c041f1e638cad15fe225715dbae0ad28059fd92cf6b3e5e51f5ea1202a7778ccc046a42831382bb70054964006b976b91e258a0f5ab5b26cf8a511d470262fc26ac72fe40f82370d0986f86488d78f991122dd8215206aed058c5705f23b436594c2b8ee6ff423a5d7feb7991ffd8f826b701f1d6d21e6a3dd3b81d691a5335aecc09d3ecf2606d224e1ebc07f3acf1ee3bdcd2544fc7e12246d8ca0d351c8e625f7e2f1bdf180c407ffccdcc384d884c6213913a659fbe804952e4b6c3423bbc1ef995e5fd84fe113ffeb2c4cdfa239ef67e23471228fd8d320a6783228ad6c87d8f24c239319b9e581e16c46e13225876e0e7a49266d6031ea3c2d61383141a2b2e01561202baae4a6e8bac949475bd07d053ed9c4ff9fb8cda2e6acffc062417d620fc9b43906d44d9e8964a518493c6b8344c145ac6ef163f44d3c59537bf84d32657cd75748d3f6f13f029140648cbfa1670efc294d37bd860e67384040dfd1592f4f6987021562a63d3a3e7265d061215aea537f513422346d12cbd1bdd9805cd40c5aca4f6ed189d0152820d8adfb60111b59dba01ae84a85056d9854e7f821d393f8bb64477dea2007b6149e5d8a5f948f31d09d6a83c9f3f692a3437e9c18bcecdce2c60c84d90766ee9f72a32511cd0ef589f4042a58129bfe4cf31982bfea2bb3252340e74d0b1ad4f29c1065387bc8c94eaa8ab9b5a219a623f519a7844e7d602684c22f59edc443a552c5d017863c50829229769a53a62cced9682ef78ea1a15a61d027bef8da6fad07945ab0d292d9b6dae225a38b23834b6c46af256959da125f47c1577165e7e421ccc94b531633ccbd374f2dc44cec90b08345271e68e0ab64d1cf0a1b81676f8fcf23a67005d6af6742779f0746878ec04499abbcaae8662e50b724e6025a00df077b1f3ba8727a4e41939e4afe82cd4f53d77eeded30f98a524daa4b8b63c04aae4c3e9a6dbef1586b7529af29d65360b7789a93535a8c79c22e240606bf54219277981e3c557378a3d71b36d2522097098fec2bb1f6fcee01231bc00d812ebaa459cba5798517a5e392558f3120333094241655a124fb409ae8a0fdc524225f326266c5f7ab6da4852df80cf67d9516fb5647022cabe7681379e1ce13477528f18da79fda6216fa72a094f78c9a52aa75f8542397c78831ecaab78adf661b82a264bcb841210dc6e2e3639acc5e877721b2483b9a6176b459ebdf2bf5897d84b4e9008aa32798c952a14a5468f06cdb8c27356f2bf71c202b4db0ed42b0b48bb476b62b61a97e059a629aedf180455c5655040927b62da9455e07f4996749e04dcda8266cf1198d64fe68390170fbcb0ac987cce659935e3bd2a8e5a8d23fd627e9826a528de0cc2750ba2d843f672c466319afc08588f94cd9c580ee5d91325ae8f81e6864f7255171afec4c4d8680847541e1e02d2eb515a527ef1a8aa6049852b2e9ea25118ec4887d6ac162688bb265d8929fa598a3de31df5c452b243763ae4e50f73100588bd659b050780fdbf2f45e72ab599bbfa7cae501d058c39733ac9c1bb9f933547997a995d03260cda3b765a7a0a225e4dbfeaf4f162106e434fa3cf2722e83c566da7028cfbc79eaf6e26f5aa22f6568b5815d29a73134688fffb8fecc2b874f49263bc5e95e12ddd598fbf5099cccc778c14e7c6eee81630a30440e71798b8dc2ad45342d39d71c2d4f2615d1dc6f9dda73136a858f1c3ab4a4ecebdcd3f493f48e492521f6a3edf157779992a2800ba9ff83f0b9c5ab55878d2f48c9cd58e7edc22eff12a6c5c13ab7727571a7915594f3867b58ae40f121b1ffa3a9ec8adf60bb331409521e586677861f699e4d68c64eeae9cb6c85347840999139ed4b97fd971b59b151062df3aa11ceebd0192228b7889d27bbeed468f837cfb4707462d44895095a25ff84b1e03a8dd4331d884a61760e40cfa171a2214ab245fa4372e1ef8656643219fcd1b7b62b77e34e34aa3d749bfbd92000aa7bea64d6414cd88683842e74ddd08640cdce667683b6f97ef6ac75eca4d950952cc118f5e004baec9ad15625eaa318226c0484e29ac14b8367a369d8e1ea41ba69c6193e6b3cfa658212a7539bfb90159dbb7694bc09fc7960ef3e3a6a45d07e90d5c21353d76e1538ad534dc91eef903c586aafab77887fab194904352246c3f8b2fcd160533d29573dfd747da7b8f0dbc3849d33f7a0ac5227ae76e6ca5cd6ccab008c3ee1fd7f395e7ff8a0a7d6a8845785bedf35d806411fa17f3a93a423b07d9e9e6e8f3e14579d0006cde6883e6779e8339744fb689db302d24ac9f42ccfe27596c85e8e75d9cf31f442af9175215689e4364cf44691d643b14ac638f234fe10325e6badd2af50eaf322f5df7a5ed42f07410f8473c3bf7b423f0b3e5ab2242beacc64adec562029ceeec363e1d1bed271d187123a88c32cbc5e0105cea0e79510ca600cbd2df733988a51633965ac919e2b50406254c824195241e1b1d61b371279f101bf5c771582d2bb447766455ae4b028e14c2d8a4a656399c36d86fe499f4d9d5f34aa6477c1e4b607524eb3e2c05aea20cbd1ad203aa27f8c19dceb10a45e39cbb893abc7577265367bd0f2cc774f17d888561aeaf6d2e9dfede647b3b989e3316e436e3e45687dfbc6d9becdb47f8c72d48a2d2d5dfed5bdbcb13a08e9d109befd274edd5c7a1a11cee4a45443adf274d79748b4009abefe29e3393d63dbfaf265f6d4ae98638e4275228e47396897521b53b8b7946b07df906a768789766937734bb11664595339e9d75b89e6b5d5eea94c644e492f218b6bd10621a9654f142ae30db408f619f5d2ec27c5e5d6faacb7661a3fd95ccb1ba520ead2438262db8ba1d2e771732022f28384d9b62ceb9fe68c922808a0caa8104499166ccccc8ca8a031f057ba3034439d47ad1c40da242dfd17460b31266fe4b617c9fc24c385618aa186882943528eab490e307aea2877622c7cda5bec9a8a42f57d157a4b0aefd803234ad67f476642161dbc694b200db326699a82bc18b29ca950397c71af3c6277c9ab93a6d56ce8a692f85c0545778ce02f5a545cd25de8cb14ae85d6f8f3560df42158132710cc4afe3f4f6e44566de62da4dd78242fa04e1fb77a61e6942a13b06f5d15daed762b01c87304cbb5f84cc4abe6314a33a0070c5b9ecde14f98ea6131bc507b9e2f106ce2bfa307b32942fff89c7d4580e6190fc1963a54cd569c99c32039c69c2244375ac6ebf17e7571d564d22d7744483f828c86bbff80c822fb9e8f8007ed59297ce632750b0f30233e8449aacb10f91e6a6ca85910baa929cdebe87300ddb6914b76cac259da43b2af1edd55ac4ac7dbcf954f0372dd761d75343c9a98b663551c9823a69640783e483e69493abce19aeeda7f87bedb802e336a5a566405ea4c8e16dd5a7142daf9893629ed7f995a186834d0ca2a726039f5d0d9a7235c617f00d8b23a95828548a2039e234ace2e87d36a3f08a1c82cb911cfcafe7320ea6e77a8e94308d292a0dd2bc660a3ecb14c2eeaf2bfc445b19dbdfb35dc8dd720af6aa8e6a888ed5ae82465f28c656264b2d1a0f03ae37180b101d15875667663259f11a12c734f8cc8f833ebe0061ca407ef17488465f5f841eba4e0975753e472fea65a80a18bb8bc6428b8a1b0d8783bbb4f51d52c2bed26844361648790b2a504d3393b0786f27cc58b635580f531cb4376434bc4a5342f7695fd747b40eed9762a84499820848b1a7dd18e383ecf539233bddec8169a5b96a5253888e3faa3228962988617dce04c106195d3d185ded4eb7e1e36972c35b9d64739229c5826111a8fa7050330c50947488daa8a201a6e23cda55a023d3b20745302418dbe04329954c086053510af96ed79f5755ea8eec7409e5db5bcbce18a50f592d9990e8be0982c6f9034fcc3b99083bdfee9c8df119fbe580ab56b46fc20e16649406518cf41e1564eead1f1b029403d502efb77134cc0d9c6c145e2a540eb80885b2ec23fa29b073eb32ca13f9d284789611769976fde4736de76fabe3b7f426983094e746bb3d4b92d3de0f0593758c54e95dce1379d7e5b2b4ee3037941f3f7347af5477282f48c499c0c652a39fd94c3349a133755b5322bf8653844b08651ad358f437f36542d39a79ea0c0f8d14c38715dc527c4d1b5550573768fb2e2b72ce2584cfacaa5", + "proof": { + "index": 1, + "siblings": [ + "115442b51b4a9bbee6b298a35e3acf1fbb2b2b0e347084651f028828bc4cf414" + ] + } + } + ] + }, + "job_v3r_an_output_twice": { + "kind": "job", + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-6001\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":2,\"root\":\"ff16318ee859c9c509c82f463b9db19f2dbb56f37a89a89a990c3a93c1734355\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c09\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-6001\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"45fa49b0740e4291ff82ac398db6066646150cdacd3c9db846b2b0020c30fad0\",\"sig\":\"8f0b086612e9ec99e0a7528bf209d9fb177aa434791ba16e7cec7d5c5144d291a856b0a732392aabba3da12460f6281d66b5c94be930ed4869059a3cc6a2da0a\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c09\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:6c5449272b5fd4cce2f0277ee502fcb6787e712d0d6497fe91d2b3585447dcc4\"],\"output\":\"ff16318ee859c9c509c82f463b9db19f2dbb56f37a89a89a990c3a93c1734355\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"30.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"30.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:a0d32db5da7481a02190e35f185f09bb7f64b3f4708949701c1eb8967a4aacee\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"b429f29acd1fd05985f00090e400545e14eb945c946b9efb08a2c56d1ee468b8bb11a5cd840c5dbd7ab9993be1d7bbef0d4677cad7f6fa0f31cdf15e7363d408\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "receipt": "{\"profile\":\"wai.video.int_motion/receipt\",\"codestream_hash\":\"277865b574029f700f4fac023de3ab06ae598ee6f8ed726444e91442a6bd59e9\",\"clip_hash\":\"3492566e8e2682e3b3bac083b4db02ef8eba9a7f15d9faf0e27feee0f6eb488c\",\"h\":48,\"w\":48,\"frames\":[\"e1d8e8f8b5c534be1421e5858ed9137808ddb849bdff2bf397beb32568d8eb69\",\"ae7214babf5bbd6ec279434740f3271be43d2392b8167813fa557b5c4426fa14\",\"b3ef86db27b82d303bc6b612cb224ad55259b4f2e2c0461c74dcce188cd64b99\",\"3906f91010bf1b9ca14f6e2ac9b499589ac02ff4465e1d9764a22443a8b29c22\",\"bedb1538c2071d705d2d3ab2df2c569ffed440278494649f9bf1ec881561c519\"],\"merkle_root\":\"0f3fe4aa201c275c10289c22f31e7211b555627b33a251bbe33d094abada6508\",\"work_pixel_ops\":34560,\"joules_micro\":0,\"uj_per_kilopixel_op\":null,\"energy_provenance\":null,\"parent_receipt_hash\":null,\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"signer_id\":\"did:example:sink/job-6001\",\"sig\":\"b0caed886abed9777621c42aa89adc4cfc9821de68345699fe31b2bc9faf5302319e43618a67cb83fcd485fe44b56fdbf5eb298555dd8cf0072accc0fe5c0c01\",\"receipt_hash\":\"849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0\"}", + "codestream": "57495631010100000500000030000000300000000800000006000000d5ffffff590000000000000004000000090000000f000000160000001e00000028000000330000004100000051000000640000007a00000094000000b3000000d8000000030100003601000073010000bb0100001002000074020000ea020000750300001a040000dd040000c3050000d2060000130800008e0900004e0b00005f0d0000d00f0000b21200001a160000201a0000e11e00007e240000202b0000f6320000383c00002747000012540000556300005c750000a38a0000aa9c0000edab0000d8b80000c7c3000009cd0000dfd4000081db00001ee10000dfe50000e5e900004ded00002ff00000a0f20000b1f4000071f60000ecf700002df900003cfa000022fb0000e5fb00008afc000015fd00008bfd0000effd000044fe00008cfe0000c9fe0000fcfe000027ff00004cff00006bff000085ff00009bff0000aeff0000beff0000ccff0000d7ff0000e1ff0000e9ff0000f0ff0000f6ff0000fbff0000ffff00000000010000000000feff0100ffff01000000000000000000000000000200fdfffbfffbfffcfffbfffdfffbff00000000000000000300fdfffbfffbfffbfffbfffcfffbfffffffbff000000000100fffffdfffbfffbfffbfffbfffbff00000000000000000000000000000000fcfffdfffbfffcff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0400fbff0400fcfffbff0100000000000000feff02000500fbfffbfffbfffbfffbfffdfffbff00000000ffff01000500fcfffefffbfffbfffbfffbfffbff000000000000000000000000fdfffbfffcfffbfffbfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fdff0200fcff0300000000000000000000000000fbfffcfffbfffbfffcfffbfffffffdff00000000000000000500fbfffbfffbfffbfffbfffffffbff00000000000000000300fefffdfffbfffbfffbfffbfffbff000000000000000000000000fdfffdfffcfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0200fbff0400ffff010000000000000000000300fefffbfffbfffbfffcff0100feff00000000000000000100fffffffffbfffbfffbfffbfffbff00000000000000000000000001000000fdfffcfffbfffbff74420000280b35593c000000a214bea9451501b9ad0cbdbd9a309164812c7ece531911d14717c3dbbc1d27782217989f7218f20d121d7bd4ca1f3eb3ef1f71131429e2d1f626c3e7ab249c33af4fe2d2c042a6d2222fb9b3c460c33836571567e55a40c90777634123135bfb8e1357858f0dfd6cd3316844ae2fdb041518b067b9167f09231b1d6f1c16b7df311ea6450d1ea29eed1ecc320c2b747de0206b34c82a708a2525b67967473d53e643c54f6f2f42e6355aaafd6534aabbdf5fe1a866406fac26314f6ad812ef006e0dd2c39e124439f5306ba6e0396f65ff1627ef771e0071f21b088eae1efd0a7d22d53ada205042fa23135ba627dfdecc3c473a7353bf1ea7435671e53209bdc9581998ef568e94f260c2af006595d31a5d0301d30b0e96f22e27c43d162997a218be088f12dc9d0915dff4db17246c1a3c61066e3807ec553cb509743e78e21d250c19332ef30e3d2d4f94a0275d0ead4e59f7ff403f44c02ed1b145563b075b55c0ece2599ea8038a52c4e77287a40b3015595e178405f01716799f12508739158ce39537c6364439c2c61335c774823feb0e4a46484b29464146093e52ba6e2e3e5a0631121b992d5a46a848c8478e518c794638949ff05b4c57d23967cc4b57d3bb164147bebb2f4cd1452f40e1701817cec818f564ff13f4072317feda4f17504f253558977544d057484615df8028fbee312a5a55ed2c1c72d1257130d62be71dda51a0a97748680d2735181dc85721d3923f8d192f8794fcc96be998eb135e56840f812d952b26dc2f2f8537db1701de931a9e0b811c99606b1d7a72b81fe6796623b2e3442266abe726bfe71c26713b582970ff964812b3a7511b88474ad1a39d60fe77fb5b93faa43aa689e37f22cf656dcdde8d4a529b091869c19a199bf5af108ce21a33eb8ae43a8485f63a7c0ae7f3e9d6d3fbf35320f44e2572fb823070f38da5d5fb4cd37f3e167531443d7027341943de2d2e0dbe4918ce0f53b1e5a7368b2c3c6ff4ff9044663d54810e945168c3b1d019852e9412c0563e10ce0287359612c8365ce0fd34c5cdb9f290f0e017571aaef2f889ca179debd4f3065bae18380425f4d7c9dd18bb2cf626ea6faa24e3f4384b1da15a3d6df8b52cc90b935da2e4c23b9597355cee7f1945393e249b7b14ad729ff91432962e6218224895175df6f11b30546af34ef81f1840d4b4f24290fa19e90d41f3792fbd17b307eff2702189161f1552f429b1fc18154682320160642d6a8c304b9a74645336beb060762fd36780e26160b5380e4500bf316ab3b6594b76993031ace92b2efad9cb178983121b9d4845f4ba36071a9d404af3f9d4f2199f14cff37ed44717baad75f448628d19af3421f46a8b0f19184461f3ef7bc1178d00634bcf58624c6725ac619927f15545490f360e0fb877c6814c6b9ea2f952ccf3a3abad91da10ef63f3144a0f23340223ff35814709f4d3516c16e5bb75f3a3574719c25228f4b5a03e1636db84f49a58781762e821f35742a2181bc2f7f397ef311637054630ad43d250643a45395291b55b725ae5723bdd1b62eae7a445bd65319f19c63568c61a5b1206b34d3bed1dd63786de01f49a49affb2a9cebf3518ed9fb7f061bf402f2bdfb0bb9c0f344eaa4fb1bb58df3fb10a4fb6bcbb8f3bb45a0fbfbd11ef477204efb6ff5815087d668629a2a0c5d17e9236a698d0061d79fdb460b2f26a9c24f33529ee32911b3aa1515876dab37a91b8339f13feff22ac0af17a839caf36b8b36183cace0f27ca7e419927205f46713bd1740d4a5f49da36019a6baa1f4ceac2c19b530c1f2eaf4de19c6322751ef91df5b92e05f6533f2a760db246a7d1551e266a304d149e19ef5ab9b67c917279abc17e5eb69fbf214f2182014b4fb9ffe3e163705e1fba23dfe17e466a2fb4cd37c16dcc16ffbaaa6f61663923efb92173218345ca6fb512703175f6a95fb422b751962216358fc9aad68a047125962cd87430577849addf21174af2dc5499c4fcf8778b8293377e4ed3b12154cf3afbf46fb6ab6baf3dc41b0fb4cbe91f32c0b39fb2ef0f3f2262a42fbe21813f3cd5230fb476af8f3870f92fbefea62f47a7a92fb7234cdf297d11f5d8e12023c55bf666f4ef6005c8d58bc9549953d730699fd4ff8264fb23cf0ac1886051a1c4d05891af4edc2fbf792baf24163bdfbe896c3f32f65e3fb6023ebf2ca07d7fb66774bf4993ad1fbd99a01f30be2a6fbd34630f3275768fb7ef1a1f2f78972fbe65735554ebaa9390610c05a5315734087513d8c09862074f653884a096d36bad118d01b4762691789a9a4fb84456418eb0ca3fb4aa9b419eedf99fb865a481883a740fbccb302171e6b31fbdcc4a318d918a3fb2772ae179e15aefb5dcf1b17b3873ffb7673f4189ca65c5d080bdc43f1e1b278e9bbf0411aed639db279b76db39473596dd293164dfc0317fddbabfb866f2cf49fee5afb376ea4f3351975fb9baa96f394a45afbd65b6bf333ddaffb9de9fdf212c3d7fbeeead4f2262aa9fbf329a1f4fa10ccfbaee586f41f6791fbe442375aab92fb3ebf0cd287434e9d6e5b5143a22f6941660f17d858c6629c18cba73c167536ce1e8e78a81944d168f419b32118417e79f37ee3a4168ea062f3684ff8160f7514f3d3335e16d0c984f4e44f5716db178bf3f1e44f1765e6d5f39b589417ffd4263cb1b60b56568bf7410b9931975f374f710f5c7f4fa42325bcbf1b8b7648524f17d3a2bc1d17f181fb389846f3eaf47dfb8dede9f2ef7b22fb6cb646f4429fd8fb1ab5a5f4cd8e2ffb7dc74ef4164ac2fb955678f3aea1abfb511264f4825bd7fb2cdbf5f268318f5c44110177dd73146b7a24ef4d9557b1ac71c8ac855c5302606910468a110d2833d76a203d85cc1c16f25d02f36cc7671902a893f3c335ff186fdffbf23bdcd317eae2b3f3dfb9001a3c8153f3a8edd118ccf62bf491591a17bed596f344cc8916cbf73c423ef6c45d15bc03651b1912a83850df6979ba2a6292c2eebd5d91e87574332d1ec8640e210884defb523cdff2811f84fb900283f397e066fbb5636bf4b5af3afbe896e9f2ed4ea3fbaabb7cf42cfc51fb744940f4fc3dc7fb444010f3ebf46cfb40019ff4ba45685818c3743cc9991ca49c3d626e6cdb6d54ca28d67ab141e2599329871efca9c71b6444e22057e352f45dd8b917feaa52f42bfc1119743121f3694f9818db6c99f3d79c4618989917f426394b16467b0df3b1fb8f19521d21f48db4ca175a186e3dbffda754ced3533d92a3eea77ad2e668dd293056741d36bf0ff6d877943fff1c5c2be22145ecd620c546c1f3241b6b1627e58ef43e187e1951f342f42ab1b917ec3602f4f8a719192312a0f21e3ac51704a731f4981c4f168ba270f48c969c181fea6d40d92c977aaa69c464c1fe0b4fe4ac6e6dca35ef5f6aa19dc29fe940765b492821c377c822552bbe2132b22720a4a99cfbe66ccb18874f90fb5de48618e3bcc8fb7a9dfc174fca80fb033b2e19226885fb5cbaa018cf7481fb4bbe3b1690f45071cf3b545fc7dc4c460fb904a5f494e4710bb28c59b37201bc93c3b85cedf29ed26f8cac231756f41e282b6e208e484d416f57f1f2d56f3617c0a984f402e336196a0dacf401f23a182db681f4e431cd161e6be5f31d3a03177b0239f33755483d85c9d2624864d23f6bb7c5a69c7e2164d4f8ed6167d7fdbd05c2405ff28607d169ffc3238fcc5423c78c9346c614a93f473a2b17750683fbeed5a017f40664fb11227117579a43fbf768d91957ef44fb4994591639592ffb3898db867e356462c5292e4270ba30a3145c994dc63817c2b506ff790c88855f7484a1d36b3cb022b49dc01f39897e3db627e7453b7eaa47ee9c181a325d08f3aea14718447cc5f3ce9d6d187dabeef346352a168c4c9bf38ff00e189a54f0817d9e5867e164264acf9f89a0468af5865b1d0f5d44650780f7a37565a8f4c0ceb96346217425be3f42ddfb460186a443dc4f4f39e726fd2e11ac22fba65269162b0d79fbccdde017447c95fbeeead617a64c9a609f26b64105687099d3e8f96edd6e714832a030810d602862a462e0c908e95486467e4f657a255646fefc1b3d6612ce46f05c183a0aa2e63122e07a4fe77fc847dfdb81f4981cdd5a7e25095e2496ff7c0d982d61f1b45a40c98a5da72c8cd36f9bae985ea04c49826f6e0159848c46d189116c7425229a29dca5753180914230f7d87f2cd1e2294a23bd653c8f2c033180eb015dc4796a35ffb37e5d2a91a83e040b6f9551375c7318d897491c79c9bfd5a26b563d7258cbb89e8e7b06429a6fdbbb519019578d2cf852092d88bd0f2a78859a2f1ffe22519dd8cb507fba725b0e80ca5d8ed18c6087f6007e90e4ac6bd0224e504285c6ad5e2a4885c47c8e5608003a80cdac406c2de6e9d9c33b3d881826ea313c35a52f98773329023e2e2f644eed4c9fd91548d5819c5845a9c356a9e281411746cb75d8b9686bb07213513a6827af9e2d2582d3aaee5d0a1e1582463d496d83be81d6d0003b8586b2b42e814ecb2eb4b31b288dd08d4a6d71253f6f90872d7f2ee65a725a8f582404ef5c515ac37806644d66e187784bf25f74a43c7dd98747933f580caf12c97de8796af508f6ce38d753833fa7e3df673b922672b38b4a3750af52b2e56f46a293d2301edf675a87c40637fa24ff5de154a43f0bf38b907403487346618150454a15be8935547faf98945cf4502f7649b7fb6993be0d924ba7e87e5c44373d6a05774e1f29b0405671ec2d2912145352a9f45d41c46d625518ce670cea41617a3a074385e691abd1d9156a1d614d5fb54f097d82d80c614b6b92cfc8bbf18ecd7c70d5e7049d93d1e01d3208d0df28de97dd2f92b2384b83a3414fd99c8754c10b9e5dd1be2056f367ff898dec986d36884b48e0487aa87651128106a3085ec747b37f462bcf65f40a63d5ef3e7f7cceecdee0471af487ef9a024980f7d83f5964932f413bab5da896195fea92a65bb5e08a7a9bd68e57b2e1444310b9ef9f9b1b0772aea0435d832578761abacc584d3588cdec05e37241fdd2de96b2b67eb007b4e5f9d4ef2a8742af5235a45147c3cab7323fd344569e919373f12bd5554e858d3c3b21c295a1d79c4a4fb2a7b79f3ab4817fe0416134b576cce565e369d8770ed9c2924f8be0dfa9dd680fe77af006c4499b2cf442c3a8c83284915263e978a0343afd905502056046dc7ab6773c132468e7578f4cfde095720b8e785a720e4bc40228f788b0f27669314a5f931b46bd7903017f8e10890fe23b330b2f9651075346d3114f7bd0563a61aa2b540a0abd34d4772278bec85e703c9d214d3cb2b767c686f94e8433cfbe3fab6a77d952576510c5cc764230fd772df1fee062380a787e5e1da520a88c3e08b7c330d28d614ff959b861ecc7795fe87c22712ae536609e6bee407518e19d641c5b653da09e59b8800e89d17848545190aad2538d869bd717dbd8356a67798d9ec5e38da75c9caf09b6ab547b3941643edf2f02e64254d50e36362c41616048da6c425bf9318c40ad18669821964ec7cbd2b8714e8f5dc27626caff71a47bf64d476ce899f18c24556f7820202b9b3fc5f4e77ac5be8c1bd2e3492682645389b4b359578edf64a5a823571c07547829153e647579c44813fa75b8937cd5797249dd5803ee0386f9cab266917789d973c3c989dff5e0de1a65817d238899a57e9e48eb67c3d0321d4dee57cc778c5525bf8f542e90828a8b72085cd25067411b57e1a7d11a4f67da559757ad36fbb9f6f3c55cf6723acf5d58348dc055fce03fd929925ba3f6e40db6df8f0358c8a335945849649d783b52b0006124cf4042c3f16a854dd4a7672206614e215921735710d162219312c171da4b7649882772eb6ac18293790f8a6ad0eb8a98988789622911a626f368e825d45f92441e6949bc1b3e57a98a2136eda230713b4b6c6175aa129315646973336e21535ebbb8b8a549687da77a9c603751abd14723da67adc45dd8ecffb37995aabce4d743db9059e992aa435f87ebf2069785b20d1282e032f87ec90a5977b5b6eb7ce5e14e76816f6d8aa2a99d88a41cda754a8eed7955bdc677bda57b7c9308d8853619ea8795f972807be4487ad3c6ba8177c1897f6ea77077cd107d7b0c6eb9775068bd82b5994983546a8b789ca4fc7e30fe328a23afde89fc09b97d0dc4b878a796bc885f381176c0dedd7c3009868708763778074f1483b056e47b2d2e6f775e060d80613be47905e3c28197a2b2867f2087840da05978d324ca77d0d2c3838b448282d320027d0815b57a46e25386e546797aea5eba75c4748a77a68fe6769eb2d488d27ee978dcf669752152f679d5d4447e23d3767a076168784a958b79e1e6cb7e174abe7e0952b07a7e773b7e902dfe83891d937b603f948047799278c0e56181423661814ddcad7e50682c7bd2708e8791bd117bd3ad5d764ab9e9851e6116883d29db86051203825f38767ecf081c7edad64780ccc1007a419fa88156cbfb8877f0068a366cf17ab74967805410d1775c0ec084f283567a15ff0480a7bab185479db782a0e0027c86b9e58487498f89cbd316877cf25b801767548ac2714878a7a81c89caa1d885c0633589a0289b7edbef3e82b44ae88619e8d979c7e36585e1ac7d81e3dea681258e21841709f6844a668580588df77ba9ec97766b4321899d7c8f84f0b64b880840f485a1533d851767a57d4a544c83b06ffa7dc8b02f8747de5c7fbfcc1387f25f5a8a96d15289712fee8898a5408dfef27fb1fe337a96b4d9119e22eb87a7befdb497371c3793e2cc0aac6839ae8fdf2214934812e67a0fae55765e185b83fc9293793110d187dcce0e868708c67c2d76639bf921f880fcbef0956f67119f67b9559a35d5fb9b7c1ecc997a8cb6b78d5cf38c291b8a8b95baa28623c1f77ac0c1d18300ec467e9c6e94869bba197d07b41b8215ed717c33a3518a2a69078e6c91f6ad16430393da5506a55aa5d0037315fafc42ea2304936366d8c6a231a413a65288914a4878fdecb7772cc2ad83e9a63a83e6830079d593e17e3d6ab47b4116c192d8e6c68cfe19c9af3ec9c39005755d013a19f177bd9ea67a4d820f7a4e487c042afd998ae5808088048d1c7cc641628a98e6237ed84a2e7b4c74f67ceebe667d388172975a9ae8afa684c0785fc93092ba7ee176bb07db75b140997b504ba975669b2c865791fb8b03a2327b42ee2879af368c80edb7ac827a8a198220b7b9783bfb7779379079828ed03eb60c7aed938ef44a98ff16557824090280d15731762a53287703a3b77fe63bd287bed734819a8f2080aac48c8253cc6a75084b27795ed0db7599b7f18705651188868021a7a69f5eb33e38d97dc4fd1985411d5076c1516a76d8de15829ba8e8861fdc0f88aa783f7b9aac607cc4b52478d9b68f7d03c7a57974203779ea94e0764e1d8f9d8ac846a5eb023c84085245853201b782e10ac287e06f07774edcdb8465e7e67b4f201381f6363f8327e4cc7f49584576e49dec82aad62b849a18e57ddab9dfa1dfa972a6a2b7127f6d3b3278c7a2f881f0af98824535538250c2998900cf9b88288d2778e3a5a29607b80c8af1e1f989ebb4ae7dd81bfe750a478a76390a5b7b16d7b9993e2d42cf578d667a5a367b78e9f23b7b6d993680088c68756815f1891602298a214723abf3ed7f8f93785d8a60b62d7f9eb218890b14197c055eff793efab48717d3f3b1cef2697a0b0daf7db98d5c89fd22457b7ea64a823c2d0d7cbbea0f763d9900fbcd7c0993dd268a901da4f37cdd3adc772d0a257608a94f6af2ecfe8990c841a548ad0f0355bd0b81c8cd508356dde386276d8987e4c8a17eae24597cac2c9685aa9cc780e78af9a7128b35a7e9e43f76e95770804540f4893590636813988480ba2f139c9f0c55cf83ba19860744d489391892880cfe0388f03fa186e898e57bdd04e379cba8b8fab785aa7d307981941cf013891e2b397be66ac778effb7b751ce013894acb3e846196ee03de219d897ead1781e16f55890797767732717b7de9e02981710be977bbb463fcf62c2695d6343a977160de77eb897f7530e5f883ab1320711d583f8542c6327aa93f847c26e8ae8708649b7e8188db85b068b58886efc983bb205d897fa99c8468f85ef91cde28a52f53e29aed1c0d7f8d8119889b02c485d946ab664e23bf880482d580c720ae03112885d3da3ef5804946a079c54cd5818cf8d489cd3b628376f4f882b02727872cc97d22c71cbb9c815fe9843299d185b9f9268620db128aaa5432880e540f7cb833b28a1d5a6dd08ba32078d731a87a3e5420770bf03f8511f95e7a99760a8607a9747f5599b1fab4e9db81987a0e879b025b7c8d6f6978d1bc797d09ed717cc600de87c2131b8498b4da03fa05068478a4b287491ec17eaf7e0c897045e87ea6f48782d212087c4ae8261d0f6f8a88c0755084709f6979ab8ade7818d3fd752beacb841a37c8786bccc77c149311847b83808ad929b8893b3819847bd2c27b19348181d8928287ace0be81a2481c1b8b644980cf780f771cc794839d461e7a85872d8038e63b7e25abcd8744d4f87b76233aa0aa52ebd7dcf395882d352a8351529c88f9ed62882f1b3d8a2e67d87b6dfe6bf8af405a83b1c9a7781e89ca76b46e807b4dd55f83761f5e88a1414e8af230b1851248a69d78bd977f239dc87a30b68d7f59940889c67e1177fd92fd861dee88864cb1591be244838471e77587929508875f678889cfd22b885a6c6081052f387e616a7a95bd77bbb1b62c138a067367797a4de184bef4d981d4d4f285ee3ca07ddad63c7a8003257fe6a788793612258267cd397e8529538850e641762ba213796a18c57ed784b7a52fd508a5ff20d6869efabf75d4df5f8a0e37078a9a432585d194c478d9b3b2786337658a8ca57d878c9eac7a19cf377e01f38482fee8c97926b98085796ae89e949cc590dc73e87d162af77c02e8088786b96a808534d2869636ba7c3117c086a46f587ac74f0e7ad36cd0806677b183ef845e870b1448822f4aa087dbd2be7aca2314810d587d869815da803de1e7855f800b850d17f47e7a1e32f90724a69a3f96087f43ea127b6a182a7bfd348b830732597c4f97457bcdbd9182687a998096417287ac455787b3a8cc8246a11e03b6260486f3a3837effe43b89e505de9b95289f9334b3ab840b670f7df76c63884d12b084dc574579ebb4018104286881d85c12861f1510767af346872d88fb86b01c9176e2bb40dccaa58cfa8517f60409c52a9ecaebf394ed2204a1499d827e71164f818c8ce57bf993528a8dff547c5a128f78fdab6e8acf492e82caa1737939ff837903492c9e15b105837ccb6c96d364cea13718beab45cc63a4dbb267872ee9ba80433d0f89b982877b7aa0437c178bc57cc9db49812ee96d839b96ec7f3087a979a9fe4f8942f577a8b8aa46a5009723940ef30e8fdd242eaf54b30298a5b8d579ef96f8844b5bf77d5e8fd989c2dd558aa5f488833c105b7734aa5889366c7f787df91d806ecb87859e787d9079ff13a63b6b2a8b01851c8c0015a1a35783748ad81b147ec9a56b894303be88adf98775b82cea775b4f787ba9ec7675b3313d7e4d8de588bcf81d8969f4238d5e69be94a58fecaa4121839ae315a69706ddf68a3c56d97b031a4487a743597a04bca87a08df6284aa30628a2da15488948dab86f283667e2ded9e895a7ef0864a1ece89683dfe7946884da33af14bac9579888c54d36097cbe562899b6efe818e3cda7c6f139b800d6a0c842c6fd87c625ffc79621e5084fe4da9803ad79080c31a237694b56d762587fe7576d051879db28578da6af183a7ba867b838b1388eb4f7384144be37e35e7437bd647c37642b8047bac91fd8509359281e07abc84e38bcd7b2ef4177e16d7e4829677b57b6a3c1c86ffaeea7554a4c381e629cd76f4b5647af3c05781599421804f32568846ba047bf5f23485aa42797d24c8e1823a8f7d7ef5c3137cb9f9f17d9b79c5771320817ec486607559163f8aad94d487d96a8478604ae689faf40f884899338a71ca6f8052b3ca7934c7b279ef72b6833c2dcf87157d32833183f87e41530f850d5f2f7f6271647a08dfcc76e52240864fd8967f99ff6c81e8509d75436ca985506f117690e56b82115360820063ec842f79887b035b9e81b91d167da253ea76c2179082a27e977eeebe1482cc8030886afb707ce3c56a868b4f457870aa77776ea76c77fd1b65780504aa7812bf8d87f5700f7f4a42167a2d9aa485e8eba27a02a7f98750398e754c7f1c887ba3f17f01a0b27dcbba247c8da525856b67a37ac57b168437f122843eef50897e485d7de3cc4683d97ca77da1c35f7b1e65eb79f4b56a88bc1597889e305e7b62cb8975661d3d7e1b6dd27fe8bc4079c2f3808adaa7f8865c81887f9797c6852b613681a2003e7ca021df7d2683247de48b3d806d107e75b2c9a0758575197e3457fb84c129f88193ae7b80eb7e668391225c87e994eb86a62a357d2003e5822c5d6989eb3d3d89e4e5fb82447a8c7eab8af6799e71b775277fe87aca187d82215976893f7f4277bcbb3d7aeab82e82a4b01789650b0179d29442896852507cef31227c8015c47a1ebf568a159a7d7d797c5080c1995f7b5cdfcf7e7743fc81c01b817e6dfeb0770e1e5479b355ae7be5cf2d8905addf7b8d5d8e83f57b35834e903f77ed5de57da439b5794eca49779e6a8d7f03743b88c0da998279b2597da81b237ca9466478589160773815fa845326708352a80576e0dfed75c23b5d863773717622b332872989b17f3d4d2a786f7f6586858e6981eb61547e87ae438220d4b781ca47f88066367f77171f6a88bd47c281d086d77c69edcb7881ed067b7a423b84e9e73d85d3a99788c01bc985b61e8d76b1b04178483ff5807d0b4b7ddf077f82ea658b811eb49c8866adfa7e3dc41d861bf6b97b1da66c8463379688ba6c5778bf607b82eed76178484af37837732a8261abaf7cfe95a67f144ba6784c62e087cae92979238bb68159c3217f4d16e97d58695287eda5f579b737557e8a4804765d5d4888738cf9790689308957215e8069a5c6889500347e88bc947e6cb65577c719ef8680d45c7d6f8aef86feb97182e5059a7b7b08898a5ff7cc7ae2be8b81c89ebd89ad77c57532305b85370ef17ad5c9d68482fba7880ffdf18283140b8a546afd7f4809617e5e7dd8788e9a0c83ce42227ada17358838520b785fcca87d83ccb57e3cec797c81ed177d3797b3796f6d557c59827e879f99c49d4094599d8f2e11a25021b88741121578fcf0f187ab6d9d86fe9540800201cb80da5f0f8072dce8867182408610c3e687b517098405940177a3c62f87a11de7a140c6518b772ffe90d0ff517a6337bc7a4731e884f009e481c9ff5d7e10aaaf85640f837a9ddae585f677827570a3df88fd176c7fb821e581e3141a880da01185b9c74d91a8d0adb5a830b98a98d596854b503a7f71f93979f199b87b576d82856732b6802081e17513731f86aa71de7bab9c0b7b9504b77dd33dc588c3081d8711a6d69ce9d132b70f581690eeb4c387ef1f3f891488ff850c6ad17f65c33c83fb556d7a7593da766c6ea289b8f2d4773175507ff665ba7b1b1a07889b55d5872eb3a3ad2635c08f9e5cb1abf8cd4880b438bd8207fc1880c7852a825ff03b799761ba7d45ff6e83f3c032836bd33c88f9528b7842413a8acd5f41791241c6797e00768626b90a94288aa1a5666113b2936c9e8674c93378bd4b018435dcbc896f86f58183f0878944c2787e8bc6a3800e95f28030ab2f84eff0738796e3f086a3bb4a787ab2db8e8605e8029dba41fc0fec099202a3146465e9e48541ca737910aaee828218f280c17cd777ba82bb7f86543685b164ef7c2ba9438786dd3a8a7b507f0163f5d885402166773f8ac7876b9d607ce33c1c7e19b2be8724cf6d7c03e4fc8980c2947b38276678a01a957f5b20d979fbb3b980449eb677a3f51a7f85875e977409adb1d85985923d3d9285a373648968b7367a99c2bf777a4d5e8bec6933b49ebb36866d3b2a857b913e801439228606bf4879af072c7846471082c4eb50792a9bacd048f7eaaf50a4298c43f866892c81747939ed307b3117b0807c33b579b10ac6ab76fefd84ed4008863e54757ee60c6c84d8e57b7d6f137d7befe98b81fc80327e5272b490077466a3fa75cc7bd93f9b809600d4816a061682318eb88537eacc9f21a31596839c47862c81877795452d83768f2486d13aef84288d59805cf1fc7da8802b7d5c2bd79efe2c8a7ba4035a8adce0c37c9689f17f1addd17ffb0d3d76923ba99a5f20aa87138ca276bc035f79cd58d37a36caff7de1d482802d1158980da6d278e6c8b2b0243f45784809ef7ebfcca47fc88c2e7670912e824b6d88813c80618ac0073991fe161885080abf80bf4366782a53be7d00c88f7c081ca67d279ca488d6e2fc838529d8da6786987e49e16a8672369b85ea9bab7632300484fc094a834564e5821320058750819d787050477ac7c6fc85a97c4c77ce05b385d731aa81ec7a6b7b21116d9f402da080b61ed37b640f807b9557458322ba2980bf02c67f26cbf57f844a31f92599597dcabe038254c80a7c11f9247eda30877de65f277dacaa7c751e2fb2862d35b4d8ab39677e7c740f822d9a4b8286fa6d88fb38668752b38b8981ac3286cae9891c02f27487ab62bb7a1fbbd7830cdae57b0009c67d972b7b7f732b0b8a8c270a7926b9557e26b965778754407bdb421988008793830761d8810386eb891e616e7dcdfeb21daf446f7f4d284f88033e8284a97cc4898d76f6794403cf75b181cc8384b694886398b385b1ed06868003e785b80f6c789337238259b1cf8602d2ab82d17b4076c8df6b76b19eec7db223cb7af598fb8416b355867f0e5387afea5e8336d12c79d8f7827d10ceb685f72b9b76943ec675625f6c7b8ed07d7bf0e51289590b7789512ae7f942a87d193bc3b7860cfe8b756a23c6798e6bac77e4c1b776f9a53082692e80857c69bd0294a0e67cb08c0388f86fa6869b434e7c16188e8164bc08860b8beb8269e2dd7fec151e79bc9e1880227d888822e976806f499c7e152e227e8bf5fe7c00c82481e898fade846be38140e0277b84f7417c4f07417e06246179c3130784a5407a7d9868321b0570a17582be397afa231e825cc2eb795e065278485135838804da8666c69177ecf1107f5355087c41e7a28673c63484afc6d57e43856c7d52fb6b813af4d0844c1f6f76d44f8783c1e17f7db42da482acf24e771cfd3281b546ac7526d60b8748fe1f983c79bc753462cc825ed78578bda51c8887083f82eb0eeb84495f067e0fe4491cabd286868a4831815475fd818f38ea777403c98871e7ef7ea3c6678512d81d865d110f8c34698d7554afad851fcdd8810c87aa7b7576bd87b58e8d783051d57750323d8688983780655e137f06774080977ead773b79897760af1f7ab713d97c320134a58490f57fc391ec771c748778eeed3a83d8e5cd7b0c1b317650397e751e2d439514250f8869f46e7e32011f7b923bd47f1415e87cca2ae676abd23088e0933786f3370faf90fc5c7a11700077b044bb7d6b67398893c04976bb6ce7844caacb8e90150b8a47387d87a7267a8092e8f383250cb87f92304877e0684c79be2311806aa14e90e6c4b184e8d9447a36415e7e985d2b781cce728a5505d084eb7edd94a0c6317d564da07d912216873720188445ffa3887be4cc850b4ac98349c4fd77b0035ab57743148037b193853c104580ad82d77514159f7eb4c19d8ad4e6aaa8f7030ab738f7d0840fe4f07f92831f80181bbd80af198a8857912a874cc3538aa3a9b184886909a28f67ac8db04c29208044f37b744b1d85543f9976bb1265857df9789baf534c97fb418d816624f780bb2b107f3e951479f5987581800a257985c88e7e6c757b7600a4c1a0b45b9c9448f01495730fb57c8b73cf849c925379f7070f94c5f476aef6b56c92385d8c87d66b3c89f469477c88869387e26060883f981786026df37e2a19ef88f051149ed7d571ab211d0696fa4b4c925b06cdf90b12b2acea4cd994d5f38fa9096b1baa1006b2833d1705846fd93c7608d46e834a25df80a5acbf794cb5a77e37326d8a1b3e6a75d1efd3932d0e509fdb5a679bdeb55f839591fa9214bbeeb30790b58de9e509994ae8207b4929a68874c20377692e2b81b23c58827e0750779f499b816087c97dc582d977e65fd27dfad0327dae652276a0e4e380c964e3814df92e81d70d058694216f790b798d810e953b86987a5c76f1631e7a3199107cecbb598a1b5000879416c67a433d1e807fa9d0788b7e6b7d6b1f6b80f450b3784ad6cb7e7f3d7789b09e05783ff6838450b7a67c10fd09819ea75b84483429889117d079eb12ff7a64ce877e86dd3a7e44c2e576c4e4c78992dd2184b41b1083ad8de681a2659884516b99797ea68b8a7c3a96812140577d7050d186273ea2868625a48003f62486497c2d88cde11c82c797597a68273a86fda03f7a72d19a8025cf8e85c3e48a868b3d3c8216a1b67b863b8c7b9eb9ee81410b977d9bde3c7bcb1f817ad4cd4283a743b689f40f92893852d2824564128963b528848678487e4cd9178a6b7933817714a683b4a4d1794593ff83b695d47e01c4fa7facb56682ef67a086e7080681fb67627f9dcf917c8438338385bd647cffdd427886d68784084b84788f721284ccc1ae804a8a5f76b0731179ec61a875d319af7742add57f49588b781ff5878382a1be75ad9fc286be0da075eab1bf8001057f821ebf5179a17bce7f95c3768523d345893eef997f9803a383b5587d7ea65984813428377ccb4377750e1eb88273b48686eb199e7d47431b837e5a8c76a2000e8217f7a989b529a2871d00c0889cab9b8092fa3982b886b4760832407b0732107918d3578636b48d81ad9fce7f8b4f658a51ac688904d5e378be8fcd7758862e7960512d88e2602684f06ed37ad84ad7875f38518621ac3d84c5f94f83c105c17efc6e887f88864f8349f38381003f2e7a1c0f90805953987e2d11df7a75b7c276c87a1d7633d23b83f3c07b7f271a99754485fd89ae19697fcf49c475db428f75355e16875ac6f27f986fb77704451081b5ab4f8199c9fb85ddd5ff815bcdc98699d0da7e40aa8478d7a8217de64da08891b21a7b6a4e477f162aa184ef848f7963e4ae7f55b2747ee8aae78113973e85bc15dd7d10eb9576c3541b853c511277f7e38d8129ee7c8277de3d8425f39989f3ae567b08c297791d942b7743eacb864c9f9581eaee987a2bfc8e89b6255189a1a604884780c6894f322383d6c503779d874487740ab27a1987977ecd05c47d9e42d37e9582c97e93a3827a8b07197b60807e88ec27cb89c33ed2779cf7a38491b29d87e8ce317c7606967c1cbc427ff2a0a4895ca50c84099aba75434fd6808ec5db790bbae582d59a267b2193377c198e02882392d9786ce58185cd223a764444b782d5ed938493f6fa88497cbb88a547368407df8277524747800ac52479c3ef9379b7ef637d0a7d448ae505fb85d2000b81f89e868a14eded78354c89764d69d6883a67ea761f730d7c1660c57e4b910c7f4265d77adf24907994d9e97d9790c1794b25d48978b6ca805ba2e27bc9e65c825d47877a0075ac86e4f7ef885260a5894e07c382873e7f7a765976775ddb657c9d6a5c867224b68795a61e8a8b32bc854df9c77e2bc6047b471f6c88dafa7576b252ba86dfb46f7752befd880ec0ba89b9c3e67b955e41806d104688ebeaee817da6207ebb5ae182a6f4a0802140548aa224798a7d8296828dffb27c268397866c75ac893ee4f184c092557816be177d6cf78b8489c31a7a8b90237e0af46883a3bb458803d91f7f9653b476079058880c6ad07ed731e88555f31a8873442379ff13398a14f8d9820ffd8f882093ef7c55feb27f2c15658a7e072788a4931b7b7afaf276a3bfcb7fe65f8b848b0e817c89f27c89ae2b6f7653721d7e3a842777da587b7e47a8b17d85eceb7e2451a7855fde4e78d14ceb786f37007e717006847899d67a8015b87736eefa797b3712870022057a8176d47c810a5b88fc1b51832ae3317c6844e189980a4f86a13a727f5a5a8779c873bb79335b6c7f58e0be819283c283f594d77c459a187c4f3dca88dac04689497cdb7571e07b76cc02387cb3de3e7e1d82c389e2b3d77e79e1c187681c76786295c77a50157483bd35367f2dbec389cbba5088dae83a7827781a7e48f7e084e31fb586c9359a77f83d0b7e02cb9a89ada61b7f89b1e87a67d88c7e6707427b99938e781946a582d18214818af57b892ff7ab7ee8989c83f05c297f6f49ac7b60c87b87f337348746433583d576bc75c06e6582276dbb7d4045f27f54ec7b8095e77f8111b8f19346d17daba9fa6da11cf467aa3859288f3cc3728b9eed0699dce1c498a94081abcc74dc93adc02d80a611e69689d47e76d8e5ef81f8df167bee356686fa47db8079296890fe180ca68ea14a8fd585aea5e57284b721d15690735e838c7fa9fc90139b619ebd8bbb885e595787155da79923dc97853e25f6867c169a89cd4d7d8155b2fb7ef283a7b6a01fc59039f30d8be3f2fcaa038f8c914e98bba90e3c390475cfe121366e6c9c95282d8c24ddfb76fcd3e8a12ce52f8a9e9c2b7dd731f887e5e10678796af378db30477dd29b5e91d6efb598e5c645a6c33d249705e638963a36d927ed7b3f7b468fde7fe61793872174c38c3c56c8806533e4946850c47de95ea0881d24437ecf66a68911ca7183257cf48036e333b14fed0a94b7f8369e40c24ab15e273afbf4242f7bc014267d0d46218697689281f3c0707d42369a96dd92ef8486a7e285868a19877702ab7e74c2ba75911089820964c58cc1bb5a8d0d6168ab7fe96395f8046584913b5e84dcbc9d7d691c4f781880ac7fa4270798fc66e48569596e7919b2f9850b92ac7fbf720d7f5d9a7475b3b304b5ae023e9c438c2ca7b54f16ae68e4fd8838b7e27e9bfb787efa2ae5838a890d7e50f8278074ddea87b8a32d8a8360f575be9a587cd02c0c7fb07aaf7fe7789076ac2c098d48130bb71a90919c94084e8ca2e23e82e93a1c8744d405766af43176f3135e8af881de871356c17b23c142a4336d307fe8ebea7646c51f7bbff01d762d648178ba9bac76c395cd88e8eb12057ce8bfdfa887df81df2b0b8a88218882fc269a7918b6a085ab2ca1813feb8f860249749eda88c17d924dfb855f5cae8124b6bd8722e96f79f4a3c37677f0507ba3a6290509290add8ea2a189b00a0c83699ad087dfcdd688bd35d082444b5381864d367773a2068d65335879d21dee7c9cd324817c45bd793abe9a874f689495c77f489a9d579b87bc5d58813cc8ad7b4385387c0e66b7818d118a7d66129b8af10519864c0458a4fb9f2586dd3a327a2bd82c8087913a76c34221860ecb6b77001bd794f5078d84332c2a7b60e553865d064881db78b57dc3e43185337fb481f4b58376b372c08951e20a857ead35856815ff87070e4e8afdc4007de575328529774a79921e897d22a158fa6e65bb79c5579677223ce77887ef4a8381acdc861a660d851bf6ad8548a4ac16a756c877f57b6a7858b56a879a0d6186631a0281c6bf6a87194d5c8932e4969bfa8ccbf9895f23810a3cf07f65286c78f45bbc7524f7aa84178bd07e3f08cf83d9ab8fa3c8e08576fc02a08a8bcd767df2d64f85af6114827e7ee886805d0476e6a01e83358240fc52a107896e9cf08443329d7538f1f7777befdb8471d5da79adc3ef7bb534d317d69949a6c15000822b97cf78ba65ae790bafbd89fd4d7388d731618871772b831631ba7fbe213a7d233828890a8baf80122b39868a89188a677a57843f5b4c7b895ef2f6a8600f8da00b8d7672a6f5894c7b4788a22bf5863b8bcd7b36eeae7cbc7aa388c0c8e27cb9b1a97f18a43e7ea4155487f1c4797fae5a397d739757783cdaa27b49bdd0b0f72f2684eba23585974f5582e0bbcd7f89f90d7b1d5eef7f7c0f586bc4f47e797fd19e1aa42fcf7d7b08a1832ad13d7c08f1da80f612927d6ea7ea825ba91582df3d60b877428d883129448aa6a1a8846f91f9772b61cd819ba8488817d32b85f3e4827b464e3d1ca62b8d86045e467d770d3e781c5064851cc3268677d3407e6ad78d8027eb5c9da485877c3964d1773c6e7f80b9287481069b7c7d71e72d768671e38039e2f47c8737c1849a065e82acc70280fddad8898f09ac893398c088fd17828828f2fa8ff3a7b978bddbfd891bbcce7cd8a43685f421b5879893427abe2a5d7697bf85825123907933e4917512ad6c7efe17e689528444878994ab7dd2121686a3203218f9ccfbb539f89d83848054883afbea7bea82be837a784089d74359823632c07c7fc62489ba9b2b86aacbd77b6fef3787ddf98777f641ef79bf6031824e12818604e00ca3a529537affef3e821e12c889d10b2787e00a2c7a784ac0764444d9838b73ee81f4aa2a97f456c188aa1e7d789f49e37e23558979e30dd37d36d11778d02c98aa1cca728171e797839ed69f840b094e7c2efbb8805fd3ff8517a4d181051d8582ceb2c3800cfe9eae3e68e2814702ba7e21befd811b7f9383e9b1567e24925198062adda32dbbb07f51d0827d6122a880e0f14c850dfa87893da07f8314d4a184ff784e83bc277b7d83883109d35d4a8746c5a0792c44ad75dae83c7b9eb9a0825c7a1b7a5d52ce8506078986a9466684c7fcf1898c81f8824fb4347dd606fd81d8a42c8af1053179539681856a7dcf8dd362e41904e8497e9462097bc026c016948e1b8652962278811c51853e421278d9878688614d6086cd29d0821c21a97c8adcec7c6d87147671ce407bac0f55806881268f947260a23b13310b5edfd2a1c0c7f8940b8d7877b8c70b775a94d57fa43916770c1b2089645e357d593a168549cf977be181487c77cc1386e845a07535f2b68cc3f93d8f3201b17ac14abc8a8e117eb15ff74f93059ec07cd0aa487e5ed0d4894d0bfc8508db8380e04b67780134877ff9a5b77605c37786ff0130841ad252763105e8a7cdf2757929c75685b799a78a41b690a64996109aa444b7781e368c7c151c1476b3433378a7557c7dc6249381bb4f0d7e01e8c384f2d645887c0fc07c865f978c4b78dd89d64e48a8f454d57ddbf32d96a030748c39814a86ace04b8015be4b7eb8fde777fb7df485a3973f81e1881f89a6ba96887bfded79b98d907d9993f17ac0a40595b5684078cf95c1a99852d1ac70f49fa4fb34fe9073a422856b26b07974203a7613ea107f83cc6088d6e2587dc16a4c80414cba885367f67e9707a4890619d8850c673880f670ad8be94c86962f2c84a966d482915be34883e82c40784062b17e5ee96e76f09d1b8650b0cc7b4784d3877a25967d8c441d7df761db7f97a93080897025826283207be7378684332cfd7e206f437a63498e87e99f8375b4f75189bf8b8b7be32af98687c08479b7aef885f88c6b7d8f846f7bb3e9da7fe558957f0009dc8643a96c7e9b148879dbc08a8215ff388aaa42dd7f4a5ff0811ff1f5818e06e47ac8cd4a86f6eeee82aa30b87abdf8cb8432542b87761f5d86f3b5f486b23c8077ee9ac2777d4ca1751ab2a078171f08853d0527878355ec8757913e781726a784ea9b1c7e45db0980bfba027771e0358258eb2e89aaa7b47f5db73d8a47802a7e321e8879cd346383673d8e7ac4b55884a2772188b2a1717e6976c180ae9b567859579c761d69ee7556b9cb7c9bcc00847e071c82ac50d27a3433ac7948af2d881523bf894b91237b1a1e3c852750dc82ee23dc7840452f7e8cb0057b6d34a688a7f0a275f08be77df90aca76059f577c7397527c7d94e488f744fb83783fed85d5939b8708c94688cfb55b87f8686577fd51968287f6f77f337fbe86165543771acbf4779a06947deba203803e013b8a49172984a08d288449cf7d851a308c8172891783a59ab7898231ee7b1d704d848613c57ef62f6b81dcfd4f8026b9d276339c607d0b676a83f0d3d784e1acfc795372c67f94212d875410a28113cda37a1ad69d85a7d3d47ab6e8107627012f8823792085b2c5b689fe4230843eaee281838b5c7c92a70687ec03157bee18507a9a351d8019295b81ca605a7d1004fa819dab4179e63b4178def95b83a56493860e428676c7480081dc339c7f00feb180301bc287f90a0378d8c1e17a6993787ebc03b389350030881cb133894851ac754fe3c9757a3bce77bb5ac287ec6f8c823ae93f7c3e78068122c5217cfa0680878cf8e678ead59586af858e76f8fc64824caa7889d3a99581f55e177d90c1ee85430ef689c81cb975e0b45e7ef2e8f1820350b67a2d52c081925437839935b97f93ae69818a7e838367fc8384b5e10477daf33b87a7c180893f7f5b8100a4f081c6bf058280f88b85273e0b7f0f374584dcc70782d2891d7f00ab0b7f1e19ad813f50de75676c0f7db93a287f5e4e7583c117797af75a9e773e951688613b787bc217e47769ede279fc26547a405786859d4d487e9e54ac83ace08276357bf07c9d87be829271698a439ec77bef84018a124f4d88fbccb8778beaef890c879076ae2fe2885dff2a7aba41178a9b8b9689aacbe97de235658477559f819271118213ea9089aebfd081aead5a7ad987af758288d4891aef73819d8e8378a9c80579c0f0cc7805d523830a2a2c7b34aaa67d9c09937502cb4f8399110585a810cf7aa48c18812e3174836bd3ca81b4c8bf7ba55280851385bf7a23cc9c88e111248a3f7ff9836565b37b2886a389ad82808143d8d67b0fc02a7ded52378414f8ea85680a7c82021ef280d13ab77ecc26c478415e777595212b7637ea107fdf85e97da2d1d57877a85a8f054fd87817cc73785eacd181fd4d1e7ae8507c8608649675ab49ef753ed6a17d82594b8a75be6684e994417ed008b18982d7a68085346c75527dca7e4cfd827c925fb18a26fb9c7d83969e80d5c962781e2426808f9d187f1c7b6b81bd23737d36ad907c5ccd9b88c213bc7a2044cb7da30eb3848296f97a858edc7e66f5c1804dca5c97e631ac8383d3e9924d704e7be766177fc283e37e0940a081f5c3a577effb0f78d128dc7ef283a3849ff6ac768db7d7864141ba88f4fd0f85ae908783c86fdf7aea1d9976c06eac76d5395c7bff787578c2e8a180a0864e7b18d3047f8188748722b30178ddbcf278d68f468626d2a6818176b87618c81588a141c77d688c5799bc773b7706b86a762f8fd0795bd82a762766388564453c856c63237a9993867c28980d81e372fd82d659ef7c1d1de3817f0e7e7dd36cf77e48e5af80200a027c2b7ea4805127f67540e4ce77fd0900783fae4978ff664c801c57cb775701257d12f56581c313ff8387e42676cdc80a7e0541767dcfefb37c209eec7ab27d24874b3e52908b18f993d8534d932c7e948a6a2a6a81bce6f381587bb77d9feff67ebd766a7e14d49a88bf55a3791535c2888326787a68a97579943e53898613d986d8a4c189c1bdcc85633e9d80a826da754c1a851dfd44aef8d62ba41e5d0958f764995a18c37b007fb563ce7f82183f7a42d1b57d7f0edb788f604c89a6c53f83c6f508863d712182a796a8b87bfc419c5c4d928c461498b3c64e467df0f00577cbb3bd7cf9b0af84652f06779b180e7630af657d3e83c487f88c648321596d777838ed8534b14086f6483682494d52a54b994fb14cdf889674ed6fe45cd01677fac9c77cdae8f77eb63b028737324d82d2775d7bfb0d5d7ce1a574786c8be787446fbe7dd4cdba808b3d3e7f6f081176c736929aec6cdb931c365da2f60b657a63e42f894e61fd7ffa064277e70c1080eba22c7eaff558792e18c983a481be75246e828625a70d7787dd30804b1a267b30c8b7907cb36899915363b8a8da7c832c2e1c881eeaeb78400f5279d4a987769820c27d35d5827d56787d7d35e7d0838aee81787bf6f485b379f08946ba9e85f36d258811ad0cb5713fe3b036c48f803b9dee809a182a7ef8bbb47a816fa786238b207b02837b866815257d73f59f7c2c27247a456f3f8a7df9bd7a65d5ae7c446817839bde42b42288a1ae2704c77caf078d7b2ee94780d796e57625ec0d828d2e037ae850fb8070577a87aa8a7f88b9a6d080448c2a77e563cc89ce9c0e79f6a63779b5abe08996362dab3a1b5295f3a0c788b0816586d5b7c7830c990c78718d2d7ab1520c7945c9ee76279178835aadc77e936d187b67e3087a32c44e7ec7d1317758fd8d7c7db13a9d7462d78fddc781813ad7a88792a79383b4fea2758dc2c989eb612b78cda49f880c754177d7a15284f6e3418453794d7fe8624288e2fbbb792480f88789534188638656a9a84e11e2c2212b82fac52c83c91c0177bc320c81463c8a83a6d73f848fa8f3827ef5c586fee8e884bae36783cb26f87d28fd03897ee3f78490229887bbc6f09981c9e595298684870f9102839f9c44890022577c7403908286427e86c83960881696aa8591a06683b7b5f18627b56288c3c7a28517f01f898dbed87729f9d37fd8d3af9a36f8527b9f8ac97fa81b897950df3377dc74ff7d172686884b2c5e7ce34ea786a10be987fb8b28814606588577141781d0ceb5780080dc7b35b8089af50605a632ae6380b113b9841f448b7c53af8e82629c8e7b6d462c84b529f8853fa33e81f3541a7d5da56888347b008ad8f76f797a7175779db675760aa19a88e6fa9187b1590baab17eb086d71fb08185b2638ab04017856421707e37d805881cb15d88724ffa759038b588f69ba18984bddd7b47cc747938328d8319a72d7e1ae8ad862912c98eb6d158a54eb704887212bc76e02002850249b477f2f3da80020c547fa9222488c3b52c7c5b7edd815e06c4897fd88d7b30ecaf79f2faae8243c6a888761f9395281ded91edd4141ed0d5b978f28ecf8091ab527827aee97c6e424082b75bd187f7195d7c9a7df67ac230ce8419a0958948fe517f51c93877cbd7fe7fec03fd81652fc6882e1c87996f89b81c7afb5c7a5f31277e51b72685560c9a7f80e6cf7a86cbcc7cb64d1778f2c4f377c4eb0b83f3ae66890e01a978324d7d80597000884858f28894e06b6e7f37fc75b98dd887eae34880108d7b877db89d7722e2de869b79b580e99f9e822fd347852df4697514cd9d7fe032f18769db56862380f97f929572899eaeb77bb3670d85bded4318a4fda9827219bb87696b6f79f05cbd858a7e6d8901e84b76f7a2c97cda5fd17fbc7a1e8244d4ec8081234387b7494478ca6b05859607b68926aee289951d3d82e6b2a1769dab9f826582fa75eac33276de3abf77bf1f7a824bd2867eee2a257e93912887daa739834ffce37db83364850947b6875cd437897c1d8d7fa90cc4855ef0627bc0e5568409ac0d7fea82ce85b07afd7eff01eb78a8802189e84568772ccd0c80b2060e7fc271587d5343288876315283a33df2894dad79822b0e6e80b9b1dca037593b873416db7a3e4db47f87d20c89e8ce2aaf8d2b4d87b39d3f7908f86678bf43fe821016298197ea5188eadc098aeff09e7b3ee8858894b85f7d11b12c782ef4e396200a39180823cc7dd0a3477c6ad73278c7c6d4ee5bf2d17fcd6a4382b4c84583ab5b6581b8d90a7d0d46737e1dd5007aa0083076bdf83a7b62a7228138a59679ac983ba1759f3791f434af93ec47b7156889baedb06e6a8c964b139ff953427a3de10f7917afb4882cc93682cec40c7da128338a331abb76fc26618946cc1588e546a6877ff118a6a39c919a6e8d7598e435f3adadf59f9050ddb694d615", + "proof": { + "index": 1, + "siblings": [ + "115442b51b4a9bbee6b298a35e3acf1fbb2b2b0e347084651f028828bc4cf414" + ] + } + }, + { + "receipt": "{\"profile\":\"wai.video.int_motion/receipt\",\"codestream_hash\":\"277865b574029f700f4fac023de3ab06ae598ee6f8ed726444e91442a6bd59e9\",\"clip_hash\":\"3492566e8e2682e3b3bac083b4db02ef8eba9a7f15d9faf0e27feee0f6eb488c\",\"h\":48,\"w\":48,\"frames\":[\"e1d8e8f8b5c534be1421e5858ed9137808ddb849bdff2bf397beb32568d8eb69\",\"ae7214babf5bbd6ec279434740f3271be43d2392b8167813fa557b5c4426fa14\",\"b3ef86db27b82d303bc6b612cb224ad55259b4f2e2c0461c74dcce188cd64b99\",\"3906f91010bf1b9ca14f6e2ac9b499589ac02ff4465e1d9764a22443a8b29c22\",\"bedb1538c2071d705d2d3ab2df2c569ffed440278494649f9bf1ec881561c519\"],\"merkle_root\":\"0f3fe4aa201c275c10289c22f31e7211b555627b33a251bbe33d094abada6508\",\"work_pixel_ops\":34560,\"joules_micro\":0,\"uj_per_kilopixel_op\":null,\"energy_provenance\":null,\"parent_receipt_hash\":null,\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"signer_id\":\"did:example:sink/job-6001\",\"sig\":\"b0caed886abed9777621c42aa89adc4cfc9821de68345699fe31b2bc9faf5302319e43618a67cb83fcd485fe44b56fdbf5eb298555dd8cf0072accc0fe5c0c01\",\"receipt_hash\":\"849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0\"}", + "codestream": "57495631010100000500000030000000300000000800000006000000d5ffffff590000000000000004000000090000000f000000160000001e00000028000000330000004100000051000000640000007a00000094000000b3000000d8000000030100003601000073010000bb0100001002000074020000ea020000750300001a040000dd040000c3050000d2060000130800008e0900004e0b00005f0d0000d00f0000b21200001a160000201a0000e11e00007e240000202b0000f6320000383c00002747000012540000556300005c750000a38a0000aa9c0000edab0000d8b80000c7c3000009cd0000dfd4000081db00001ee10000dfe50000e5e900004ded00002ff00000a0f20000b1f4000071f60000ecf700002df900003cfa000022fb0000e5fb00008afc000015fd00008bfd0000effd000044fe00008cfe0000c9fe0000fcfe000027ff00004cff00006bff000085ff00009bff0000aeff0000beff0000ccff0000d7ff0000e1ff0000e9ff0000f0ff0000f6ff0000fbff0000ffff00000000010000000000feff0100ffff01000000000000000000000000000200fdfffbfffbfffcfffbfffdfffbff00000000000000000300fdfffbfffbfffbfffbfffcfffbfffffffbff000000000100fffffdfffbfffbfffbfffbfffbff00000000000000000000000000000000fcfffdfffbfffcff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0400fbff0400fcfffbff0100000000000000feff02000500fbfffbfffbfffbfffbfffdfffbff00000000ffff01000500fcfffefffbfffbfffbfffbfffbff000000000000000000000000fdfffbfffcfffbfffbfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fdff0200fcff0300000000000000000000000000fbfffcfffbfffbfffcfffbfffffffdff00000000000000000500fbfffbfffbfffbfffbfffffffbff00000000000000000300fefffdfffbfffbfffbfffbfffbff000000000000000000000000fdfffdfffcfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0200fbff0400ffff010000000000000000000300fefffbfffbfffbfffcff0100feff00000000000000000100fffffffffbfffbfffbfffbfffbff00000000000000000000000001000000fdfffcfffbfffbff74420000280b35593c000000a214bea9451501b9ad0cbdbd9a309164812c7ece531911d14717c3dbbc1d27782217989f7218f20d121d7bd4ca1f3eb3ef1f71131429e2d1f626c3e7ab249c33af4fe2d2c042a6d2222fb9b3c460c33836571567e55a40c90777634123135bfb8e1357858f0dfd6cd3316844ae2fdb041518b067b9167f09231b1d6f1c16b7df311ea6450d1ea29eed1ecc320c2b747de0206b34c82a708a2525b67967473d53e643c54f6f2f42e6355aaafd6534aabbdf5fe1a866406fac26314f6ad812ef006e0dd2c39e124439f5306ba6e0396f65ff1627ef771e0071f21b088eae1efd0a7d22d53ada205042fa23135ba627dfdecc3c473a7353bf1ea7435671e53209bdc9581998ef568e94f260c2af006595d31a5d0301d30b0e96f22e27c43d162997a218be088f12dc9d0915dff4db17246c1a3c61066e3807ec553cb509743e78e21d250c19332ef30e3d2d4f94a0275d0ead4e59f7ff403f44c02ed1b145563b075b55c0ece2599ea8038a52c4e77287a40b3015595e178405f01716799f12508739158ce39537c6364439c2c61335c774823feb0e4a46484b29464146093e52ba6e2e3e5a0631121b992d5a46a848c8478e518c794638949ff05b4c57d23967cc4b57d3bb164147bebb2f4cd1452f40e1701817cec818f564ff13f4072317feda4f17504f253558977544d057484615df8028fbee312a5a55ed2c1c72d1257130d62be71dda51a0a97748680d2735181dc85721d3923f8d192f8794fcc96be998eb135e56840f812d952b26dc2f2f8537db1701de931a9e0b811c99606b1d7a72b81fe6796623b2e3442266abe726bfe71c26713b582970ff964812b3a7511b88474ad1a39d60fe77fb5b93faa43aa689e37f22cf656dcdde8d4a529b091869c19a199bf5af108ce21a33eb8ae43a8485f63a7c0ae7f3e9d6d3fbf35320f44e2572fb823070f38da5d5fb4cd37f3e167531443d7027341943de2d2e0dbe4918ce0f53b1e5a7368b2c3c6ff4ff9044663d54810e945168c3b1d019852e9412c0563e10ce0287359612c8365ce0fd34c5cdb9f290f0e017571aaef2f889ca179debd4f3065bae18380425f4d7c9dd18bb2cf626ea6faa24e3f4384b1da15a3d6df8b52cc90b935da2e4c23b9597355cee7f1945393e249b7b14ad729ff91432962e6218224895175df6f11b30546af34ef81f1840d4b4f24290fa19e90d41f3792fbd17b307eff2702189161f1552f429b1fc18154682320160642d6a8c304b9a74645336beb060762fd36780e26160b5380e4500bf316ab3b6594b76993031ace92b2efad9cb178983121b9d4845f4ba36071a9d404af3f9d4f2199f14cff37ed44717baad75f448628d19af3421f46a8b0f19184461f3ef7bc1178d00634bcf58624c6725ac619927f15545490f360e0fb877c6814c6b9ea2f952ccf3a3abad91da10ef63f3144a0f23340223ff35814709f4d3516c16e5bb75f3a3574719c25228f4b5a03e1636db84f49a58781762e821f35742a2181bc2f7f397ef311637054630ad43d250643a45395291b55b725ae5723bdd1b62eae7a445bd65319f19c63568c61a5b1206b34d3bed1dd63786de01f49a49affb2a9cebf3518ed9fb7f061bf402f2bdfb0bb9c0f344eaa4fb1bb58df3fb10a4fb6bcbb8f3bb45a0fbfbd11ef477204efb6ff5815087d668629a2a0c5d17e9236a698d0061d79fdb460b2f26a9c24f33529ee32911b3aa1515876dab37a91b8339f13feff22ac0af17a839caf36b8b36183cace0f27ca7e419927205f46713bd1740d4a5f49da36019a6baa1f4ceac2c19b530c1f2eaf4de19c6322751ef91df5b92e05f6533f2a760db246a7d1551e266a304d149e19ef5ab9b67c917279abc17e5eb69fbf214f2182014b4fb9ffe3e163705e1fba23dfe17e466a2fb4cd37c16dcc16ffbaaa6f61663923efb92173218345ca6fb512703175f6a95fb422b751962216358fc9aad68a047125962cd87430577849addf21174af2dc5499c4fcf8778b8293377e4ed3b12154cf3afbf46fb6ab6baf3dc41b0fb4cbe91f32c0b39fb2ef0f3f2262a42fbe21813f3cd5230fb476af8f3870f92fbefea62f47a7a92fb7234cdf297d11f5d8e12023c55bf666f4ef6005c8d58bc9549953d730699fd4ff8264fb23cf0ac1886051a1c4d05891af4edc2fbf792baf24163bdfbe896c3f32f65e3fb6023ebf2ca07d7fb66774bf4993ad1fbd99a01f30be2a6fbd34630f3275768fb7ef1a1f2f78972fbe65735554ebaa9390610c05a5315734087513d8c09862074f653884a096d36bad118d01b4762691789a9a4fb84456418eb0ca3fb4aa9b419eedf99fb865a481883a740fbccb302171e6b31fbdcc4a318d918a3fb2772ae179e15aefb5dcf1b17b3873ffb7673f4189ca65c5d080bdc43f1e1b278e9bbf0411aed639db279b76db39473596dd293164dfc0317fddbabfb866f2cf49fee5afb376ea4f3351975fb9baa96f394a45afbd65b6bf333ddaffb9de9fdf212c3d7fbeeead4f2262aa9fbf329a1f4fa10ccfbaee586f41f6791fbe442375aab92fb3ebf0cd287434e9d6e5b5143a22f6941660f17d858c6629c18cba73c167536ce1e8e78a81944d168f419b32118417e79f37ee3a4168ea062f3684ff8160f7514f3d3335e16d0c984f4e44f5716db178bf3f1e44f1765e6d5f39b589417ffd4263cb1b60b56568bf7410b9931975f374f710f5c7f4fa42325bcbf1b8b7648524f17d3a2bc1d17f181fb389846f3eaf47dfb8dede9f2ef7b22fb6cb646f4429fd8fb1ab5a5f4cd8e2ffb7dc74ef4164ac2fb955678f3aea1abfb511264f4825bd7fb2cdbf5f268318f5c44110177dd73146b7a24ef4d9557b1ac71c8ac855c5302606910468a110d2833d76a203d85cc1c16f25d02f36cc7671902a893f3c335ff186fdffbf23bdcd317eae2b3f3dfb9001a3c8153f3a8edd118ccf62bf491591a17bed596f344cc8916cbf73c423ef6c45d15bc03651b1912a83850df6979ba2a6292c2eebd5d91e87574332d1ec8640e210884defb523cdff2811f84fb900283f397e066fbb5636bf4b5af3afbe896e9f2ed4ea3fbaabb7cf42cfc51fb744940f4fc3dc7fb444010f3ebf46cfb40019ff4ba45685818c3743cc9991ca49c3d626e6cdb6d54ca28d67ab141e2599329871efca9c71b6444e22057e352f45dd8b917feaa52f42bfc1119743121f3694f9818db6c99f3d79c4618989917f426394b16467b0df3b1fb8f19521d21f48db4ca175a186e3dbffda754ced3533d92a3eea77ad2e668dd293056741d36bf0ff6d877943fff1c5c2be22145ecd620c546c1f3241b6b1627e58ef43e187e1951f342f42ab1b917ec3602f4f8a719192312a0f21e3ac51704a731f4981c4f168ba270f48c969c181fea6d40d92c977aaa69c464c1fe0b4fe4ac6e6dca35ef5f6aa19dc29fe940765b492821c377c822552bbe2132b22720a4a99cfbe66ccb18874f90fb5de48618e3bcc8fb7a9dfc174fca80fb033b2e19226885fb5cbaa018cf7481fb4bbe3b1690f45071cf3b545fc7dc4c460fb904a5f494e4710bb28c59b37201bc93c3b85cedf29ed26f8cac231756f41e282b6e208e484d416f57f1f2d56f3617c0a984f402e336196a0dacf401f23a182db681f4e431cd161e6be5f31d3a03177b0239f33755483d85c9d2624864d23f6bb7c5a69c7e2164d4f8ed6167d7fdbd05c2405ff28607d169ffc3238fcc5423c78c9346c614a93f473a2b17750683fbeed5a017f40664fb11227117579a43fbf768d91957ef44fb4994591639592ffb3898db867e356462c5292e4270ba30a3145c994dc63817c2b506ff790c88855f7484a1d36b3cb022b49dc01f39897e3db627e7453b7eaa47ee9c181a325d08f3aea14718447cc5f3ce9d6d187dabeef346352a168c4c9bf38ff00e189a54f0817d9e5867e164264acf9f89a0468af5865b1d0f5d44650780f7a37565a8f4c0ceb96346217425be3f42ddfb460186a443dc4f4f39e726fd2e11ac22fba65269162b0d79fbccdde017447c95fbeeead617a64c9a609f26b64105687099d3e8f96edd6e714832a030810d602862a462e0c908e95486467e4f657a255646fefc1b3d6612ce46f05c183a0aa2e63122e07a4fe77fc847dfdb81f4981cdd5a7e25095e2496ff7c0d982d61f1b45a40c98a5da72c8cd36f9bae985ea04c49826f6e0159848c46d189116c7425229a29dca5753180914230f7d87f2cd1e2294a23bd653c8f2c033180eb015dc4796a35ffb37e5d2a91a83e040b6f9551375c7318d897491c79c9bfd5a26b563d7258cbb89e8e7b06429a6fdbbb519019578d2cf852092d88bd0f2a78859a2f1ffe22519dd8cb507fba725b0e80ca5d8ed18c6087f6007e90e4ac6bd0224e504285c6ad5e2a4885c47c8e5608003a80cdac406c2de6e9d9c33b3d881826ea313c35a52f98773329023e2e2f644eed4c9fd91548d5819c5845a9c356a9e281411746cb75d8b9686bb07213513a6827af9e2d2582d3aaee5d0a1e1582463d496d83be81d6d0003b8586b2b42e814ecb2eb4b31b288dd08d4a6d71253f6f90872d7f2ee65a725a8f582404ef5c515ac37806644d66e187784bf25f74a43c7dd98747933f580caf12c97de8796af508f6ce38d753833fa7e3df673b922672b38b4a3750af52b2e56f46a293d2301edf675a87c40637fa24ff5de154a43f0bf38b907403487346618150454a15be8935547faf98945cf4502f7649b7fb6993be0d924ba7e87e5c44373d6a05774e1f29b0405671ec2d2912145352a9f45d41c46d625518ce670cea41617a3a074385e691abd1d9156a1d614d5fb54f097d82d80c614b6b92cfc8bbf18ecd7c70d5e7049d93d1e01d3208d0df28de97dd2f92b2384b83a3414fd99c8754c10b9e5dd1be2056f367ff898dec986d36884b48e0487aa87651128106a3085ec747b37f462bcf65f40a63d5ef3e7f7cceecdee0471af487ef9a024980f7d83f5964932f413bab5da896195fea92a65bb5e08a7a9bd68e57b2e1444310b9ef9f9b1b0772aea0435d832578761abacc584d3588cdec05e37241fdd2de96b2b67eb007b4e5f9d4ef2a8742af5235a45147c3cab7323fd344569e919373f12bd5554e858d3c3b21c295a1d79c4a4fb2a7b79f3ab4817fe0416134b576cce565e369d8770ed9c2924f8be0dfa9dd680fe77af006c4499b2cf442c3a8c83284915263e978a0343afd905502056046dc7ab6773c132468e7578f4cfde095720b8e785a720e4bc40228f788b0f27669314a5f931b46bd7903017f8e10890fe23b330b2f9651075346d3114f7bd0563a61aa2b540a0abd34d4772278bec85e703c9d214d3cb2b767c686f94e8433cfbe3fab6a77d952576510c5cc764230fd772df1fee062380a787e5e1da520a88c3e08b7c330d28d614ff959b861ecc7795fe87c22712ae536609e6bee407518e19d641c5b653da09e59b8800e89d17848545190aad2538d869bd717dbd8356a67798d9ec5e38da75c9caf09b6ab547b3941643edf2f02e64254d50e36362c41616048da6c425bf9318c40ad18669821964ec7cbd2b8714e8f5dc27626caff71a47bf64d476ce899f18c24556f7820202b9b3fc5f4e77ac5be8c1bd2e3492682645389b4b359578edf64a5a823571c07547829153e647579c44813fa75b8937cd5797249dd5803ee0386f9cab266917789d973c3c989dff5e0de1a65817d238899a57e9e48eb67c3d0321d4dee57cc778c5525bf8f542e90828a8b72085cd25067411b57e1a7d11a4f67da559757ad36fbb9f6f3c55cf6723acf5d58348dc055fce03fd929925ba3f6e40db6df8f0358c8a335945849649d783b52b0006124cf4042c3f16a854dd4a7672206614e215921735710d162219312c171da4b7649882772eb6ac18293790f8a6ad0eb8a98988789622911a626f368e825d45f92441e6949bc1b3e57a98a2136eda230713b4b6c6175aa129315646973336e21535ebbb8b8a549687da77a9c603751abd14723da67adc45dd8ecffb37995aabce4d743db9059e992aa435f87ebf2069785b20d1282e032f87ec90a5977b5b6eb7ce5e14e76816f6d8aa2a99d88a41cda754a8eed7955bdc677bda57b7c9308d8853619ea8795f972807be4487ad3c6ba8177c1897f6ea77077cd107d7b0c6eb9775068bd82b5994983546a8b789ca4fc7e30fe328a23afde89fc09b97d0dc4b878a796bc885f381176c0dedd7c3009868708763778074f1483b056e47b2d2e6f775e060d80613be47905e3c28197a2b2867f2087840da05978d324ca77d0d2c3838b448282d320027d0815b57a46e25386e546797aea5eba75c4748a77a68fe6769eb2d488d27ee978dcf669752152f679d5d4447e23d3767a076168784a958b79e1e6cb7e174abe7e0952b07a7e773b7e902dfe83891d937b603f948047799278c0e56181423661814ddcad7e50682c7bd2708e8791bd117bd3ad5d764ab9e9851e6116883d29db86051203825f38767ecf081c7edad64780ccc1007a419fa88156cbfb8877f0068a366cf17ab74967805410d1775c0ec084f283567a15ff0480a7bab185479db782a0e0027c86b9e58487498f89cbd316877cf25b801767548ac2714878a7a81c89caa1d885c0633589a0289b7edbef3e82b44ae88619e8d979c7e36585e1ac7d81e3dea681258e21841709f6844a668580588df77ba9ec97766b4321899d7c8f84f0b64b880840f485a1533d851767a57d4a544c83b06ffa7dc8b02f8747de5c7fbfcc1387f25f5a8a96d15289712fee8898a5408dfef27fb1fe337a96b4d9119e22eb87a7befdb497371c3793e2cc0aac6839ae8fdf2214934812e67a0fae55765e185b83fc9293793110d187dcce0e868708c67c2d76639bf921f880fcbef0956f67119f67b9559a35d5fb9b7c1ecc997a8cb6b78d5cf38c291b8a8b95baa28623c1f77ac0c1d18300ec467e9c6e94869bba197d07b41b8215ed717c33a3518a2a69078e6c91f6ad16430393da5506a55aa5d0037315fafc42ea2304936366d8c6a231a413a65288914a4878fdecb7772cc2ad83e9a63a83e6830079d593e17e3d6ab47b4116c192d8e6c68cfe19c9af3ec9c39005755d013a19f177bd9ea67a4d820f7a4e487c042afd998ae5808088048d1c7cc641628a98e6237ed84a2e7b4c74f67ceebe667d388172975a9ae8afa684c0785fc93092ba7ee176bb07db75b140997b504ba975669b2c865791fb8b03a2327b42ee2879af368c80edb7ac827a8a198220b7b9783bfb7779379079828ed03eb60c7aed938ef44a98ff16557824090280d15731762a53287703a3b77fe63bd287bed734819a8f2080aac48c8253cc6a75084b27795ed0db7599b7f18705651188868021a7a69f5eb33e38d97dc4fd1985411d5076c1516a76d8de15829ba8e8861fdc0f88aa783f7b9aac607cc4b52478d9b68f7d03c7a57974203779ea94e0764e1d8f9d8ac846a5eb023c84085245853201b782e10ac287e06f07774edcdb8465e7e67b4f201381f6363f8327e4cc7f49584576e49dec82aad62b849a18e57ddab9dfa1dfa972a6a2b7127f6d3b3278c7a2f881f0af98824535538250c2998900cf9b88288d2778e3a5a29607b80c8af1e1f989ebb4ae7dd81bfe750a478a76390a5b7b16d7b9993e2d42cf578d667a5a367b78e9f23b7b6d993680088c68756815f1891602298a214723abf3ed7f8f93785d8a60b62d7f9eb218890b14197c055eff793efab48717d3f3b1cef2697a0b0daf7db98d5c89fd22457b7ea64a823c2d0d7cbbea0f763d9900fbcd7c0993dd268a901da4f37cdd3adc772d0a257608a94f6af2ecfe8990c841a548ad0f0355bd0b81c8cd508356dde386276d8987e4c8a17eae24597cac2c9685aa9cc780e78af9a7128b35a7e9e43f76e95770804540f4893590636813988480ba2f139c9f0c55cf83ba19860744d489391892880cfe0388f03fa186e898e57bdd04e379cba8b8fab785aa7d307981941cf013891e2b397be66ac778effb7b751ce013894acb3e846196ee03de219d897ead1781e16f55890797767732717b7de9e02981710be977bbb463fcf62c2695d6343a977160de77eb897f7530e5f883ab1320711d583f8542c6327aa93f847c26e8ae8708649b7e8188db85b068b58886efc983bb205d897fa99c8468f85ef91cde28a52f53e29aed1c0d7f8d8119889b02c485d946ab664e23bf880482d580c720ae03112885d3da3ef5804946a079c54cd5818cf8d489cd3b628376f4f882b02727872cc97d22c71cbb9c815fe9843299d185b9f9268620db128aaa5432880e540f7cb833b28a1d5a6dd08ba32078d731a87a3e5420770bf03f8511f95e7a99760a8607a9747f5599b1fab4e9db81987a0e879b025b7c8d6f6978d1bc797d09ed717cc600de87c2131b8498b4da03fa05068478a4b287491ec17eaf7e0c897045e87ea6f48782d212087c4ae8261d0f6f8a88c0755084709f6979ab8ade7818d3fd752beacb841a37c8786bccc77c149311847b83808ad929b8893b3819847bd2c27b19348181d8928287ace0be81a2481c1b8b644980cf780f771cc794839d461e7a85872d8038e63b7e25abcd8744d4f87b76233aa0aa52ebd7dcf395882d352a8351529c88f9ed62882f1b3d8a2e67d87b6dfe6bf8af405a83b1c9a7781e89ca76b46e807b4dd55f83761f5e88a1414e8af230b1851248a69d78bd977f239dc87a30b68d7f59940889c67e1177fd92fd861dee88864cb1591be244838471e77587929508875f678889cfd22b885a6c6081052f387e616a7a95bd77bbb1b62c138a067367797a4de184bef4d981d4d4f285ee3ca07ddad63c7a8003257fe6a788793612258267cd397e8529538850e641762ba213796a18c57ed784b7a52fd508a5ff20d6869efabf75d4df5f8a0e37078a9a432585d194c478d9b3b2786337658a8ca57d878c9eac7a19cf377e01f38482fee8c97926b98085796ae89e949cc590dc73e87d162af77c02e8088786b96a808534d2869636ba7c3117c086a46f587ac74f0e7ad36cd0806677b183ef845e870b1448822f4aa087dbd2be7aca2314810d587d869815da803de1e7855f800b850d17f47e7a1e32f90724a69a3f96087f43ea127b6a182a7bfd348b830732597c4f97457bcdbd9182687a998096417287ac455787b3a8cc8246a11e03b6260486f3a3837effe43b89e505de9b95289f9334b3ab840b670f7df76c63884d12b084dc574579ebb4018104286881d85c12861f1510767af346872d88fb86b01c9176e2bb40dccaa58cfa8517f60409c52a9ecaebf394ed2204a1499d827e71164f818c8ce57bf993528a8dff547c5a128f78fdab6e8acf492e82caa1737939ff837903492c9e15b105837ccb6c96d364cea13718beab45cc63a4dbb267872ee9ba80433d0f89b982877b7aa0437c178bc57cc9db49812ee96d839b96ec7f3087a979a9fe4f8942f577a8b8aa46a5009723940ef30e8fdd242eaf54b30298a5b8d579ef96f8844b5bf77d5e8fd989c2dd558aa5f488833c105b7734aa5889366c7f787df91d806ecb87859e787d9079ff13a63b6b2a8b01851c8c0015a1a35783748ad81b147ec9a56b894303be88adf98775b82cea775b4f787ba9ec7675b3313d7e4d8de588bcf81d8969f4238d5e69be94a58fecaa4121839ae315a69706ddf68a3c56d97b031a4487a743597a04bca87a08df6284aa30628a2da15488948dab86f283667e2ded9e895a7ef0864a1ece89683dfe7946884da33af14bac9579888c54d36097cbe562899b6efe818e3cda7c6f139b800d6a0c842c6fd87c625ffc79621e5084fe4da9803ad79080c31a237694b56d762587fe7576d051879db28578da6af183a7ba867b838b1388eb4f7384144be37e35e7437bd647c37642b8047bac91fd8509359281e07abc84e38bcd7b2ef4177e16d7e4829677b57b6a3c1c86ffaeea7554a4c381e629cd76f4b5647af3c05781599421804f32568846ba047bf5f23485aa42797d24c8e1823a8f7d7ef5c3137cb9f9f17d9b79c5771320817ec486607559163f8aad94d487d96a8478604ae689faf40f884899338a71ca6f8052b3ca7934c7b279ef72b6833c2dcf87157d32833183f87e41530f850d5f2f7f6271647a08dfcc76e52240864fd8967f99ff6c81e8509d75436ca985506f117690e56b82115360820063ec842f79887b035b9e81b91d167da253ea76c2179082a27e977eeebe1482cc8030886afb707ce3c56a868b4f457870aa77776ea76c77fd1b65780504aa7812bf8d87f5700f7f4a42167a2d9aa485e8eba27a02a7f98750398e754c7f1c887ba3f17f01a0b27dcbba247c8da525856b67a37ac57b168437f122843eef50897e485d7de3cc4683d97ca77da1c35f7b1e65eb79f4b56a88bc1597889e305e7b62cb8975661d3d7e1b6dd27fe8bc4079c2f3808adaa7f8865c81887f9797c6852b613681a2003e7ca021df7d2683247de48b3d806d107e75b2c9a0758575197e3457fb84c129f88193ae7b80eb7e668391225c87e994eb86a62a357d2003e5822c5d6989eb3d3d89e4e5fb82447a8c7eab8af6799e71b775277fe87aca187d82215976893f7f4277bcbb3d7aeab82e82a4b01789650b0179d29442896852507cef31227c8015c47a1ebf568a159a7d7d797c5080c1995f7b5cdfcf7e7743fc81c01b817e6dfeb0770e1e5479b355ae7be5cf2d8905addf7b8d5d8e83f57b35834e903f77ed5de57da439b5794eca49779e6a8d7f03743b88c0da998279b2597da81b237ca9466478589160773815fa845326708352a80576e0dfed75c23b5d863773717622b332872989b17f3d4d2a786f7f6586858e6981eb61547e87ae438220d4b781ca47f88066367f77171f6a88bd47c281d086d77c69edcb7881ed067b7a423b84e9e73d85d3a99788c01bc985b61e8d76b1b04178483ff5807d0b4b7ddf077f82ea658b811eb49c8866adfa7e3dc41d861bf6b97b1da66c8463379688ba6c5778bf607b82eed76178484af37837732a8261abaf7cfe95a67f144ba6784c62e087cae92979238bb68159c3217f4d16e97d58695287eda5f579b737557e8a4804765d5d4888738cf9790689308957215e8069a5c6889500347e88bc947e6cb65577c719ef8680d45c7d6f8aef86feb97182e5059a7b7b08898a5ff7cc7ae2be8b81c89ebd89ad77c57532305b85370ef17ad5c9d68482fba7880ffdf18283140b8a546afd7f4809617e5e7dd8788e9a0c83ce42227ada17358838520b785fcca87d83ccb57e3cec797c81ed177d3797b3796f6d557c59827e879f99c49d4094599d8f2e11a25021b88741121578fcf0f187ab6d9d86fe9540800201cb80da5f0f8072dce8867182408610c3e687b517098405940177a3c62f87a11de7a140c6518b772ffe90d0ff517a6337bc7a4731e884f009e481c9ff5d7e10aaaf85640f837a9ddae585f677827570a3df88fd176c7fb821e581e3141a880da01185b9c74d91a8d0adb5a830b98a98d596854b503a7f71f93979f199b87b576d82856732b6802081e17513731f86aa71de7bab9c0b7b9504b77dd33dc588c3081d8711a6d69ce9d132b70f581690eeb4c387ef1f3f891488ff850c6ad17f65c33c83fb556d7a7593da766c6ea289b8f2d4773175507ff665ba7b1b1a07889b55d5872eb3a3ad2635c08f9e5cb1abf8cd4880b438bd8207fc1880c7852a825ff03b799761ba7d45ff6e83f3c032836bd33c88f9528b7842413a8acd5f41791241c6797e00768626b90a94288aa1a5666113b2936c9e8674c93378bd4b018435dcbc896f86f58183f0878944c2787e8bc6a3800e95f28030ab2f84eff0738796e3f086a3bb4a787ab2db8e8605e8029dba41fc0fec099202a3146465e9e48541ca737910aaee828218f280c17cd777ba82bb7f86543685b164ef7c2ba9438786dd3a8a7b507f0163f5d885402166773f8ac7876b9d607ce33c1c7e19b2be8724cf6d7c03e4fc8980c2947b38276678a01a957f5b20d979fbb3b980449eb677a3f51a7f85875e977409adb1d85985923d3d9285a373648968b7367a99c2bf777a4d5e8bec6933b49ebb36866d3b2a857b913e801439228606bf4879af072c7846471082c4eb50792a9bacd048f7eaaf50a4298c43f866892c81747939ed307b3117b0807c33b579b10ac6ab76fefd84ed4008863e54757ee60c6c84d8e57b7d6f137d7befe98b81fc80327e5272b490077466a3fa75cc7bd93f9b809600d4816a061682318eb88537eacc9f21a31596839c47862c81877795452d83768f2486d13aef84288d59805cf1fc7da8802b7d5c2bd79efe2c8a7ba4035a8adce0c37c9689f17f1addd17ffb0d3d76923ba99a5f20aa87138ca276bc035f79cd58d37a36caff7de1d482802d1158980da6d278e6c8b2b0243f45784809ef7ebfcca47fc88c2e7670912e824b6d88813c80618ac0073991fe161885080abf80bf4366782a53be7d00c88f7c081ca67d279ca488d6e2fc838529d8da6786987e49e16a8672369b85ea9bab7632300484fc094a834564e5821320058750819d787050477ac7c6fc85a97c4c77ce05b385d731aa81ec7a6b7b21116d9f402da080b61ed37b640f807b9557458322ba2980bf02c67f26cbf57f844a31f92599597dcabe038254c80a7c11f9247eda30877de65f277dacaa7c751e2fb2862d35b4d8ab39677e7c740f822d9a4b8286fa6d88fb38668752b38b8981ac3286cae9891c02f27487ab62bb7a1fbbd7830cdae57b0009c67d972b7b7f732b0b8a8c270a7926b9557e26b965778754407bdb421988008793830761d8810386eb891e616e7dcdfeb21daf446f7f4d284f88033e8284a97cc4898d76f6794403cf75b181cc8384b694886398b385b1ed06868003e785b80f6c789337238259b1cf8602d2ab82d17b4076c8df6b76b19eec7db223cb7af598fb8416b355867f0e5387afea5e8336d12c79d8f7827d10ceb685f72b9b76943ec675625f6c7b8ed07d7bf0e51289590b7789512ae7f942a87d193bc3b7860cfe8b756a23c6798e6bac77e4c1b776f9a53082692e80857c69bd0294a0e67cb08c0388f86fa6869b434e7c16188e8164bc08860b8beb8269e2dd7fec151e79bc9e1880227d888822e976806f499c7e152e227e8bf5fe7c00c82481e898fade846be38140e0277b84f7417c4f07417e06246179c3130784a5407a7d9868321b0570a17582be397afa231e825cc2eb795e065278485135838804da8666c69177ecf1107f5355087c41e7a28673c63484afc6d57e43856c7d52fb6b813af4d0844c1f6f76d44f8783c1e17f7db42da482acf24e771cfd3281b546ac7526d60b8748fe1f983c79bc753462cc825ed78578bda51c8887083f82eb0eeb84495f067e0fe4491cabd286868a4831815475fd818f38ea777403c98871e7ef7ea3c6678512d81d865d110f8c34698d7554afad851fcdd8810c87aa7b7576bd87b58e8d783051d57750323d8688983780655e137f06774080977ead773b79897760af1f7ab713d97c320134a58490f57fc391ec771c748778eeed3a83d8e5cd7b0c1b317650397e751e2d439514250f8869f46e7e32011f7b923bd47f1415e87cca2ae676abd23088e0933786f3370faf90fc5c7a11700077b044bb7d6b67398893c04976bb6ce7844caacb8e90150b8a47387d87a7267a8092e8f383250cb87f92304877e0684c79be2311806aa14e90e6c4b184e8d9447a36415e7e985d2b781cce728a5505d084eb7edd94a0c6317d564da07d912216873720188445ffa3887be4cc850b4ac98349c4fd77b0035ab57743148037b193853c104580ad82d77514159f7eb4c19d8ad4e6aaa8f7030ab738f7d0840fe4f07f92831f80181bbd80af198a8857912a874cc3538aa3a9b184886909a28f67ac8db04c29208044f37b744b1d85543f9976bb1265857df9789baf534c97fb418d816624f780bb2b107f3e951479f5987581800a257985c88e7e6c757b7600a4c1a0b45b9c9448f01495730fb57c8b73cf849c925379f7070f94c5f476aef6b56c92385d8c87d66b3c89f469477c88869387e26060883f981786026df37e2a19ef88f051149ed7d571ab211d0696fa4b4c925b06cdf90b12b2acea4cd994d5f38fa9096b1baa1006b2833d1705846fd93c7608d46e834a25df80a5acbf794cb5a77e37326d8a1b3e6a75d1efd3932d0e509fdb5a679bdeb55f839591fa9214bbeeb30790b58de9e509994ae8207b4929a68874c20377692e2b81b23c58827e0750779f499b816087c97dc582d977e65fd27dfad0327dae652276a0e4e380c964e3814df92e81d70d058694216f790b798d810e953b86987a5c76f1631e7a3199107cecbb598a1b5000879416c67a433d1e807fa9d0788b7e6b7d6b1f6b80f450b3784ad6cb7e7f3d7789b09e05783ff6838450b7a67c10fd09819ea75b84483429889117d079eb12ff7a64ce877e86dd3a7e44c2e576c4e4c78992dd2184b41b1083ad8de681a2659884516b99797ea68b8a7c3a96812140577d7050d186273ea2868625a48003f62486497c2d88cde11c82c797597a68273a86fda03f7a72d19a8025cf8e85c3e48a868b3d3c8216a1b67b863b8c7b9eb9ee81410b977d9bde3c7bcb1f817ad4cd4283a743b689f40f92893852d2824564128963b528848678487e4cd9178a6b7933817714a683b4a4d1794593ff83b695d47e01c4fa7facb56682ef67a086e7080681fb67627f9dcf917c8438338385bd647cffdd427886d68784084b84788f721284ccc1ae804a8a5f76b0731179ec61a875d319af7742add57f49588b781ff5878382a1be75ad9fc286be0da075eab1bf8001057f821ebf5179a17bce7f95c3768523d345893eef997f9803a383b5587d7ea65984813428377ccb4377750e1eb88273b48686eb199e7d47431b837e5a8c76a2000e8217f7a989b529a2871d00c0889cab9b8092fa3982b886b4760832407b0732107918d3578636b48d81ad9fce7f8b4f658a51ac688904d5e378be8fcd7758862e7960512d88e2602684f06ed37ad84ad7875f38518621ac3d84c5f94f83c105c17efc6e887f88864f8349f38381003f2e7a1c0f90805953987e2d11df7a75b7c276c87a1d7633d23b83f3c07b7f271a99754485fd89ae19697fcf49c475db428f75355e16875ac6f27f986fb77704451081b5ab4f8199c9fb85ddd5ff815bcdc98699d0da7e40aa8478d7a8217de64da08891b21a7b6a4e477f162aa184ef848f7963e4ae7f55b2747ee8aae78113973e85bc15dd7d10eb9576c3541b853c511277f7e38d8129ee7c8277de3d8425f39989f3ae567b08c297791d942b7743eacb864c9f9581eaee987a2bfc8e89b6255189a1a604884780c6894f322383d6c503779d874487740ab27a1987977ecd05c47d9e42d37e9582c97e93a3827a8b07197b60807e88ec27cb89c33ed2779cf7a38491b29d87e8ce317c7606967c1cbc427ff2a0a4895ca50c84099aba75434fd6808ec5db790bbae582d59a267b2193377c198e02882392d9786ce58185cd223a764444b782d5ed938493f6fa88497cbb88a547368407df8277524747800ac52479c3ef9379b7ef637d0a7d448ae505fb85d2000b81f89e868a14eded78354c89764d69d6883a67ea761f730d7c1660c57e4b910c7f4265d77adf24907994d9e97d9790c1794b25d48978b6ca805ba2e27bc9e65c825d47877a0075ac86e4f7ef885260a5894e07c382873e7f7a765976775ddb657c9d6a5c867224b68795a61e8a8b32bc854df9c77e2bc6047b471f6c88dafa7576b252ba86dfb46f7752befd880ec0ba89b9c3e67b955e41806d104688ebeaee817da6207ebb5ae182a6f4a0802140548aa224798a7d8296828dffb27c268397866c75ac893ee4f184c092557816be177d6cf78b8489c31a7a8b90237e0af46883a3bb458803d91f7f9653b476079058880c6ad07ed731e88555f31a8873442379ff13398a14f8d9820ffd8f882093ef7c55feb27f2c15658a7e072788a4931b7b7afaf276a3bfcb7fe65f8b848b0e817c89f27c89ae2b6f7653721d7e3a842777da587b7e47a8b17d85eceb7e2451a7855fde4e78d14ceb786f37007e717006847899d67a8015b87736eefa797b3712870022057a8176d47c810a5b88fc1b51832ae3317c6844e189980a4f86a13a727f5a5a8779c873bb79335b6c7f58e0be819283c283f594d77c459a187c4f3dca88dac04689497cdb7571e07b76cc02387cb3de3e7e1d82c389e2b3d77e79e1c187681c76786295c77a50157483bd35367f2dbec389cbba5088dae83a7827781a7e48f7e084e31fb586c9359a77f83d0b7e02cb9a89ada61b7f89b1e87a67d88c7e6707427b99938e781946a582d18214818af57b892ff7ab7ee8989c83f05c297f6f49ac7b60c87b87f337348746433583d576bc75c06e6582276dbb7d4045f27f54ec7b8095e77f8111b8f19346d17daba9fa6da11cf467aa3859288f3cc3728b9eed0699dce1c498a94081abcc74dc93adc02d80a611e69689d47e76d8e5ef81f8df167bee356686fa47db8079296890fe180ca68ea14a8fd585aea5e57284b721d15690735e838c7fa9fc90139b619ebd8bbb885e595787155da79923dc97853e25f6867c169a89cd4d7d8155b2fb7ef283a7b6a01fc59039f30d8be3f2fcaa038f8c914e98bba90e3c390475cfe121366e6c9c95282d8c24ddfb76fcd3e8a12ce52f8a9e9c2b7dd731f887e5e10678796af378db30477dd29b5e91d6efb598e5c645a6c33d249705e638963a36d927ed7b3f7b468fde7fe61793872174c38c3c56c8806533e4946850c47de95ea0881d24437ecf66a68911ca7183257cf48036e333b14fed0a94b7f8369e40c24ab15e273afbf4242f7bc014267d0d46218697689281f3c0707d42369a96dd92ef8486a7e285868a19877702ab7e74c2ba75911089820964c58cc1bb5a8d0d6168ab7fe96395f8046584913b5e84dcbc9d7d691c4f781880ac7fa4270798fc66e48569596e7919b2f9850b92ac7fbf720d7f5d9a7475b3b304b5ae023e9c438c2ca7b54f16ae68e4fd8838b7e27e9bfb787efa2ae5838a890d7e50f8278074ddea87b8a32d8a8360f575be9a587cd02c0c7fb07aaf7fe7789076ac2c098d48130bb71a90919c94084e8ca2e23e82e93a1c8744d405766af43176f3135e8af881de871356c17b23c142a4336d307fe8ebea7646c51f7bbff01d762d648178ba9bac76c395cd88e8eb12057ce8bfdfa887df81df2b0b8a88218882fc269a7918b6a085ab2ca1813feb8f860249749eda88c17d924dfb855f5cae8124b6bd8722e96f79f4a3c37677f0507ba3a6290509290add8ea2a189b00a0c83699ad087dfcdd688bd35d082444b5381864d367773a2068d65335879d21dee7c9cd324817c45bd793abe9a874f689495c77f489a9d579b87bc5d58813cc8ad7b4385387c0e66b7818d118a7d66129b8af10519864c0458a4fb9f2586dd3a327a2bd82c8087913a76c34221860ecb6b77001bd794f5078d84332c2a7b60e553865d064881db78b57dc3e43185337fb481f4b58376b372c08951e20a857ead35856815ff87070e4e8afdc4007de575328529774a79921e897d22a158fa6e65bb79c5579677223ce77887ef4a8381acdc861a660d851bf6ad8548a4ac16a756c877f57b6a7858b56a879a0d6186631a0281c6bf6a87194d5c8932e4969bfa8ccbf9895f23810a3cf07f65286c78f45bbc7524f7aa84178bd07e3f08cf83d9ab8fa3c8e08576fc02a08a8bcd767df2d64f85af6114827e7ee886805d0476e6a01e83358240fc52a107896e9cf08443329d7538f1f7777befdb8471d5da79adc3ef7bb534d317d69949a6c15000822b97cf78ba65ae790bafbd89fd4d7388d731618871772b831631ba7fbe213a7d233828890a8baf80122b39868a89188a677a57843f5b4c7b895ef2f6a8600f8da00b8d7672a6f5894c7b4788a22bf5863b8bcd7b36eeae7cbc7aa388c0c8e27cb9b1a97f18a43e7ea4155487f1c4797fae5a397d739757783cdaa27b49bdd0b0f72f2684eba23585974f5582e0bbcd7f89f90d7b1d5eef7f7c0f586bc4f47e797fd19e1aa42fcf7d7b08a1832ad13d7c08f1da80f612927d6ea7ea825ba91582df3d60b877428d883129448aa6a1a8846f91f9772b61cd819ba8488817d32b85f3e4827b464e3d1ca62b8d86045e467d770d3e781c5064851cc3268677d3407e6ad78d8027eb5c9da485877c3964d1773c6e7f80b9287481069b7c7d71e72d768671e38039e2f47c8737c1849a065e82acc70280fddad8898f09ac893398c088fd17828828f2fa8ff3a7b978bddbfd891bbcce7cd8a43685f421b5879893427abe2a5d7697bf85825123907933e4917512ad6c7efe17e689528444878994ab7dd2121686a3203218f9ccfbb539f89d83848054883afbea7bea82be837a784089d74359823632c07c7fc62489ba9b2b86aacbd77b6fef3787ddf98777f641ef79bf6031824e12818604e00ca3a529537affef3e821e12c889d10b2787e00a2c7a784ac0764444d9838b73ee81f4aa2a97f456c188aa1e7d789f49e37e23558979e30dd37d36d11778d02c98aa1cca728171e797839ed69f840b094e7c2efbb8805fd3ff8517a4d181051d8582ceb2c3800cfe9eae3e68e2814702ba7e21befd811b7f9383e9b1567e24925198062adda32dbbb07f51d0827d6122a880e0f14c850dfa87893da07f8314d4a184ff784e83bc277b7d83883109d35d4a8746c5a0792c44ad75dae83c7b9eb9a0825c7a1b7a5d52ce8506078986a9466684c7fcf1898c81f8824fb4347dd606fd81d8a42c8af1053179539681856a7dcf8dd362e41904e8497e9462097bc026c016948e1b8652962278811c51853e421278d9878688614d6086cd29d0821c21a97c8adcec7c6d87147671ce407bac0f55806881268f947260a23b13310b5edfd2a1c0c7f8940b8d7877b8c70b775a94d57fa43916770c1b2089645e357d593a168549cf977be181487c77cc1386e845a07535f2b68cc3f93d8f3201b17ac14abc8a8e117eb15ff74f93059ec07cd0aa487e5ed0d4894d0bfc8508db8380e04b67780134877ff9a5b77605c37786ff0130841ad252763105e8a7cdf2757929c75685b799a78a41b690a64996109aa444b7781e368c7c151c1476b3433378a7557c7dc6249381bb4f0d7e01e8c384f2d645887c0fc07c865f978c4b78dd89d64e48a8f454d57ddbf32d96a030748c39814a86ace04b8015be4b7eb8fde777fb7df485a3973f81e1881f89a6ba96887bfded79b98d907d9993f17ac0a40595b5684078cf95c1a99852d1ac70f49fa4fb34fe9073a422856b26b07974203a7613ea107f83cc6088d6e2587dc16a4c80414cba885367f67e9707a4890619d8850c673880f670ad8be94c86962f2c84a966d482915be34883e82c40784062b17e5ee96e76f09d1b8650b0cc7b4784d3877a25967d8c441d7df761db7f97a93080897025826283207be7378684332cfd7e206f437a63498e87e99f8375b4f75189bf8b8b7be32af98687c08479b7aef885f88c6b7d8f846f7bb3e9da7fe558957f0009dc8643a96c7e9b148879dbc08a8215ff388aaa42dd7f4a5ff0811ff1f5818e06e47ac8cd4a86f6eeee82aa30b87abdf8cb8432542b87761f5d86f3b5f486b23c8077ee9ac2777d4ca1751ab2a078171f08853d0527878355ec8757913e781726a784ea9b1c7e45db0980bfba027771e0358258eb2e89aaa7b47f5db73d8a47802a7e321e8879cd346383673d8e7ac4b55884a2772188b2a1717e6976c180ae9b567859579c761d69ee7556b9cb7c9bcc00847e071c82ac50d27a3433ac7948af2d881523bf894b91237b1a1e3c852750dc82ee23dc7840452f7e8cb0057b6d34a688a7f0a275f08be77df90aca76059f577c7397527c7d94e488f744fb83783fed85d5939b8708c94688cfb55b87f8686577fd51968287f6f77f337fbe86165543771acbf4779a06947deba203803e013b8a49172984a08d288449cf7d851a308c8172891783a59ab7898231ee7b1d704d848613c57ef62f6b81dcfd4f8026b9d276339c607d0b676a83f0d3d784e1acfc795372c67f94212d875410a28113cda37a1ad69d85a7d3d47ab6e8107627012f8823792085b2c5b689fe4230843eaee281838b5c7c92a70687ec03157bee18507a9a351d8019295b81ca605a7d1004fa819dab4179e63b4178def95b83a56493860e428676c7480081dc339c7f00feb180301bc287f90a0378d8c1e17a6993787ebc03b389350030881cb133894851ac754fe3c9757a3bce77bb5ac287ec6f8c823ae93f7c3e78068122c5217cfa0680878cf8e678ead59586af858e76f8fc64824caa7889d3a99581f55e177d90c1ee85430ef689c81cb975e0b45e7ef2e8f1820350b67a2d52c081925437839935b97f93ae69818a7e838367fc8384b5e10477daf33b87a7c180893f7f5b8100a4f081c6bf058280f88b85273e0b7f0f374584dcc70782d2891d7f00ab0b7f1e19ad813f50de75676c0f7db93a287f5e4e7583c117797af75a9e773e951688613b787bc217e47769ede279fc26547a405786859d4d487e9e54ac83ace08276357bf07c9d87be829271698a439ec77bef84018a124f4d88fbccb8778beaef890c879076ae2fe2885dff2a7aba41178a9b8b9689aacbe97de235658477559f819271118213ea9089aebfd081aead5a7ad987af758288d4891aef73819d8e8378a9c80579c0f0cc7805d523830a2a2c7b34aaa67d9c09937502cb4f8399110585a810cf7aa48c18812e3174836bd3ca81b4c8bf7ba55280851385bf7a23cc9c88e111248a3f7ff9836565b37b2886a389ad82808143d8d67b0fc02a7ded52378414f8ea85680a7c82021ef280d13ab77ecc26c478415e777595212b7637ea107fdf85e97da2d1d57877a85a8f054fd87817cc73785eacd181fd4d1e7ae8507c8608649675ab49ef753ed6a17d82594b8a75be6684e994417ed008b18982d7a68085346c75527dca7e4cfd827c925fb18a26fb9c7d83969e80d5c962781e2426808f9d187f1c7b6b81bd23737d36ad907c5ccd9b88c213bc7a2044cb7da30eb3848296f97a858edc7e66f5c1804dca5c97e631ac8383d3e9924d704e7be766177fc283e37e0940a081f5c3a577effb0f78d128dc7ef283a3849ff6ac768db7d7864141ba88f4fd0f85ae908783c86fdf7aea1d9976c06eac76d5395c7bff787578c2e8a180a0864e7b18d3047f8188748722b30178ddbcf278d68f468626d2a6818176b87618c81588a141c77d688c5799bc773b7706b86a762f8fd0795bd82a762766388564453c856c63237a9993867c28980d81e372fd82d659ef7c1d1de3817f0e7e7dd36cf77e48e5af80200a027c2b7ea4805127f67540e4ce77fd0900783fae4978ff664c801c57cb775701257d12f56581c313ff8387e42676cdc80a7e0541767dcfefb37c209eec7ab27d24874b3e52908b18f993d8534d932c7e948a6a2a6a81bce6f381587bb77d9feff67ebd766a7e14d49a88bf55a3791535c2888326787a68a97579943e53898613d986d8a4c189c1bdcc85633e9d80a826da754c1a851dfd44aef8d62ba41e5d0958f764995a18c37b007fb563ce7f82183f7a42d1b57d7f0edb788f604c89a6c53f83c6f508863d712182a796a8b87bfc419c5c4d928c461498b3c64e467df0f00577cbb3bd7cf9b0af84652f06779b180e7630af657d3e83c487f88c648321596d777838ed8534b14086f6483682494d52a54b994fb14cdf889674ed6fe45cd01677fac9c77cdae8f77eb63b028737324d82d2775d7bfb0d5d7ce1a574786c8be787446fbe7dd4cdba808b3d3e7f6f081176c736929aec6cdb931c365da2f60b657a63e42f894e61fd7ffa064277e70c1080eba22c7eaff558792e18c983a481be75246e828625a70d7787dd30804b1a267b30c8b7907cb36899915363b8a8da7c832c2e1c881eeaeb78400f5279d4a987769820c27d35d5827d56787d7d35e7d0838aee81787bf6f485b379f08946ba9e85f36d258811ad0cb5713fe3b036c48f803b9dee809a182a7ef8bbb47a816fa786238b207b02837b866815257d73f59f7c2c27247a456f3f8a7df9bd7a65d5ae7c446817839bde42b42288a1ae2704c77caf078d7b2ee94780d796e57625ec0d828d2e037ae850fb8070577a87aa8a7f88b9a6d080448c2a77e563cc89ce9c0e79f6a63779b5abe08996362dab3a1b5295f3a0c788b0816586d5b7c7830c990c78718d2d7ab1520c7945c9ee76279178835aadc77e936d187b67e3087a32c44e7ec7d1317758fd8d7c7db13a9d7462d78fddc781813ad7a88792a79383b4fea2758dc2c989eb612b78cda49f880c754177d7a15284f6e3418453794d7fe8624288e2fbbb792480f88789534188638656a9a84e11e2c2212b82fac52c83c91c0177bc320c81463c8a83a6d73f848fa8f3827ef5c586fee8e884bae36783cb26f87d28fd03897ee3f78490229887bbc6f09981c9e595298684870f9102839f9c44890022577c7403908286427e86c83960881696aa8591a06683b7b5f18627b56288c3c7a28517f01f898dbed87729f9d37fd8d3af9a36f8527b9f8ac97fa81b897950df3377dc74ff7d172686884b2c5e7ce34ea786a10be987fb8b28814606588577141781d0ceb5780080dc7b35b8089af50605a632ae6380b113b9841f448b7c53af8e82629c8e7b6d462c84b529f8853fa33e81f3541a7d5da56888347b008ad8f76f797a7175779db675760aa19a88e6fa9187b1590baab17eb086d71fb08185b2638ab04017856421707e37d805881cb15d88724ffa759038b588f69ba18984bddd7b47cc747938328d8319a72d7e1ae8ad862912c98eb6d158a54eb704887212bc76e02002850249b477f2f3da80020c547fa9222488c3b52c7c5b7edd815e06c4897fd88d7b30ecaf79f2faae8243c6a888761f9395281ded91edd4141ed0d5b978f28ecf8091ab527827aee97c6e424082b75bd187f7195d7c9a7df67ac230ce8419a0958948fe517f51c93877cbd7fe7fec03fd81652fc6882e1c87996f89b81c7afb5c7a5f31277e51b72685560c9a7f80e6cf7a86cbcc7cb64d1778f2c4f377c4eb0b83f3ae66890e01a978324d7d80597000884858f28894e06b6e7f37fc75b98dd887eae34880108d7b877db89d7722e2de869b79b580e99f9e822fd347852df4697514cd9d7fe032f18769db56862380f97f929572899eaeb77bb3670d85bded4318a4fda9827219bb87696b6f79f05cbd858a7e6d8901e84b76f7a2c97cda5fd17fbc7a1e8244d4ec8081234387b7494478ca6b05859607b68926aee289951d3d82e6b2a1769dab9f826582fa75eac33276de3abf77bf1f7a824bd2867eee2a257e93912887daa739834ffce37db83364850947b6875cd437897c1d8d7fa90cc4855ef0627bc0e5568409ac0d7fea82ce85b07afd7eff01eb78a8802189e84568772ccd0c80b2060e7fc271587d5343288876315283a33df2894dad79822b0e6e80b9b1dca037593b873416db7a3e4db47f87d20c89e8ce2aaf8d2b4d87b39d3f7908f86678bf43fe821016298197ea5188eadc098aeff09e7b3ee8858894b85f7d11b12c782ef4e396200a39180823cc7dd0a3477c6ad73278c7c6d4ee5bf2d17fcd6a4382b4c84583ab5b6581b8d90a7d0d46737e1dd5007aa0083076bdf83a7b62a7228138a59679ac983ba1759f3791f434af93ec47b7156889baedb06e6a8c964b139ff953427a3de10f7917afb4882cc93682cec40c7da128338a331abb76fc26618946cc1588e546a6877ff118a6a39c919a6e8d7598e435f3adadf59f9050ddb694d615", + "proof": { + "index": 1, + "siblings": [ + "115442b51b4a9bbee6b298a35e3acf1fbb2b2b0e347084651f028828bc4cf414" + ] + } + } + ] + }, + "job_v3r_decode": { + "kind": "job", + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-6002\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.decode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"5027f49af3574186337f58a879d6da7a0ff691eecb5a32dde9d55bed35cec4e9\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:0bcd0b5238a12460913d5831748b8cb4aea09f52aeeee5ceba65f60cf43cb73b\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.int_motion\",\"cost\":414720,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":10368000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"expected_cost\":414720,\"expected_ttfb_ms\":155,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":345600,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.beta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-6002\",\"kind\":\"wai-route-record\",\"operation\":\"media.decode\",\"order\":[\"im.alpha\",\"im.beta\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"a4e4e02dc082c62828b2e4ed1b2879139c326731d668a02b1bd3c25a2700ebe8\",\"sig\":\"648b1db4ca0aaaad842296ec54500fd793fcd0e6531225309b39116e1414a08afd9bd791caa7482b9c14f99c14ab7c5744fc86601b5ed20958eaa8c9f5ef3900\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:0bcd0b5238a12460913d5831748b8cb4aea09f52aeeee5ceba65f60cf43cb73b\",\"kind\":\"job\",\"capability\":\"oer.job.media.decode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:2548d5d4161729f4b54f92d7a76134a02d2d61611d2c30be4dacdefcd9ab80f2\"],\"output\":\"5027f49af3574186337f58a879d6da7a0ff691eecb5a32dde9d55bed35cec4e9\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"12.0\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"12.0\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:835001a45525badbb7017718252621be9f19e5be2c7092740afb4f7f6f75b321\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"eb7701802e6a9aefb722777383397ac4c9fab54443f22725934c61410211485cfc95fc2a3d42c2ba5b48093c7d7c0f72b77fb2fe865126b4203d045abba77f05\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "receipt": "{\"profile\":\"wai.video.int_motion/receipt\",\"codestream_hash\":\"277865b574029f700f4fac023de3ab06ae598ee6f8ed726444e91442a6bd59e9\",\"clip_hash\":\"3492566e8e2682e3b3bac083b4db02ef8eba9a7f15d9faf0e27feee0f6eb488c\",\"h\":48,\"w\":48,\"frames\":[\"e1d8e8f8b5c534be1421e5858ed9137808ddb849bdff2bf397beb32568d8eb69\",\"ae7214babf5bbd6ec279434740f3271be43d2392b8167813fa557b5c4426fa14\",\"b3ef86db27b82d303bc6b612cb224ad55259b4f2e2c0461c74dcce188cd64b99\",\"3906f91010bf1b9ca14f6e2ac9b499589ac02ff4465e1d9764a22443a8b29c22\",\"bedb1538c2071d705d2d3ab2df2c569ffed440278494649f9bf1ec881561c519\"],\"merkle_root\":\"0f3fe4aa201c275c10289c22f31e7211b555627b33a251bbe33d094abada6508\",\"work_pixel_ops\":34560,\"joules_micro\":0,\"uj_per_kilopixel_op\":null,\"energy_provenance\":null,\"parent_receipt_hash\":null,\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"signer_id\":\"did:example:sink/job-6002\",\"sig\":\"051a3e8e005d9a957f3b7b50646d5f233c5848c711a02af66e927352520e1ee67d22dc2d45836407e2808d2da00c93b5e00d213b49ea94d2f578cac19f4e9909\",\"receipt_hash\":\"49da43d1e775e0ab6da5aec66d1e3bc135b18f39b6193041094fd8728189813e\"}", + "codestream": "57495631010100000500000030000000300000000800000006000000d5ffffff590000000000000004000000090000000f000000160000001e00000028000000330000004100000051000000640000007a00000094000000b3000000d8000000030100003601000073010000bb0100001002000074020000ea020000750300001a040000dd040000c3050000d2060000130800008e0900004e0b00005f0d0000d00f0000b21200001a160000201a0000e11e00007e240000202b0000f6320000383c00002747000012540000556300005c750000a38a0000aa9c0000edab0000d8b80000c7c3000009cd0000dfd4000081db00001ee10000dfe50000e5e900004ded00002ff00000a0f20000b1f4000071f60000ecf700002df900003cfa000022fb0000e5fb00008afc000015fd00008bfd0000effd000044fe00008cfe0000c9fe0000fcfe000027ff00004cff00006bff000085ff00009bff0000aeff0000beff0000ccff0000d7ff0000e1ff0000e9ff0000f0ff0000f6ff0000fbff0000ffff00000000010000000000feff0100ffff01000000000000000000000000000200fdfffbfffbfffcfffbfffdfffbff00000000000000000300fdfffbfffbfffbfffbfffcfffbfffffffbff000000000100fffffdfffbfffbfffbfffbfffbff00000000000000000000000000000000fcfffdfffbfffcff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0400fbff0400fcfffbff0100000000000000feff02000500fbfffbfffbfffbfffbfffdfffbff00000000ffff01000500fcfffefffbfffbfffbfffbfffbff000000000000000000000000fdfffbfffcfffbfffbfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fdff0200fcff0300000000000000000000000000fbfffcfffbfffbfffcfffbfffffffdff00000000000000000500fbfffbfffbfffbfffbfffffffbff00000000000000000300fefffdfffbfffbfffbfffbfffbff000000000000000000000000fdfffdfffcfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0200fbff0400ffff010000000000000000000300fefffbfffbfffbfffcff0100feff00000000000000000100fffffffffbfffbfffbfffbfffbff00000000000000000000000001000000fdfffcfffbfffbff74420000280b35593c000000a214bea9451501b9ad0cbdbd9a309164812c7ece531911d14717c3dbbc1d27782217989f7218f20d121d7bd4ca1f3eb3ef1f71131429e2d1f626c3e7ab249c33af4fe2d2c042a6d2222fb9b3c460c33836571567e55a40c90777634123135bfb8e1357858f0dfd6cd3316844ae2fdb041518b067b9167f09231b1d6f1c16b7df311ea6450d1ea29eed1ecc320c2b747de0206b34c82a708a2525b67967473d53e643c54f6f2f42e6355aaafd6534aabbdf5fe1a866406fac26314f6ad812ef006e0dd2c39e124439f5306ba6e0396f65ff1627ef771e0071f21b088eae1efd0a7d22d53ada205042fa23135ba627dfdecc3c473a7353bf1ea7435671e53209bdc9581998ef568e94f260c2af006595d31a5d0301d30b0e96f22e27c43d162997a218be088f12dc9d0915dff4db17246c1a3c61066e3807ec553cb509743e78e21d250c19332ef30e3d2d4f94a0275d0ead4e59f7ff403f44c02ed1b145563b075b55c0ece2599ea8038a52c4e77287a40b3015595e178405f01716799f12508739158ce39537c6364439c2c61335c774823feb0e4a46484b29464146093e52ba6e2e3e5a0631121b992d5a46a848c8478e518c794638949ff05b4c57d23967cc4b57d3bb164147bebb2f4cd1452f40e1701817cec818f564ff13f4072317feda4f17504f253558977544d057484615df8028fbee312a5a55ed2c1c72d1257130d62be71dda51a0a97748680d2735181dc85721d3923f8d192f8794fcc96be998eb135e56840f812d952b26dc2f2f8537db1701de931a9e0b811c99606b1d7a72b81fe6796623b2e3442266abe726bfe71c26713b582970ff964812b3a7511b88474ad1a39d60fe77fb5b93faa43aa689e37f22cf656dcdde8d4a529b091869c19a199bf5af108ce21a33eb8ae43a8485f63a7c0ae7f3e9d6d3fbf35320f44e2572fb823070f38da5d5fb4cd37f3e167531443d7027341943de2d2e0dbe4918ce0f53b1e5a7368b2c3c6ff4ff9044663d54810e945168c3b1d019852e9412c0563e10ce0287359612c8365ce0fd34c5cdb9f290f0e017571aaef2f889ca179debd4f3065bae18380425f4d7c9dd18bb2cf626ea6faa24e3f4384b1da15a3d6df8b52cc90b935da2e4c23b9597355cee7f1945393e249b7b14ad729ff91432962e6218224895175df6f11b30546af34ef81f1840d4b4f24290fa19e90d41f3792fbd17b307eff2702189161f1552f429b1fc18154682320160642d6a8c304b9a74645336beb060762fd36780e26160b5380e4500bf316ab3b6594b76993031ace92b2efad9cb178983121b9d4845f4ba36071a9d404af3f9d4f2199f14cff37ed44717baad75f448628d19af3421f46a8b0f19184461f3ef7bc1178d00634bcf58624c6725ac619927f15545490f360e0fb877c6814c6b9ea2f952ccf3a3abad91da10ef63f3144a0f23340223ff35814709f4d3516c16e5bb75f3a3574719c25228f4b5a03e1636db84f49a58781762e821f35742a2181bc2f7f397ef311637054630ad43d250643a45395291b55b725ae5723bdd1b62eae7a445bd65319f19c63568c61a5b1206b34d3bed1dd63786de01f49a49affb2a9cebf3518ed9fb7f061bf402f2bdfb0bb9c0f344eaa4fb1bb58df3fb10a4fb6bcbb8f3bb45a0fbfbd11ef477204efb6ff5815087d668629a2a0c5d17e9236a698d0061d79fdb460b2f26a9c24f33529ee32911b3aa1515876dab37a91b8339f13feff22ac0af17a839caf36b8b36183cace0f27ca7e419927205f46713bd1740d4a5f49da36019a6baa1f4ceac2c19b530c1f2eaf4de19c6322751ef91df5b92e05f6533f2a760db246a7d1551e266a304d149e19ef5ab9b67c917279abc17e5eb69fbf214f2182014b4fb9ffe3e163705e1fba23dfe17e466a2fb4cd37c16dcc16ffbaaa6f61663923efb92173218345ca6fb512703175f6a95fb422b751962216358fc9aad68a047125962cd87430577849addf21174af2dc5499c4fcf8778b8293377e4ed3b12154cf3afbf46fb6ab6baf3dc41b0fb4cbe91f32c0b39fb2ef0f3f2262a42fbe21813f3cd5230fb476af8f3870f92fbefea62f47a7a92fb7234cdf297d11f5d8e12023c55bf666f4ef6005c8d58bc9549953d730699fd4ff8264fb23cf0ac1886051a1c4d05891af4edc2fbf792baf24163bdfbe896c3f32f65e3fb6023ebf2ca07d7fb66774bf4993ad1fbd99a01f30be2a6fbd34630f3275768fb7ef1a1f2f78972fbe65735554ebaa9390610c05a5315734087513d8c09862074f653884a096d36bad118d01b4762691789a9a4fb84456418eb0ca3fb4aa9b419eedf99fb865a481883a740fbccb302171e6b31fbdcc4a318d918a3fb2772ae179e15aefb5dcf1b17b3873ffb7673f4189ca65c5d080bdc43f1e1b278e9bbf0411aed639db279b76db39473596dd293164dfc0317fddbabfb866f2cf49fee5afb376ea4f3351975fb9baa96f394a45afbd65b6bf333ddaffb9de9fdf212c3d7fbeeead4f2262aa9fbf329a1f4fa10ccfbaee586f41f6791fbe442375aab92fb3ebf0cd287434e9d6e5b5143a22f6941660f17d858c6629c18cba73c167536ce1e8e78a81944d168f419b32118417e79f37ee3a4168ea062f3684ff8160f7514f3d3335e16d0c984f4e44f5716db178bf3f1e44f1765e6d5f39b589417ffd4263cb1b60b56568bf7410b9931975f374f710f5c7f4fa42325bcbf1b8b7648524f17d3a2bc1d17f181fb389846f3eaf47dfb8dede9f2ef7b22fb6cb646f4429fd8fb1ab5a5f4cd8e2ffb7dc74ef4164ac2fb955678f3aea1abfb511264f4825bd7fb2cdbf5f268318f5c44110177dd73146b7a24ef4d9557b1ac71c8ac855c5302606910468a110d2833d76a203d85cc1c16f25d02f36cc7671902a893f3c335ff186fdffbf23bdcd317eae2b3f3dfb9001a3c8153f3a8edd118ccf62bf491591a17bed596f344cc8916cbf73c423ef6c45d15bc03651b1912a83850df6979ba2a6292c2eebd5d91e87574332d1ec8640e210884defb523cdff2811f84fb900283f397e066fbb5636bf4b5af3afbe896e9f2ed4ea3fbaabb7cf42cfc51fb744940f4fc3dc7fb444010f3ebf46cfb40019ff4ba45685818c3743cc9991ca49c3d626e6cdb6d54ca28d67ab141e2599329871efca9c71b6444e22057e352f45dd8b917feaa52f42bfc1119743121f3694f9818db6c99f3d79c4618989917f426394b16467b0df3b1fb8f19521d21f48db4ca175a186e3dbffda754ced3533d92a3eea77ad2e668dd293056741d36bf0ff6d877943fff1c5c2be22145ecd620c546c1f3241b6b1627e58ef43e187e1951f342f42ab1b917ec3602f4f8a719192312a0f21e3ac51704a731f4981c4f168ba270f48c969c181fea6d40d92c977aaa69c464c1fe0b4fe4ac6e6dca35ef5f6aa19dc29fe940765b492821c377c822552bbe2132b22720a4a99cfbe66ccb18874f90fb5de48618e3bcc8fb7a9dfc174fca80fb033b2e19226885fb5cbaa018cf7481fb4bbe3b1690f45071cf3b545fc7dc4c460fb904a5f494e4710bb28c59b37201bc93c3b85cedf29ed26f8cac231756f41e282b6e208e484d416f57f1f2d56f3617c0a984f402e336196a0dacf401f23a182db681f4e431cd161e6be5f31d3a03177b0239f33755483d85c9d2624864d23f6bb7c5a69c7e2164d4f8ed6167d7fdbd05c2405ff28607d169ffc3238fcc5423c78c9346c614a93f473a2b17750683fbeed5a017f40664fb11227117579a43fbf768d91957ef44fb4994591639592ffb3898db867e356462c5292e4270ba30a3145c994dc63817c2b506ff790c88855f7484a1d36b3cb022b49dc01f39897e3db627e7453b7eaa47ee9c181a325d08f3aea14718447cc5f3ce9d6d187dabeef346352a168c4c9bf38ff00e189a54f0817d9e5867e164264acf9f89a0468af5865b1d0f5d44650780f7a37565a8f4c0ceb96346217425be3f42ddfb460186a443dc4f4f39e726fd2e11ac22fba65269162b0d79fbccdde017447c95fbeeead617a64c9a609f26b64105687099d3e8f96edd6e714832a030810d602862a462e0c908e95486467e4f657a255646fefc1b3d6612ce46f05c183a0aa2e63122e07a4fe77fc847dfdb81f4981cdd5a7e25095e2496ff7c0d982d61f1b45a40c98a5da72c8cd36f9bae985ea04c49826f6e0159848c46d189116c7425229a29dca5753180914230f7d87f2cd1e2294a23bd653c8f2c033180eb015dc4796a35ffb37e5d2a91a83e040b6f9551375c7318d897491c79c9bfd5a26b563d7258cbb89e8e7b06429a6fdbbb519019578d2cf852092d88bd0f2a78859a2f1ffe22519dd8cb507fba725b0e80ca5d8ed18c6087f6007e90e4ac6bd0224e504285c6ad5e2a4885c47c8e5608003a80cdac406c2de6e9d9c33b3d881826ea313c35a52f98773329023e2e2f644eed4c9fd91548d5819c5845a9c356a9e281411746cb75d8b9686bb07213513a6827af9e2d2582d3aaee5d0a1e1582463d496d83be81d6d0003b8586b2b42e814ecb2eb4b31b288dd08d4a6d71253f6f90872d7f2ee65a725a8f582404ef5c515ac37806644d66e187784bf25f74a43c7dd98747933f580caf12c97de8796af508f6ce38d753833fa7e3df673b922672b38b4a3750af52b2e56f46a293d2301edf675a87c40637fa24ff5de154a43f0bf38b907403487346618150454a15be8935547faf98945cf4502f7649b7fb6993be0d924ba7e87e5c44373d6a05774e1f29b0405671ec2d2912145352a9f45d41c46d625518ce670cea41617a3a074385e691abd1d9156a1d614d5fb54f097d82d80c614b6b92cfc8bbf18ecd7c70d5e7049d93d1e01d3208d0df28de97dd2f92b2384b83a3414fd99c8754c10b9e5dd1be2056f367ff898dec986d36884b48e0487aa87651128106a3085ec747b37f462bcf65f40a63d5ef3e7f7cceecdee0471af487ef9a024980f7d83f5964932f413bab5da896195fea92a65bb5e08a7a9bd68e57b2e1444310b9ef9f9b1b0772aea0435d832578761abacc584d3588cdec05e37241fdd2de96b2b67eb007b4e5f9d4ef2a8742af5235a45147c3cab7323fd344569e919373f12bd5554e858d3c3b21c295a1d79c4a4fb2a7b79f3ab4817fe0416134b576cce565e369d8770ed9c2924f8be0dfa9dd680fe77af006c4499b2cf442c3a8c83284915263e978a0343afd905502056046dc7ab6773c132468e7578f4cfde095720b8e785a720e4bc40228f788b0f27669314a5f931b46bd7903017f8e10890fe23b330b2f9651075346d3114f7bd0563a61aa2b540a0abd34d4772278bec85e703c9d214d3cb2b767c686f94e8433cfbe3fab6a77d952576510c5cc764230fd772df1fee062380a787e5e1da520a88c3e08b7c330d28d614ff959b861ecc7795fe87c22712ae536609e6bee407518e19d641c5b653da09e59b8800e89d17848545190aad2538d869bd717dbd8356a67798d9ec5e38da75c9caf09b6ab547b3941643edf2f02e64254d50e36362c41616048da6c425bf9318c40ad18669821964ec7cbd2b8714e8f5dc27626caff71a47bf64d476ce899f18c24556f7820202b9b3fc5f4e77ac5be8c1bd2e3492682645389b4b359578edf64a5a823571c07547829153e647579c44813fa75b8937cd5797249dd5803ee0386f9cab266917789d973c3c989dff5e0de1a65817d238899a57e9e48eb67c3d0321d4dee57cc778c5525bf8f542e90828a8b72085cd25067411b57e1a7d11a4f67da559757ad36fbb9f6f3c55cf6723acf5d58348dc055fce03fd929925ba3f6e40db6df8f0358c8a335945849649d783b52b0006124cf4042c3f16a854dd4a7672206614e215921735710d162219312c171da4b7649882772eb6ac18293790f8a6ad0eb8a98988789622911a626f368e825d45f92441e6949bc1b3e57a98a2136eda230713b4b6c6175aa129315646973336e21535ebbb8b8a549687da77a9c603751abd14723da67adc45dd8ecffb37995aabce4d743db9059e992aa435f87ebf2069785b20d1282e032f87ec90a5977b5b6eb7ce5e14e76816f6d8aa2a99d88a41cda754a8eed7955bdc677bda57b7c9308d8853619ea8795f972807be4487ad3c6ba8177c1897f6ea77077cd107d7b0c6eb9775068bd82b5994983546a8b789ca4fc7e30fe328a23afde89fc09b97d0dc4b878a796bc885f381176c0dedd7c3009868708763778074f1483b056e47b2d2e6f775e060d80613be47905e3c28197a2b2867f2087840da05978d324ca77d0d2c3838b448282d320027d0815b57a46e25386e546797aea5eba75c4748a77a68fe6769eb2d488d27ee978dcf669752152f679d5d4447e23d3767a076168784a958b79e1e6cb7e174abe7e0952b07a7e773b7e902dfe83891d937b603f948047799278c0e56181423661814ddcad7e50682c7bd2708e8791bd117bd3ad5d764ab9e9851e6116883d29db86051203825f38767ecf081c7edad64780ccc1007a419fa88156cbfb8877f0068a366cf17ab74967805410d1775c0ec084f283567a15ff0480a7bab185479db782a0e0027c86b9e58487498f89cbd316877cf25b801767548ac2714878a7a81c89caa1d885c0633589a0289b7edbef3e82b44ae88619e8d979c7e36585e1ac7d81e3dea681258e21841709f6844a668580588df77ba9ec97766b4321899d7c8f84f0b64b880840f485a1533d851767a57d4a544c83b06ffa7dc8b02f8747de5c7fbfcc1387f25f5a8a96d15289712fee8898a5408dfef27fb1fe337a96b4d9119e22eb87a7befdb497371c3793e2cc0aac6839ae8fdf2214934812e67a0fae55765e185b83fc9293793110d187dcce0e868708c67c2d76639bf921f880fcbef0956f67119f67b9559a35d5fb9b7c1ecc997a8cb6b78d5cf38c291b8a8b95baa28623c1f77ac0c1d18300ec467e9c6e94869bba197d07b41b8215ed717c33a3518a2a69078e6c91f6ad16430393da5506a55aa5d0037315fafc42ea2304936366d8c6a231a413a65288914a4878fdecb7772cc2ad83e9a63a83e6830079d593e17e3d6ab47b4116c192d8e6c68cfe19c9af3ec9c39005755d013a19f177bd9ea67a4d820f7a4e487c042afd998ae5808088048d1c7cc641628a98e6237ed84a2e7b4c74f67ceebe667d388172975a9ae8afa684c0785fc93092ba7ee176bb07db75b140997b504ba975669b2c865791fb8b03a2327b42ee2879af368c80edb7ac827a8a198220b7b9783bfb7779379079828ed03eb60c7aed938ef44a98ff16557824090280d15731762a53287703a3b77fe63bd287bed734819a8f2080aac48c8253cc6a75084b27795ed0db7599b7f18705651188868021a7a69f5eb33e38d97dc4fd1985411d5076c1516a76d8de15829ba8e8861fdc0f88aa783f7b9aac607cc4b52478d9b68f7d03c7a57974203779ea94e0764e1d8f9d8ac846a5eb023c84085245853201b782e10ac287e06f07774edcdb8465e7e67b4f201381f6363f8327e4cc7f49584576e49dec82aad62b849a18e57ddab9dfa1dfa972a6a2b7127f6d3b3278c7a2f881f0af98824535538250c2998900cf9b88288d2778e3a5a29607b80c8af1e1f989ebb4ae7dd81bfe750a478a76390a5b7b16d7b9993e2d42cf578d667a5a367b78e9f23b7b6d993680088c68756815f1891602298a214723abf3ed7f8f93785d8a60b62d7f9eb218890b14197c055eff793efab48717d3f3b1cef2697a0b0daf7db98d5c89fd22457b7ea64a823c2d0d7cbbea0f763d9900fbcd7c0993dd268a901da4f37cdd3adc772d0a257608a94f6af2ecfe8990c841a548ad0f0355bd0b81c8cd508356dde386276d8987e4c8a17eae24597cac2c9685aa9cc780e78af9a7128b35a7e9e43f76e95770804540f4893590636813988480ba2f139c9f0c55cf83ba19860744d489391892880cfe0388f03fa186e898e57bdd04e379cba8b8fab785aa7d307981941cf013891e2b397be66ac778effb7b751ce013894acb3e846196ee03de219d897ead1781e16f55890797767732717b7de9e02981710be977bbb463fcf62c2695d6343a977160de77eb897f7530e5f883ab1320711d583f8542c6327aa93f847c26e8ae8708649b7e8188db85b068b58886efc983bb205d897fa99c8468f85ef91cde28a52f53e29aed1c0d7f8d8119889b02c485d946ab664e23bf880482d580c720ae03112885d3da3ef5804946a079c54cd5818cf8d489cd3b628376f4f882b02727872cc97d22c71cbb9c815fe9843299d185b9f9268620db128aaa5432880e540f7cb833b28a1d5a6dd08ba32078d731a87a3e5420770bf03f8511f95e7a99760a8607a9747f5599b1fab4e9db81987a0e879b025b7c8d6f6978d1bc797d09ed717cc600de87c2131b8498b4da03fa05068478a4b287491ec17eaf7e0c897045e87ea6f48782d212087c4ae8261d0f6f8a88c0755084709f6979ab8ade7818d3fd752beacb841a37c8786bccc77c149311847b83808ad929b8893b3819847bd2c27b19348181d8928287ace0be81a2481c1b8b644980cf780f771cc794839d461e7a85872d8038e63b7e25abcd8744d4f87b76233aa0aa52ebd7dcf395882d352a8351529c88f9ed62882f1b3d8a2e67d87b6dfe6bf8af405a83b1c9a7781e89ca76b46e807b4dd55f83761f5e88a1414e8af230b1851248a69d78bd977f239dc87a30b68d7f59940889c67e1177fd92fd861dee88864cb1591be244838471e77587929508875f678889cfd22b885a6c6081052f387e616a7a95bd77bbb1b62c138a067367797a4de184bef4d981d4d4f285ee3ca07ddad63c7a8003257fe6a788793612258267cd397e8529538850e641762ba213796a18c57ed784b7a52fd508a5ff20d6869efabf75d4df5f8a0e37078a9a432585d194c478d9b3b2786337658a8ca57d878c9eac7a19cf377e01f38482fee8c97926b98085796ae89e949cc590dc73e87d162af77c02e8088786b96a808534d2869636ba7c3117c086a46f587ac74f0e7ad36cd0806677b183ef845e870b1448822f4aa087dbd2be7aca2314810d587d869815da803de1e7855f800b850d17f47e7a1e32f90724a69a3f96087f43ea127b6a182a7bfd348b830732597c4f97457bcdbd9182687a998096417287ac455787b3a8cc8246a11e03b6260486f3a3837effe43b89e505de9b95289f9334b3ab840b670f7df76c63884d12b084dc574579ebb4018104286881d85c12861f1510767af346872d88fb86b01c9176e2bb40dccaa58cfa8517f60409c52a9ecaebf394ed2204a1499d827e71164f818c8ce57bf993528a8dff547c5a128f78fdab6e8acf492e82caa1737939ff837903492c9e15b105837ccb6c96d364cea13718beab45cc63a4dbb267872ee9ba80433d0f89b982877b7aa0437c178bc57cc9db49812ee96d839b96ec7f3087a979a9fe4f8942f577a8b8aa46a5009723940ef30e8fdd242eaf54b30298a5b8d579ef96f8844b5bf77d5e8fd989c2dd558aa5f488833c105b7734aa5889366c7f787df91d806ecb87859e787d9079ff13a63b6b2a8b01851c8c0015a1a35783748ad81b147ec9a56b894303be88adf98775b82cea775b4f787ba9ec7675b3313d7e4d8de588bcf81d8969f4238d5e69be94a58fecaa4121839ae315a69706ddf68a3c56d97b031a4487a743597a04bca87a08df6284aa30628a2da15488948dab86f283667e2ded9e895a7ef0864a1ece89683dfe7946884da33af14bac9579888c54d36097cbe562899b6efe818e3cda7c6f139b800d6a0c842c6fd87c625ffc79621e5084fe4da9803ad79080c31a237694b56d762587fe7576d051879db28578da6af183a7ba867b838b1388eb4f7384144be37e35e7437bd647c37642b8047bac91fd8509359281e07abc84e38bcd7b2ef4177e16d7e4829677b57b6a3c1c86ffaeea7554a4c381e629cd76f4b5647af3c05781599421804f32568846ba047bf5f23485aa42797d24c8e1823a8f7d7ef5c3137cb9f9f17d9b79c5771320817ec486607559163f8aad94d487d96a8478604ae689faf40f884899338a71ca6f8052b3ca7934c7b279ef72b6833c2dcf87157d32833183f87e41530f850d5f2f7f6271647a08dfcc76e52240864fd8967f99ff6c81e8509d75436ca985506f117690e56b82115360820063ec842f79887b035b9e81b91d167da253ea76c2179082a27e977eeebe1482cc8030886afb707ce3c56a868b4f457870aa77776ea76c77fd1b65780504aa7812bf8d87f5700f7f4a42167a2d9aa485e8eba27a02a7f98750398e754c7f1c887ba3f17f01a0b27dcbba247c8da525856b67a37ac57b168437f122843eef50897e485d7de3cc4683d97ca77da1c35f7b1e65eb79f4b56a88bc1597889e305e7b62cb8975661d3d7e1b6dd27fe8bc4079c2f3808adaa7f8865c81887f9797c6852b613681a2003e7ca021df7d2683247de48b3d806d107e75b2c9a0758575197e3457fb84c129f88193ae7b80eb7e668391225c87e994eb86a62a357d2003e5822c5d6989eb3d3d89e4e5fb82447a8c7eab8af6799e71b775277fe87aca187d82215976893f7f4277bcbb3d7aeab82e82a4b01789650b0179d29442896852507cef31227c8015c47a1ebf568a159a7d7d797c5080c1995f7b5cdfcf7e7743fc81c01b817e6dfeb0770e1e5479b355ae7be5cf2d8905addf7b8d5d8e83f57b35834e903f77ed5de57da439b5794eca49779e6a8d7f03743b88c0da998279b2597da81b237ca9466478589160773815fa845326708352a80576e0dfed75c23b5d863773717622b332872989b17f3d4d2a786f7f6586858e6981eb61547e87ae438220d4b781ca47f88066367f77171f6a88bd47c281d086d77c69edcb7881ed067b7a423b84e9e73d85d3a99788c01bc985b61e8d76b1b04178483ff5807d0b4b7ddf077f82ea658b811eb49c8866adfa7e3dc41d861bf6b97b1da66c8463379688ba6c5778bf607b82eed76178484af37837732a8261abaf7cfe95a67f144ba6784c62e087cae92979238bb68159c3217f4d16e97d58695287eda5f579b737557e8a4804765d5d4888738cf9790689308957215e8069a5c6889500347e88bc947e6cb65577c719ef8680d45c7d6f8aef86feb97182e5059a7b7b08898a5ff7cc7ae2be8b81c89ebd89ad77c57532305b85370ef17ad5c9d68482fba7880ffdf18283140b8a546afd7f4809617e5e7dd8788e9a0c83ce42227ada17358838520b785fcca87d83ccb57e3cec797c81ed177d3797b3796f6d557c59827e879f99c49d4094599d8f2e11a25021b88741121578fcf0f187ab6d9d86fe9540800201cb80da5f0f8072dce8867182408610c3e687b517098405940177a3c62f87a11de7a140c6518b772ffe90d0ff517a6337bc7a4731e884f009e481c9ff5d7e10aaaf85640f837a9ddae585f677827570a3df88fd176c7fb821e581e3141a880da01185b9c74d91a8d0adb5a830b98a98d596854b503a7f71f93979f199b87b576d82856732b6802081e17513731f86aa71de7bab9c0b7b9504b77dd33dc588c3081d8711a6d69ce9d132b70f581690eeb4c387ef1f3f891488ff850c6ad17f65c33c83fb556d7a7593da766c6ea289b8f2d4773175507ff665ba7b1b1a07889b55d5872eb3a3ad2635c08f9e5cb1abf8cd4880b438bd8207fc1880c7852a825ff03b799761ba7d45ff6e83f3c032836bd33c88f9528b7842413a8acd5f41791241c6797e00768626b90a94288aa1a5666113b2936c9e8674c93378bd4b018435dcbc896f86f58183f0878944c2787e8bc6a3800e95f28030ab2f84eff0738796e3f086a3bb4a787ab2db8e8605e8029dba41fc0fec099202a3146465e9e48541ca737910aaee828218f280c17cd777ba82bb7f86543685b164ef7c2ba9438786dd3a8a7b507f0163f5d885402166773f8ac7876b9d607ce33c1c7e19b2be8724cf6d7c03e4fc8980c2947b38276678a01a957f5b20d979fbb3b980449eb677a3f51a7f85875e977409adb1d85985923d3d9285a373648968b7367a99c2bf777a4d5e8bec6933b49ebb36866d3b2a857b913e801439228606bf4879af072c7846471082c4eb50792a9bacd048f7eaaf50a4298c43f866892c81747939ed307b3117b0807c33b579b10ac6ab76fefd84ed4008863e54757ee60c6c84d8e57b7d6f137d7befe98b81fc80327e5272b490077466a3fa75cc7bd93f9b809600d4816a061682318eb88537eacc9f21a31596839c47862c81877795452d83768f2486d13aef84288d59805cf1fc7da8802b7d5c2bd79efe2c8a7ba4035a8adce0c37c9689f17f1addd17ffb0d3d76923ba99a5f20aa87138ca276bc035f79cd58d37a36caff7de1d482802d1158980da6d278e6c8b2b0243f45784809ef7ebfcca47fc88c2e7670912e824b6d88813c80618ac0073991fe161885080abf80bf4366782a53be7d00c88f7c081ca67d279ca488d6e2fc838529d8da6786987e49e16a8672369b85ea9bab7632300484fc094a834564e5821320058750819d787050477ac7c6fc85a97c4c77ce05b385d731aa81ec7a6b7b21116d9f402da080b61ed37b640f807b9557458322ba2980bf02c67f26cbf57f844a31f92599597dcabe038254c80a7c11f9247eda30877de65f277dacaa7c751e2fb2862d35b4d8ab39677e7c740f822d9a4b8286fa6d88fb38668752b38b8981ac3286cae9891c02f27487ab62bb7a1fbbd7830cdae57b0009c67d972b7b7f732b0b8a8c270a7926b9557e26b965778754407bdb421988008793830761d8810386eb891e616e7dcdfeb21daf446f7f4d284f88033e8284a97cc4898d76f6794403cf75b181cc8384b694886398b385b1ed06868003e785b80f6c789337238259b1cf8602d2ab82d17b4076c8df6b76b19eec7db223cb7af598fb8416b355867f0e5387afea5e8336d12c79d8f7827d10ceb685f72b9b76943ec675625f6c7b8ed07d7bf0e51289590b7789512ae7f942a87d193bc3b7860cfe8b756a23c6798e6bac77e4c1b776f9a53082692e80857c69bd0294a0e67cb08c0388f86fa6869b434e7c16188e8164bc08860b8beb8269e2dd7fec151e79bc9e1880227d888822e976806f499c7e152e227e8bf5fe7c00c82481e898fade846be38140e0277b84f7417c4f07417e06246179c3130784a5407a7d9868321b0570a17582be397afa231e825cc2eb795e065278485135838804da8666c69177ecf1107f5355087c41e7a28673c63484afc6d57e43856c7d52fb6b813af4d0844c1f6f76d44f8783c1e17f7db42da482acf24e771cfd3281b546ac7526d60b8748fe1f983c79bc753462cc825ed78578bda51c8887083f82eb0eeb84495f067e0fe4491cabd286868a4831815475fd818f38ea777403c98871e7ef7ea3c6678512d81d865d110f8c34698d7554afad851fcdd8810c87aa7b7576bd87b58e8d783051d57750323d8688983780655e137f06774080977ead773b79897760af1f7ab713d97c320134a58490f57fc391ec771c748778eeed3a83d8e5cd7b0c1b317650397e751e2d439514250f8869f46e7e32011f7b923bd47f1415e87cca2ae676abd23088e0933786f3370faf90fc5c7a11700077b044bb7d6b67398893c04976bb6ce7844caacb8e90150b8a47387d87a7267a8092e8f383250cb87f92304877e0684c79be2311806aa14e90e6c4b184e8d9447a36415e7e985d2b781cce728a5505d084eb7edd94a0c6317d564da07d912216873720188445ffa3887be4cc850b4ac98349c4fd77b0035ab57743148037b193853c104580ad82d77514159f7eb4c19d8ad4e6aaa8f7030ab738f7d0840fe4f07f92831f80181bbd80af198a8857912a874cc3538aa3a9b184886909a28f67ac8db04c29208044f37b744b1d85543f9976bb1265857df9789baf534c97fb418d816624f780bb2b107f3e951479f5987581800a257985c88e7e6c757b7600a4c1a0b45b9c9448f01495730fb57c8b73cf849c925379f7070f94c5f476aef6b56c92385d8c87d66b3c89f469477c88869387e26060883f981786026df37e2a19ef88f051149ed7d571ab211d0696fa4b4c925b06cdf90b12b2acea4cd994d5f38fa9096b1baa1006b2833d1705846fd93c7608d46e834a25df80a5acbf794cb5a77e37326d8a1b3e6a75d1efd3932d0e509fdb5a679bdeb55f839591fa9214bbeeb30790b58de9e509994ae8207b4929a68874c20377692e2b81b23c58827e0750779f499b816087c97dc582d977e65fd27dfad0327dae652276a0e4e380c964e3814df92e81d70d058694216f790b798d810e953b86987a5c76f1631e7a3199107cecbb598a1b5000879416c67a433d1e807fa9d0788b7e6b7d6b1f6b80f450b3784ad6cb7e7f3d7789b09e05783ff6838450b7a67c10fd09819ea75b84483429889117d079eb12ff7a64ce877e86dd3a7e44c2e576c4e4c78992dd2184b41b1083ad8de681a2659884516b99797ea68b8a7c3a96812140577d7050d186273ea2868625a48003f62486497c2d88cde11c82c797597a68273a86fda03f7a72d19a8025cf8e85c3e48a868b3d3c8216a1b67b863b8c7b9eb9ee81410b977d9bde3c7bcb1f817ad4cd4283a743b689f40f92893852d2824564128963b528848678487e4cd9178a6b7933817714a683b4a4d1794593ff83b695d47e01c4fa7facb56682ef67a086e7080681fb67627f9dcf917c8438338385bd647cffdd427886d68784084b84788f721284ccc1ae804a8a5f76b0731179ec61a875d319af7742add57f49588b781ff5878382a1be75ad9fc286be0da075eab1bf8001057f821ebf5179a17bce7f95c3768523d345893eef997f9803a383b5587d7ea65984813428377ccb4377750e1eb88273b48686eb199e7d47431b837e5a8c76a2000e8217f7a989b529a2871d00c0889cab9b8092fa3982b886b4760832407b0732107918d3578636b48d81ad9fce7f8b4f658a51ac688904d5e378be8fcd7758862e7960512d88e2602684f06ed37ad84ad7875f38518621ac3d84c5f94f83c105c17efc6e887f88864f8349f38381003f2e7a1c0f90805953987e2d11df7a75b7c276c87a1d7633d23b83f3c07b7f271a99754485fd89ae19697fcf49c475db428f75355e16875ac6f27f986fb77704451081b5ab4f8199c9fb85ddd5ff815bcdc98699d0da7e40aa8478d7a8217de64da08891b21a7b6a4e477f162aa184ef848f7963e4ae7f55b2747ee8aae78113973e85bc15dd7d10eb9576c3541b853c511277f7e38d8129ee7c8277de3d8425f39989f3ae567b08c297791d942b7743eacb864c9f9581eaee987a2bfc8e89b6255189a1a604884780c6894f322383d6c503779d874487740ab27a1987977ecd05c47d9e42d37e9582c97e93a3827a8b07197b60807e88ec27cb89c33ed2779cf7a38491b29d87e8ce317c7606967c1cbc427ff2a0a4895ca50c84099aba75434fd6808ec5db790bbae582d59a267b2193377c198e02882392d9786ce58185cd223a764444b782d5ed938493f6fa88497cbb88a547368407df8277524747800ac52479c3ef9379b7ef637d0a7d448ae505fb85d2000b81f89e868a14eded78354c89764d69d6883a67ea761f730d7c1660c57e4b910c7f4265d77adf24907994d9e97d9790c1794b25d48978b6ca805ba2e27bc9e65c825d47877a0075ac86e4f7ef885260a5894e07c382873e7f7a765976775ddb657c9d6a5c867224b68795a61e8a8b32bc854df9c77e2bc6047b471f6c88dafa7576b252ba86dfb46f7752befd880ec0ba89b9c3e67b955e41806d104688ebeaee817da6207ebb5ae182a6f4a0802140548aa224798a7d8296828dffb27c268397866c75ac893ee4f184c092557816be177d6cf78b8489c31a7a8b90237e0af46883a3bb458803d91f7f9653b476079058880c6ad07ed731e88555f31a8873442379ff13398a14f8d9820ffd8f882093ef7c55feb27f2c15658a7e072788a4931b7b7afaf276a3bfcb7fe65f8b848b0e817c89f27c89ae2b6f7653721d7e3a842777da587b7e47a8b17d85eceb7e2451a7855fde4e78d14ceb786f37007e717006847899d67a8015b87736eefa797b3712870022057a8176d47c810a5b88fc1b51832ae3317c6844e189980a4f86a13a727f5a5a8779c873bb79335b6c7f58e0be819283c283f594d77c459a187c4f3dca88dac04689497cdb7571e07b76cc02387cb3de3e7e1d82c389e2b3d77e79e1c187681c76786295c77a50157483bd35367f2dbec389cbba5088dae83a7827781a7e48f7e084e31fb586c9359a77f83d0b7e02cb9a89ada61b7f89b1e87a67d88c7e6707427b99938e781946a582d18214818af57b892ff7ab7ee8989c83f05c297f6f49ac7b60c87b87f337348746433583d576bc75c06e6582276dbb7d4045f27f54ec7b8095e77f8111b8f19346d17daba9fa6da11cf467aa3859288f3cc3728b9eed0699dce1c498a94081abcc74dc93adc02d80a611e69689d47e76d8e5ef81f8df167bee356686fa47db8079296890fe180ca68ea14a8fd585aea5e57284b721d15690735e838c7fa9fc90139b619ebd8bbb885e595787155da79923dc97853e25f6867c169a89cd4d7d8155b2fb7ef283a7b6a01fc59039f30d8be3f2fcaa038f8c914e98bba90e3c390475cfe121366e6c9c95282d8c24ddfb76fcd3e8a12ce52f8a9e9c2b7dd731f887e5e10678796af378db30477dd29b5e91d6efb598e5c645a6c33d249705e638963a36d927ed7b3f7b468fde7fe61793872174c38c3c56c8806533e4946850c47de95ea0881d24437ecf66a68911ca7183257cf48036e333b14fed0a94b7f8369e40c24ab15e273afbf4242f7bc014267d0d46218697689281f3c0707d42369a96dd92ef8486a7e285868a19877702ab7e74c2ba75911089820964c58cc1bb5a8d0d6168ab7fe96395f8046584913b5e84dcbc9d7d691c4f781880ac7fa4270798fc66e48569596e7919b2f9850b92ac7fbf720d7f5d9a7475b3b304b5ae023e9c438c2ca7b54f16ae68e4fd8838b7e27e9bfb787efa2ae5838a890d7e50f8278074ddea87b8a32d8a8360f575be9a587cd02c0c7fb07aaf7fe7789076ac2c098d48130bb71a90919c94084e8ca2e23e82e93a1c8744d405766af43176f3135e8af881de871356c17b23c142a4336d307fe8ebea7646c51f7bbff01d762d648178ba9bac76c395cd88e8eb12057ce8bfdfa887df81df2b0b8a88218882fc269a7918b6a085ab2ca1813feb8f860249749eda88c17d924dfb855f5cae8124b6bd8722e96f79f4a3c37677f0507ba3a6290509290add8ea2a189b00a0c83699ad087dfcdd688bd35d082444b5381864d367773a2068d65335879d21dee7c9cd324817c45bd793abe9a874f689495c77f489a9d579b87bc5d58813cc8ad7b4385387c0e66b7818d118a7d66129b8af10519864c0458a4fb9f2586dd3a327a2bd82c8087913a76c34221860ecb6b77001bd794f5078d84332c2a7b60e553865d064881db78b57dc3e43185337fb481f4b58376b372c08951e20a857ead35856815ff87070e4e8afdc4007de575328529774a79921e897d22a158fa6e65bb79c5579677223ce77887ef4a8381acdc861a660d851bf6ad8548a4ac16a756c877f57b6a7858b56a879a0d6186631a0281c6bf6a87194d5c8932e4969bfa8ccbf9895f23810a3cf07f65286c78f45bbc7524f7aa84178bd07e3f08cf83d9ab8fa3c8e08576fc02a08a8bcd767df2d64f85af6114827e7ee886805d0476e6a01e83358240fc52a107896e9cf08443329d7538f1f7777befdb8471d5da79adc3ef7bb534d317d69949a6c15000822b97cf78ba65ae790bafbd89fd4d7388d731618871772b831631ba7fbe213a7d233828890a8baf80122b39868a89188a677a57843f5b4c7b895ef2f6a8600f8da00b8d7672a6f5894c7b4788a22bf5863b8bcd7b36eeae7cbc7aa388c0c8e27cb9b1a97f18a43e7ea4155487f1c4797fae5a397d739757783cdaa27b49bdd0b0f72f2684eba23585974f5582e0bbcd7f89f90d7b1d5eef7f7c0f586bc4f47e797fd19e1aa42fcf7d7b08a1832ad13d7c08f1da80f612927d6ea7ea825ba91582df3d60b877428d883129448aa6a1a8846f91f9772b61cd819ba8488817d32b85f3e4827b464e3d1ca62b8d86045e467d770d3e781c5064851cc3268677d3407e6ad78d8027eb5c9da485877c3964d1773c6e7f80b9287481069b7c7d71e72d768671e38039e2f47c8737c1849a065e82acc70280fddad8898f09ac893398c088fd17828828f2fa8ff3a7b978bddbfd891bbcce7cd8a43685f421b5879893427abe2a5d7697bf85825123907933e4917512ad6c7efe17e689528444878994ab7dd2121686a3203218f9ccfbb539f89d83848054883afbea7bea82be837a784089d74359823632c07c7fc62489ba9b2b86aacbd77b6fef3787ddf98777f641ef79bf6031824e12818604e00ca3a529537affef3e821e12c889d10b2787e00a2c7a784ac0764444d9838b73ee81f4aa2a97f456c188aa1e7d789f49e37e23558979e30dd37d36d11778d02c98aa1cca728171e797839ed69f840b094e7c2efbb8805fd3ff8517a4d181051d8582ceb2c3800cfe9eae3e68e2814702ba7e21befd811b7f9383e9b1567e24925198062adda32dbbb07f51d0827d6122a880e0f14c850dfa87893da07f8314d4a184ff784e83bc277b7d83883109d35d4a8746c5a0792c44ad75dae83c7b9eb9a0825c7a1b7a5d52ce8506078986a9466684c7fcf1898c81f8824fb4347dd606fd81d8a42c8af1053179539681856a7dcf8dd362e41904e8497e9462097bc026c016948e1b8652962278811c51853e421278d9878688614d6086cd29d0821c21a97c8adcec7c6d87147671ce407bac0f55806881268f947260a23b13310b5edfd2a1c0c7f8940b8d7877b8c70b775a94d57fa43916770c1b2089645e357d593a168549cf977be181487c77cc1386e845a07535f2b68cc3f93d8f3201b17ac14abc8a8e117eb15ff74f93059ec07cd0aa487e5ed0d4894d0bfc8508db8380e04b67780134877ff9a5b77605c37786ff0130841ad252763105e8a7cdf2757929c75685b799a78a41b690a64996109aa444b7781e368c7c151c1476b3433378a7557c7dc6249381bb4f0d7e01e8c384f2d645887c0fc07c865f978c4b78dd89d64e48a8f454d57ddbf32d96a030748c39814a86ace04b8015be4b7eb8fde777fb7df485a3973f81e1881f89a6ba96887bfded79b98d907d9993f17ac0a40595b5684078cf95c1a99852d1ac70f49fa4fb34fe9073a422856b26b07974203a7613ea107f83cc6088d6e2587dc16a4c80414cba885367f67e9707a4890619d8850c673880f670ad8be94c86962f2c84a966d482915be34883e82c40784062b17e5ee96e76f09d1b8650b0cc7b4784d3877a25967d8c441d7df761db7f97a93080897025826283207be7378684332cfd7e206f437a63498e87e99f8375b4f75189bf8b8b7be32af98687c08479b7aef885f88c6b7d8f846f7bb3e9da7fe558957f0009dc8643a96c7e9b148879dbc08a8215ff388aaa42dd7f4a5ff0811ff1f5818e06e47ac8cd4a86f6eeee82aa30b87abdf8cb8432542b87761f5d86f3b5f486b23c8077ee9ac2777d4ca1751ab2a078171f08853d0527878355ec8757913e781726a784ea9b1c7e45db0980bfba027771e0358258eb2e89aaa7b47f5db73d8a47802a7e321e8879cd346383673d8e7ac4b55884a2772188b2a1717e6976c180ae9b567859579c761d69ee7556b9cb7c9bcc00847e071c82ac50d27a3433ac7948af2d881523bf894b91237b1a1e3c852750dc82ee23dc7840452f7e8cb0057b6d34a688a7f0a275f08be77df90aca76059f577c7397527c7d94e488f744fb83783fed85d5939b8708c94688cfb55b87f8686577fd51968287f6f77f337fbe86165543771acbf4779a06947deba203803e013b8a49172984a08d288449cf7d851a308c8172891783a59ab7898231ee7b1d704d848613c57ef62f6b81dcfd4f8026b9d276339c607d0b676a83f0d3d784e1acfc795372c67f94212d875410a28113cda37a1ad69d85a7d3d47ab6e8107627012f8823792085b2c5b689fe4230843eaee281838b5c7c92a70687ec03157bee18507a9a351d8019295b81ca605a7d1004fa819dab4179e63b4178def95b83a56493860e428676c7480081dc339c7f00feb180301bc287f90a0378d8c1e17a6993787ebc03b389350030881cb133894851ac754fe3c9757a3bce77bb5ac287ec6f8c823ae93f7c3e78068122c5217cfa0680878cf8e678ead59586af858e76f8fc64824caa7889d3a99581f55e177d90c1ee85430ef689c81cb975e0b45e7ef2e8f1820350b67a2d52c081925437839935b97f93ae69818a7e838367fc8384b5e10477daf33b87a7c180893f7f5b8100a4f081c6bf058280f88b85273e0b7f0f374584dcc70782d2891d7f00ab0b7f1e19ad813f50de75676c0f7db93a287f5e4e7583c117797af75a9e773e951688613b787bc217e47769ede279fc26547a405786859d4d487e9e54ac83ace08276357bf07c9d87be829271698a439ec77bef84018a124f4d88fbccb8778beaef890c879076ae2fe2885dff2a7aba41178a9b8b9689aacbe97de235658477559f819271118213ea9089aebfd081aead5a7ad987af758288d4891aef73819d8e8378a9c80579c0f0cc7805d523830a2a2c7b34aaa67d9c09937502cb4f8399110585a810cf7aa48c18812e3174836bd3ca81b4c8bf7ba55280851385bf7a23cc9c88e111248a3f7ff9836565b37b2886a389ad82808143d8d67b0fc02a7ded52378414f8ea85680a7c82021ef280d13ab77ecc26c478415e777595212b7637ea107fdf85e97da2d1d57877a85a8f054fd87817cc73785eacd181fd4d1e7ae8507c8608649675ab49ef753ed6a17d82594b8a75be6684e994417ed008b18982d7a68085346c75527dca7e4cfd827c925fb18a26fb9c7d83969e80d5c962781e2426808f9d187f1c7b6b81bd23737d36ad907c5ccd9b88c213bc7a2044cb7da30eb3848296f97a858edc7e66f5c1804dca5c97e631ac8383d3e9924d704e7be766177fc283e37e0940a081f5c3a577effb0f78d128dc7ef283a3849ff6ac768db7d7864141ba88f4fd0f85ae908783c86fdf7aea1d9976c06eac76d5395c7bff787578c2e8a180a0864e7b18d3047f8188748722b30178ddbcf278d68f468626d2a6818176b87618c81588a141c77d688c5799bc773b7706b86a762f8fd0795bd82a762766388564453c856c63237a9993867c28980d81e372fd82d659ef7c1d1de3817f0e7e7dd36cf77e48e5af80200a027c2b7ea4805127f67540e4ce77fd0900783fae4978ff664c801c57cb775701257d12f56581c313ff8387e42676cdc80a7e0541767dcfefb37c209eec7ab27d24874b3e52908b18f993d8534d932c7e948a6a2a6a81bce6f381587bb77d9feff67ebd766a7e14d49a88bf55a3791535c2888326787a68a97579943e53898613d986d8a4c189c1bdcc85633e9d80a826da754c1a851dfd44aef8d62ba41e5d0958f764995a18c37b007fb563ce7f82183f7a42d1b57d7f0edb788f604c89a6c53f83c6f508863d712182a796a8b87bfc419c5c4d928c461498b3c64e467df0f00577cbb3bd7cf9b0af84652f06779b180e7630af657d3e83c487f88c648321596d777838ed8534b14086f6483682494d52a54b994fb14cdf889674ed6fe45cd01677fac9c77cdae8f77eb63b028737324d82d2775d7bfb0d5d7ce1a574786c8be787446fbe7dd4cdba808b3d3e7f6f081176c736929aec6cdb931c365da2f60b657a63e42f894e61fd7ffa064277e70c1080eba22c7eaff558792e18c983a481be75246e828625a70d7787dd30804b1a267b30c8b7907cb36899915363b8a8da7c832c2e1c881eeaeb78400f5279d4a987769820c27d35d5827d56787d7d35e7d0838aee81787bf6f485b379f08946ba9e85f36d258811ad0cb5713fe3b036c48f803b9dee809a182a7ef8bbb47a816fa786238b207b02837b866815257d73f59f7c2c27247a456f3f8a7df9bd7a65d5ae7c446817839bde42b42288a1ae2704c77caf078d7b2ee94780d796e57625ec0d828d2e037ae850fb8070577a87aa8a7f88b9a6d080448c2a77e563cc89ce9c0e79f6a63779b5abe08996362dab3a1b5295f3a0c788b0816586d5b7c7830c990c78718d2d7ab1520c7945c9ee76279178835aadc77e936d187b67e3087a32c44e7ec7d1317758fd8d7c7db13a9d7462d78fddc781813ad7a88792a79383b4fea2758dc2c989eb612b78cda49f880c754177d7a15284f6e3418453794d7fe8624288e2fbbb792480f88789534188638656a9a84e11e2c2212b82fac52c83c91c0177bc320c81463c8a83a6d73f848fa8f3827ef5c586fee8e884bae36783cb26f87d28fd03897ee3f78490229887bbc6f09981c9e595298684870f9102839f9c44890022577c7403908286427e86c83960881696aa8591a06683b7b5f18627b56288c3c7a28517f01f898dbed87729f9d37fd8d3af9a36f8527b9f8ac97fa81b897950df3377dc74ff7d172686884b2c5e7ce34ea786a10be987fb8b28814606588577141781d0ceb5780080dc7b35b8089af50605a632ae6380b113b9841f448b7c53af8e82629c8e7b6d462c84b529f8853fa33e81f3541a7d5da56888347b008ad8f76f797a7175779db675760aa19a88e6fa9187b1590baab17eb086d71fb08185b2638ab04017856421707e37d805881cb15d88724ffa759038b588f69ba18984bddd7b47cc747938328d8319a72d7e1ae8ad862912c98eb6d158a54eb704887212bc76e02002850249b477f2f3da80020c547fa9222488c3b52c7c5b7edd815e06c4897fd88d7b30ecaf79f2faae8243c6a888761f9395281ded91edd4141ed0d5b978f28ecf8091ab527827aee97c6e424082b75bd187f7195d7c9a7df67ac230ce8419a0958948fe517f51c93877cbd7fe7fec03fd81652fc6882e1c87996f89b81c7afb5c7a5f31277e51b72685560c9a7f80e6cf7a86cbcc7cb64d1778f2c4f377c4eb0b83f3ae66890e01a978324d7d80597000884858f28894e06b6e7f37fc75b98dd887eae34880108d7b877db89d7722e2de869b79b580e99f9e822fd347852df4697514cd9d7fe032f18769db56862380f97f929572899eaeb77bb3670d85bded4318a4fda9827219bb87696b6f79f05cbd858a7e6d8901e84b76f7a2c97cda5fd17fbc7a1e8244d4ec8081234387b7494478ca6b05859607b68926aee289951d3d82e6b2a1769dab9f826582fa75eac33276de3abf77bf1f7a824bd2867eee2a257e93912887daa739834ffce37db83364850947b6875cd437897c1d8d7fa90cc4855ef0627bc0e5568409ac0d7fea82ce85b07afd7eff01eb78a8802189e84568772ccd0c80b2060e7fc271587d5343288876315283a33df2894dad79822b0e6e80b9b1dca037593b873416db7a3e4db47f87d20c89e8ce2aaf8d2b4d87b39d3f7908f86678bf43fe821016298197ea5188eadc098aeff09e7b3ee8858894b85f7d11b12c782ef4e396200a39180823cc7dd0a3477c6ad73278c7c6d4ee5bf2d17fcd6a4382b4c84583ab5b6581b8d90a7d0d46737e1dd5007aa0083076bdf83a7b62a7228138a59679ac983ba1759f3791f434af93ec47b7156889baedb06e6a8c964b139ff953427a3de10f7917afb4882cc93682cec40c7da128338a331abb76fc26618946cc1588e546a6877ff118a6a39c919a6e8d7598e435f3adadf59f9050ddb694d615", + "frames": "89504e470d0a1a0a0000000d4948445200000030000000300802000000d8606ed0000000086163544c000000050000000136aa7ff60000001a6663544c0000000000000030000000300000000000000000000100190000d3679a86000007234944415478016354b38b61634000109b0d08e1800dca461104b2211001a06c842058230843082880c883e5a000c4046108c1c0a8631703a420002404c2100202a07aa114188098603e088301820167419810fb6100cc060981195000622389607110888402b0a1408024086680f860061440d90841b04610861050009107cb41018809c2100208d8100e0209417440014c23922088011606611880b0c1c210006682308480028831603928003141184200014812ea20200b8c21041080e42000c102b2c11008c00408401950610800eb401181b0414260060840194822400e900d72109082088309200049400082056443210240d92882601d282210364808cc00011003842104048035021d64040e21a00c840f065039a01094016202318858d77227a24605c80002101f4842281000334118428000980122c072500062823084000298241bd0412e200741f9200095835260b0a5eb1190c40a529aa08e83ea006108010260068800cb41018889e4552007ca060ba23908450e08f0380519a4346941d403b541196000e541291000314018424000d45208c568017610184044803410820091ae8180ac0e2d2009d108011063608682008809c2100202a0f2500aab83201449ae8100a09bc05a4100cc003909cc8002101b4504621590064228803b082a07a1c8700d041420c209640998010520368a08c42a200d84500064401c842247b66b2000e826b03170434100c404610801040849040bc80696d4162e4960160840e4287450192890802603210280d8282210ab803410420188c1c6c66807761010409450e81a0828eb33001b0602500692c5400e948d2408628085610e82c951c541357d0640120240c68230840002b0b54000b31102403c10843808cc8200ea3a08642c0843082020e01a2060b4f34a82b020808a0e02190bc2100202a00e825260006282f9200c74908b1738cac0802aae818026a09bc036800908005b0ba7c000c404f341180c100e0209b1b101eb4e204d21008610d834208403b0b54080220864432002401d0412026ba18a8320c103320e0ac046030192209801e28319500064c31d04810c2ba8e2a029b0340402201a848124840203906d602e9800010883d10be420901c844f2d07414c039a0c6320b1806c3004023001025006b03de4e59501a480004c8000856e42720d10c09c0175000880186061108601081b28cce81590016201311800198b2873500738bec000683e1810ed1a20003908cc8002089b6c3721050fc47c200d840800e281200240d93041c60070084100440848011973ea487613926b8000ea202805062026980fc230006183854100e120a808d83560c036a7ee1a90221250c5354026ba8390e580cc69c4b909ab6b802642196000e281200240d908419046a883802c20000940019809c2206242054e6711530602018807820800652304c11a81b90ce820100b0830e480004c400144beabe202b06600328000c4076108010160bd700a0c404c301f84c100c180b3204ca083c2c021046481f820009500023001051079b01c148098200c2180004483309084506000d208e68209108032a0c21000d60116813a082c00016026580e0ec06c901098010520368a08582310200982186061108601081b2c0c016026088308c6b03058948100540e44c200980d120233a000c44611016b0402244110032c0cc230006183852100cc046108c1c01813060a2130409783008815603928003141184200014212c102b2a11001a06c1441b00e2411b883a012400026a000a2122c070520260843082080494294c2008807820800652304413404834818407710888401301b24046680008801c2100202c01ae114188098603e08c300840d1686003013842104080019100761978310603928003141184200014c12c9d14000e281200240d908419c1a810eca03098130840001300344c0f481008809d40124a100268922086443200240d90841b046108610500091674c0acb03524036880703501e94020110038421040480cd855360006282f9200c0608069c056182308400013003641f63520cc841603e148084812488800210138421040440e5a114188098603e0883018201674198103b6000cc06090119e80e0233403260061480d82822604381004910cc00f1c10c2880b21182608d200c21a000220f966360cc003b0802c022205930030a406c14118846200d845000628085411806206cb030048099200c21a000620c580e04d01c041286cb01018809c210020810920816900d864000264000ca800a430058078a08840d1202334000e12088205813148098200c21800021896001d950880050368a2058078a08840d1202334000c8803a08c8021120080550069208900365230982186061108601081b2c0c0160260843081000334004580e0a804c90838014880d825000628030848000a8462805062026980fc230006183852100cc046108010260068800cb41018809ccf679a01002b34104148098200c2180002689e4682000f1401001a06c84206e8d4000a54000c4006106007f1a988f75cca27b0000001a6663544c00000001000000300000003000000000000000000001001900004814705200000738666441540000000278016354b38b61634000109b0d08210044c3308400013003a408cc00013803c882b1d9400c10861050009107cb41018809c210828151c72e06484100480884210410c034428c8101101b2c03c2608060c0591026a6462001820800622389607110888402b0a1408024086680f8600608c01940168c0dd608c210020a20f2603928003141184200011bc2412021880e28806944120433407c30030a206c986a20003341184240014413580e0a404c108610400092843a08c80263080104203928809804062006580684c100ca405203e480d8282210364808cc000128034904c801b2410e0252106130010420092840d20062806540180ca00c2435400e888d2202618384c00c10003140184240005823d04146e01002ca40f8600095030a411920261080f860060840194822400e880dc2100204c00c1001968302101384210410c024d9800e72013908ca0701841c9401620201880f664001840d530d0460260843081000334004580e0a404c14a3609260413407a1c8c10188c7f60b48c305410c1086104000930253600204c00ca05e20840210038421040440f54228460bb083c0002202a4811001403c625c03c22000a3c10ca056208401100b8421040480f5c229820e0231c0184480019401a6c004c39cba3b594d5a100e98000110038c41040c80d84886033950369220d04149400a08a04248722006580b0883018801c4bf1816b5dc0132b182820e2da012903288661800b1910c0772a06c24412003ea20200b0450e540044664e1710a3228eb0086198a46308610408024056701d9c0921ae820840850004882018849ae6b20a0a6cf00484200502f1083482880198b240862b0b131da81430804d0e540184480019041926b2000e826a0461040321cc881b29104410cb030d841200684000128032c0dc260b08274d7404013309cc0a6800920009b0b0448ae0102100f04810ef2028510900501500652f40301d9ae8180a629b070029a0b2480006c371c8078200802200741581000628375813018001964441632e898024d4c304b213640018809e68330d0412ee0108200b0104817980102400685ae8100a09be0a6826d87021013cc0761304038082c04d205664001904d250799018d020174f3211001a00e020b8164c00c108033a8e2a0be296640126828dc583003c40733a000c80639084881d8500a0a400c1066585447350781230704c034361b810ef2028510363910a68e6b2060ca2c909b20006436d875200c065006b03de4e59501a480004c800094017524a8ee04921482be59b0340432188a41040c40d8402146af800c100b88c100ca80b90608a8e22078f0808c055a0b24801806206cb030d84160061440d90807b1cda9bb06a42804480e82400480b261828c01e0108200881090823240809a0e02190b0e07108601081b2c0c020807414510ae01d1103cad82223711ef1a2013dd41c87220260853cb41108800503642106423d441401608a0ca413860826102b96e22c935400e6318d8412080210701309a1c37c15c03c4600288c100c180b3204c8483d05c0304600a4c800088c1c6d05544829b60ae0141200013200065408521006c295804ea20b00004809960393800b3414240464bd10520872080b90688c10410c300840d16860030138441046358187239049503913000668384c00c28c0e32c88538000a41e8c41040c40d84842602608430806c6983050088101ba1c04405c0296830210138421044345ce0548dd09e18309100031409a4134044059c84210839144e00e824a0001988002884ab01c148098200c2180002609a6c00408803462745a4000280c244100444330888401740781481800b34142600608801840fc0ba21a02604c4c6570293080b09184c04c108610200064401c845d0e4280e5a000ca44d80d9344888000880dc620020ca00c84329814420404803ca083f24042200c214000cc0011307d20006202750049288049a20882d9600c22c000ca4028034b8130848002883c6352581e9002b2413c1880f2a014088018200c2140002e09361e0a404c300611608060c059102608430810003340463226c5801c04e6430148184882082800314118424000541e4a81018809e6833018201870168409b10306c06c90109081ee2030032403664001888d22023614089004c10c101fcc8002281b2108d608c210020a20f2603906c60cb08320002c02920533a000c44611816804d240080520065818846100c2060b43009809c210020a20c680e54000cd412061b81c108098200c21800021896001d9600804600204a00ca830048075a08840d82021300304100e8208823541018809c210020810920816900d85080065a3088275a08840d82021300304800ca883802c100182500065208900395036922088011606611880b0c1c2100066823084000130034480e5a000c80439084881d8200805200608430808806a845260006282f9200c031036581802c04c1086102000668008b01c148098c06c9f070a21301b4440018809c21002086092488e0602100f041100ca4608e2d60804500a04400c1066000062719f8f6d53a2630000001a6663544c0000000300000030000000300000000000000000000100190000a582a3bb0000075c666441540000000478016354b38b61634000109b0d08210044c3308400013003a408cc00013803c882b1d9400c10861050009107cb41018809c210828151c72e06484100480884210410c034428c8101101b2c03c2608060c0591026a6462001820800622389607110888402b0a1408024086680f8600608c01940168c0dd608c210020a20f2603928003141184200011bc2412021880e28806944120433407c30030a206c986a20003341184240014413580e0a404c108610400092843a08c80263080104203928809804062006580684c100ca405203e480d8282210364808cc000128034904c801b2410e0252106130010420092840d20062806540180ca00c2435400e888d2202618384c00c10003140184240005823d04146e01002ca40f8600095030a411920261080f860060840194822400e880dc2100204c00c1001968302101384210410c024d9800e72013908ca0701841c9401620201880f664001840d530d0460260843081000334004580e0a404c14a3609260413407a1c841009801e283195000652304111a81004c8000481ecc01132000628030848000a85e08c5680176101840448034102200880d96016130803210ca50a46134900184bf8018c88600100b8421040480f5c229820e0231c0c2200c065006921a2007c406610801022006188308308032303502019220d04149400a08a04248726006880f66800094812402e480d8200c214000c400631001065006422388066120400882185007015920802a0722401001a06c8420d84a10861050006283318800031003842104102049c1594036b0a4063a082102140092600062b2fd02d24822100c2180002605a6c004088018600c22c000ca009a0724410021051482b3410c3636463b70088100ba1c08830830003140184200014c0a4c8109100033d8ba2a2ed4f4190059400016015150065c23102004c10cb00cd841200684000128830d2c0f065006980213400096056108c130a1e21a90c40a9aa6801c075606226018424001c86d2008731090050120061883081880b211cac0b2200c22f038051974809c85a2110e400683200830da7921d2109481d0050250064c038885c00cd388730d04744c31036902610801022006928d8c2e5ed03404e103e5a00c3080b2915c03658029925c03017db3cc80245837088018602341180c501d842a070450369a8340981cd740c014b09b20006430082200d4416021900c980102700690056353c13510007413d81890d160061400d920070129101b041100ca4608825d030460112213322e0076100802019800010883d10b14422039081f08e00c200bc6a6a66b2060d6021b2009340d02a00c607bc8cb2b0348010198000110038441004e4319547510d0283880b081d6307a05648058400c065006d86218002a0312400c21a8e3a005e010820088b1606bc00e02334000cac0eb1a20a0ae83a0c6c22c650c00871004408480149401710d10802930411dd74000c44d106361362139082a82e41a3806913000e401eb4e20834280d5354026d4415011a06d40120440340c4308100033a8e620b06940f3801002400e43711048000ac04c1086102000668074771551c141cbc02104340d6c2c10406d043908c402020c39200013500095a7aa83c036410098097450183884802c101f04a012400026a000cc06290233185a2873d3b26560d7003114402d0592500781052000cc04cbc101980d12023340807207c18d029a0c62833088600c0b8345190840e540240c80d9202130030a80ec3a72dd84c73540c01813060a213040978300884bc0725000628230435d0ec96e02ba064882754300d860881d60007710540208c00414405482e5a000c4046108c150418a9b505d03a2211844c200ba8340240c80d92021300304400c100601385d91730a481104a06c05d6032680006a23108009100032200ec22e0721c0725000628230840002b024083314a5e17416b40c0461080104608d4080e45b2000f2800eca03098130840001300344c0f481008809c2100208c092200c21a00068685ada11e4d6058801c2100208706a04928c496179400ac806f16000ca83522000628030848000b0b9408045194c0ac802622000536085b0de3008430810003340f28c4931200781f9500012069220020a404c108610100095875260006282f9200c0608069c056142ec8001301b240464a03b08cc00c98019500062a388800d050224413003c40733a000ca460882358230848002883c588e813103ec2008008b8064c10c2800b15144201a813410420188011606611880b0c1c21000668230848002883160391040731048182e070420260843082040482258403618020198000128032a0c01601d282210364808cc000184832082604d5000628230840002842482056443210240d92882601d282210364808cc00012003ea20200b4480201440194822400e948d2408628085411806206cb030048099200c214000cc00116039280032410e025220360842018801c2100202a01aa114188098603e08c300840d168600301384210408801920022c0705202630dbe7814208cc06115000628230840002982492a38100c403410480b21182b83502019402011003841900d8749b8f392ec5380000001a6663544c00000005000000300000003000000000000000000001001900004848d1c100000764666441540000000678016354b38b61634000109b0d08210044c3308400013003a408cc00013803c882b1d9400c10861050009107cb41018809c210828151c72e06484100480884210410c034428c8101101b2c03c2608060c0591026a6462001820800622389607110888402b0a1408024086680f8600608c01940168c0dd608c210020a20f2603928003141184200011bc2412021880e28806944120433407c30030a206c986a20003341184240014413580e0a404c108610400092843a08c80263080104203928809804062006580684c100ca405203e480d8282210364808cc000128034904c801b2410e0252106130010420092840d20062806540180ca00c2435400e888d2202618384c00c10003140184240005823d04146e01002ca40f8600095030a411920261080f860060840194822400e880dc2100204c00c1001968302101384210410c024d9800e72013908ca0701841c9401620201880f664001840d530d0460260843081000334004580e0a404c14a3609260413407a1c841009801e283195000652304b1680402301b240466800094812402e440d8108ad102ec203080880069204400101b2c03c2600065209481a581004c8109100033408ac00c1000314018424000542f9422e82010032c0cc260006520a90172406c108610200066801481195000628330840002b04620405206745012900202a810921c9801e28319200065208900392036084308100033408ac00c2800b15144c01a81004910c8803a08c8020154391001820800652304c1868230848002903cdb2f2006b22100c40261080104608d60806001d9c0921ae8208408500048820188c9f60b4823894030840002981498021320006280318800032803681e908402982c922088c1c6c668070e211040970361100106200608430820804981293001022006188308308032900c0772a06c244110032c0c76108801214000ca6003cb83019401a6c0041080654118424001880dc620020c400c104610200c0448ae0102100f04610e02b22000c40063100103503642195816842104088019401544c432084308104030c0928c765e88340465802540180ca00ca05d40120440340c43081000c9e3700d10c069100384210408401910e7001de4e2054d43103e5c0202a06ca05d40120460b2600a4c80008801c620020c400c1086100c1539173aa69881d8200c214000ca40b214d5416071108601281bcd41200c214000c440c6600064d4155d0032b08229b3cc8024500d04c0dd03a4a00e02b240040842019c0164c1d8607d200c214000c400631001032db89d820c66419c05d30aa1400e02b340d68219500065230451f48109100031c01844800191ae8180590b6ce01a210c462f500881ac85f08100ce00b2606c987d08111000b1c11844800149ae8180050b6c8024d404607bc8cb2b0348010198000110038441004e4319480e0231c01844800119ae81806560370101d02c46af800c100b88c100ca40b218c801b1411842800094018f7f0a5c0301403741cc023908cc00012883906b8000cc06a90333408052072d832626c60070084100440848411910d70001980213200065502f782060cd3250c4211c04351dc935700c226100ca46720d9081a7c8211e801dc4067510d0501040d80da261184280008c01520763831854729013d0281407217c0d6182308400013003ea103001021006551cb4699913d038908320860239500636d70001541e4a8100844115d74000d04d8c61e010029a0d311dc802314018424001980d520466800094011601d69d40268560d31a7094411c047605048099606be000cc06098119200065c044a8eaa0305894810069ae010230411d07ed58e304241963c24021040650d70001988002884bc0725000628230840002b68a9c53408a4280e620b08d200c21a08018d780186c0c456914b909e21a20407710888401301b24046680008801c2100202c01a19188a280b2488838046411c04361484210408801920022c07052026084308208049821d9d436e20415c03044063800eca039a05640201980001300344c02c04011013a8034842014c1249900c3721bb06d84d604c0acb0372406c200903501e94020110038421041060710d1000d969a4b809c935400c22189362400e02316100620558160a404c108610100095875240061043001b5b5ac211204d10a0b8064880208683c00c900c98010520368a08cc19488208064c3201b7b32065201c408c81e863cc003b0802c022205930030a406c14118846200d8450006200f12fa01c9002012805046065215147209539880325a0002c0fd408244000cd412061b81c108098200c21800021896001d94088ec1c900818802560002c0bc2100204c00c9022300304100e8208823541018809c210020810920816900d85080065a308827580308400013003a408cc00012003ea20200b4480201440194822400e948d240862808541180c100c380bc2046108010260068800cb4101900972109002b141100a400c1086101000d508a5c000c404f341180c100c380bc2046108010260068800cb410188096ca0e5814208cc06115000628230840002982492a38100c403410480b21182088d40002640002a0fa54000c400610600982c9f8ff0b3d5630000001a6663544c0000000700000030000000300000000000000000000100190000a5de022800000765666441540000000878016354b38b61634000109b0d08210044c3308400013003a408cc00013803c882b1d9400c10861050009107cb41018809c210828151c72e06484100480884210410c034428c8101101b2c03c2608060c0591026a6462001820800622389607110888402b0a1408024086680f8600608c01940168c0dd608c210020a20f2603928003141184200011bc2412021880e28806944120433407c30030a206c986a20003341184240014413580e0a404c108610400092843a08c80263080104203928809804062006580684c100ca405203e480d8282210364808cc000128034904c801b2410e0252106130010420092840d20062806540180ca00c2435400e888d2202618384c00c10003140184240005823d04146e01002ca40f8600095030a411920261080f860060840194822400e880dc2100204c00c1001968302101384210410c024d9800e72013908ca0701841c9401620201880f664001840d530d0460260843081000334004580e0a404c14a3609260413407a1c841009801e283195000652304b1680402301b240466800094812402e440d8108ad102ec203080880069204400101b2c03c2600065209481a581004c8109100033408ac00c1000314018424000542f9422e82010032c0cc260006520a90172406c108610200066801481195000628330840002b04620405206745012900202a810921c9801e28319200065208900392036084308100033408ac00c2800b15144c01a81004910c8803a08c8020154391001820800652304c1868230848002903cdb2f2006b22100c40261080104608d60806001d9c0921ae8208408500048820188c9f60b4823894030840002981498021320006280318800032803681e908402982c922088c1c6c668070e211040970361100106200608430820804981293001022006188308308032900c0772a06c244110032c0c76108801214000ca6003cb83019401a6c0041080654118424001880dc620020c400c104610200c0448ae0102100f04610e02b22000c4006310010350364219581684210408c0194049381bc40061080104302984512000e281200830da7921d2109401d605c2600065c0348058080c214000ca40730d1020698431905840361003014c23a38b17340d41f870090880b2310d0553600204a00c24bd5006422310c0649104a10c248da80e028b83300c40d90823102ac004088018c8180ca00c348d4080108131905c030450078185406ac10c108033802c181bac13842104088018600c226000ca866a0411200c045011104030605a2114c8416016482d98010550364210451f98000110038c4104184019d834421920260cc09d03640231d0415ea01002a985f08100ce00b2606c983684080880d8600c22c000ca40288349812930010240465adaa9590b6c800c08803280ed212faf0c200504600204400c100601380d65206c0233c01844c000948d5006960561109193760ac8c00a962db001a900855040069002b34100ca4098080428864200948111e0100aac1b5697818922dc4e41066b96d9801c04d602025006d42408005b09c2100204600c903a181bcc0061080104088d44ba06021803c021040160ed200aca80180a04600a4c4049880c0883018801c22000d60dab95d948730d10201c04d20f0460f3c000444330888401280f4a81009401a6c0c2e4bb0608a00e02e90702b0796000a26118428000980152046680009401a6c0041090ef1a20407110d82408003341184280009801720b980102500654044820c20608c87710583bc8142803c9503001051079b01c148098200c2120002c4f6ef00001631838848046800c0201a889400026a000cc062902334000c40061080104201a8281249e22073f803a08ec0a080033c186c201980d1202334000ca00536002484268288b020785c1a20c0488720d1080d8200c218000ac110860cac877504c182884c0006c28084308288058019683021013842104102024212cb25d03047007818d026108010524b806a21406c87613ba8340240c80d92021300304a00c3005268000ac114e81019009accc810c3200c44160d34018428000980122c0725000628230840002982486a32971501ec8081086102000668008988520006282308400029824866b80807c072585e50129a04970b38000ca83522000628030848000a883a014184099e0664942c211209354c09814037210503f1c409c01321206404c10861010009587524006104300d83540401d07811920278119500062a38840ad040a4119202618c05c0304404614e96e62cc003b080280468008104400101b4504662592209481ea1a106063888a22cd4d680e0299833015c886620801040849040bc806432000132000628030880821c54d0807418c44b506822104102024112c201b0a1100ca461224d24da73679401d04d6093200cc000128034904c881b29104410cb0300883019481a406c801b1d918fc42f60169ace0c8260f2009540672109002b141100a400c108610100036144e81018809e6833018401908a340340c43081000329c42f6ed5be301d60d052026b05f96070a21301b4440018809c21002086092089b4000c403410480b21182308dc82c201b86410418801820cc000043fc7f018f5aeb040000000049454e44ae426082", + "proof": { + "index": 0, + "siblings": [] + } + } + ] + }, + "job_v3r_encode": { + "kind": "job", + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-6001\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":2,\"root\":\"ff16318ee859c9c509c82f463b9db19f2dbb56f37a89a89a990c3a93c1734355\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c09\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-6001\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"45fa49b0740e4291ff82ac398db6066646150cdacd3c9db846b2b0020c30fad0\",\"sig\":\"8f0b086612e9ec99e0a7528bf209d9fb177aa434791ba16e7cec7d5c5144d291a856b0a732392aabba3da12460f6281d66b5c94be930ed4869059a3cc6a2da0a\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c09\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:6c5449272b5fd4cce2f0277ee502fcb6787e712d0d6497fe91d2b3585447dcc4\"],\"output\":\"ff16318ee859c9c509c82f463b9db19f2dbb56f37a89a89a990c3a93c1734355\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"30.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"30.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:a0d32db5da7481a02190e35f185f09bb7f64b3f4708949701c1eb8967a4aacee\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"b429f29acd1fd05985f00090e400545e14eb945c946b9efb08a2c56d1ee468b8bb11a5cd840c5dbd7ab9993be1d7bbef0d4677cad7f6fa0f31cdf15e7363d408\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "receipt": "{\"profile\":\"wai.video.int_motion/receipt\",\"codestream_hash\":\"277865b574029f700f4fac023de3ab06ae598ee6f8ed726444e91442a6bd59e9\",\"clip_hash\":\"3492566e8e2682e3b3bac083b4db02ef8eba9a7f15d9faf0e27feee0f6eb488c\",\"h\":48,\"w\":48,\"frames\":[\"e1d8e8f8b5c534be1421e5858ed9137808ddb849bdff2bf397beb32568d8eb69\",\"ae7214babf5bbd6ec279434740f3271be43d2392b8167813fa557b5c4426fa14\",\"b3ef86db27b82d303bc6b612cb224ad55259b4f2e2c0461c74dcce188cd64b99\",\"3906f91010bf1b9ca14f6e2ac9b499589ac02ff4465e1d9764a22443a8b29c22\",\"bedb1538c2071d705d2d3ab2df2c569ffed440278494649f9bf1ec881561c519\"],\"merkle_root\":\"0f3fe4aa201c275c10289c22f31e7211b555627b33a251bbe33d094abada6508\",\"work_pixel_ops\":34560,\"joules_micro\":0,\"uj_per_kilopixel_op\":null,\"energy_provenance\":null,\"parent_receipt_hash\":null,\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"signer_id\":\"did:example:sink/job-6001\",\"sig\":\"b0caed886abed9777621c42aa89adc4cfc9821de68345699fe31b2bc9faf5302319e43618a67cb83fcd485fe44b56fdbf5eb298555dd8cf0072accc0fe5c0c01\",\"receipt_hash\":\"849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0\"}", + "codestream": "57495631010100000500000030000000300000000800000006000000d5ffffff590000000000000004000000090000000f000000160000001e00000028000000330000004100000051000000640000007a00000094000000b3000000d8000000030100003601000073010000bb0100001002000074020000ea020000750300001a040000dd040000c3050000d2060000130800008e0900004e0b00005f0d0000d00f0000b21200001a160000201a0000e11e00007e240000202b0000f6320000383c00002747000012540000556300005c750000a38a0000aa9c0000edab0000d8b80000c7c3000009cd0000dfd4000081db00001ee10000dfe50000e5e900004ded00002ff00000a0f20000b1f4000071f60000ecf700002df900003cfa000022fb0000e5fb00008afc000015fd00008bfd0000effd000044fe00008cfe0000c9fe0000fcfe000027ff00004cff00006bff000085ff00009bff0000aeff0000beff0000ccff0000d7ff0000e1ff0000e9ff0000f0ff0000f6ff0000fbff0000ffff00000000010000000000feff0100ffff01000000000000000000000000000200fdfffbfffbfffcfffbfffdfffbff00000000000000000300fdfffbfffbfffbfffbfffcfffbfffffffbff000000000100fffffdfffbfffbfffbfffbfffbff00000000000000000000000000000000fcfffdfffbfffcff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0400fbff0400fcfffbff0100000000000000feff02000500fbfffbfffbfffbfffbfffdfffbff00000000ffff01000500fcfffefffbfffbfffbfffbfffbff000000000000000000000000fdfffbfffcfffbfffbfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fdff0200fcff0300000000000000000000000000fbfffcfffbfffbfffcfffbfffffffdff00000000000000000500fbfffbfffbfffbfffbfffffffbff00000000000000000300fefffdfffbfffbfffbfffbfffbff000000000000000000000000fdfffdfffcfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0200fbff0400ffff010000000000000000000300fefffbfffbfffbfffcff0100feff00000000000000000100fffffffffbfffbfffbfffbfffbff00000000000000000000000001000000fdfffcfffbfffbff74420000280b35593c000000a214bea9451501b9ad0cbdbd9a309164812c7ece531911d14717c3dbbc1d27782217989f7218f20d121d7bd4ca1f3eb3ef1f71131429e2d1f626c3e7ab249c33af4fe2d2c042a6d2222fb9b3c460c33836571567e55a40c90777634123135bfb8e1357858f0dfd6cd3316844ae2fdb041518b067b9167f09231b1d6f1c16b7df311ea6450d1ea29eed1ecc320c2b747de0206b34c82a708a2525b67967473d53e643c54f6f2f42e6355aaafd6534aabbdf5fe1a866406fac26314f6ad812ef006e0dd2c39e124439f5306ba6e0396f65ff1627ef771e0071f21b088eae1efd0a7d22d53ada205042fa23135ba627dfdecc3c473a7353bf1ea7435671e53209bdc9581998ef568e94f260c2af006595d31a5d0301d30b0e96f22e27c43d162997a218be088f12dc9d0915dff4db17246c1a3c61066e3807ec553cb509743e78e21d250c19332ef30e3d2d4f94a0275d0ead4e59f7ff403f44c02ed1b145563b075b55c0ece2599ea8038a52c4e77287a40b3015595e178405f01716799f12508739158ce39537c6364439c2c61335c774823feb0e4a46484b29464146093e52ba6e2e3e5a0631121b992d5a46a848c8478e518c794638949ff05b4c57d23967cc4b57d3bb164147bebb2f4cd1452f40e1701817cec818f564ff13f4072317feda4f17504f253558977544d057484615df8028fbee312a5a55ed2c1c72d1257130d62be71dda51a0a97748680d2735181dc85721d3923f8d192f8794fcc96be998eb135e56840f812d952b26dc2f2f8537db1701de931a9e0b811c99606b1d7a72b81fe6796623b2e3442266abe726bfe71c26713b582970ff964812b3a7511b88474ad1a39d60fe77fb5b93faa43aa689e37f22cf656dcdde8d4a529b091869c19a199bf5af108ce21a33eb8ae43a8485f63a7c0ae7f3e9d6d3fbf35320f44e2572fb823070f38da5d5fb4cd37f3e167531443d7027341943de2d2e0dbe4918ce0f53b1e5a7368b2c3c6ff4ff9044663d54810e945168c3b1d019852e9412c0563e10ce0287359612c8365ce0fd34c5cdb9f290f0e017571aaef2f889ca179debd4f3065bae18380425f4d7c9dd18bb2cf626ea6faa24e3f4384b1da15a3d6df8b52cc90b935da2e4c23b9597355cee7f1945393e249b7b14ad729ff91432962e6218224895175df6f11b30546af34ef81f1840d4b4f24290fa19e90d41f3792fbd17b307eff2702189161f1552f429b1fc18154682320160642d6a8c304b9a74645336beb060762fd36780e26160b5380e4500bf316ab3b6594b76993031ace92b2efad9cb178983121b9d4845f4ba36071a9d404af3f9d4f2199f14cff37ed44717baad75f448628d19af3421f46a8b0f19184461f3ef7bc1178d00634bcf58624c6725ac619927f15545490f360e0fb877c6814c6b9ea2f952ccf3a3abad91da10ef63f3144a0f23340223ff35814709f4d3516c16e5bb75f3a3574719c25228f4b5a03e1636db84f49a58781762e821f35742a2181bc2f7f397ef311637054630ad43d250643a45395291b55b725ae5723bdd1b62eae7a445bd65319f19c63568c61a5b1206b34d3bed1dd63786de01f49a49affb2a9cebf3518ed9fb7f061bf402f2bdfb0bb9c0f344eaa4fb1bb58df3fb10a4fb6bcbb8f3bb45a0fbfbd11ef477204efb6ff5815087d668629a2a0c5d17e9236a698d0061d79fdb460b2f26a9c24f33529ee32911b3aa1515876dab37a91b8339f13feff22ac0af17a839caf36b8b36183cace0f27ca7e419927205f46713bd1740d4a5f49da36019a6baa1f4ceac2c19b530c1f2eaf4de19c6322751ef91df5b92e05f6533f2a760db246a7d1551e266a304d149e19ef5ab9b67c917279abc17e5eb69fbf214f2182014b4fb9ffe3e163705e1fba23dfe17e466a2fb4cd37c16dcc16ffbaaa6f61663923efb92173218345ca6fb512703175f6a95fb422b751962216358fc9aad68a047125962cd87430577849addf21174af2dc5499c4fcf8778b8293377e4ed3b12154cf3afbf46fb6ab6baf3dc41b0fb4cbe91f32c0b39fb2ef0f3f2262a42fbe21813f3cd5230fb476af8f3870f92fbefea62f47a7a92fb7234cdf297d11f5d8e12023c55bf666f4ef6005c8d58bc9549953d730699fd4ff8264fb23cf0ac1886051a1c4d05891af4edc2fbf792baf24163bdfbe896c3f32f65e3fb6023ebf2ca07d7fb66774bf4993ad1fbd99a01f30be2a6fbd34630f3275768fb7ef1a1f2f78972fbe65735554ebaa9390610c05a5315734087513d8c09862074f653884a096d36bad118d01b4762691789a9a4fb84456418eb0ca3fb4aa9b419eedf99fb865a481883a740fbccb302171e6b31fbdcc4a318d918a3fb2772ae179e15aefb5dcf1b17b3873ffb7673f4189ca65c5d080bdc43f1e1b278e9bbf0411aed639db279b76db39473596dd293164dfc0317fddbabfb866f2cf49fee5afb376ea4f3351975fb9baa96f394a45afbd65b6bf333ddaffb9de9fdf212c3d7fbeeead4f2262aa9fbf329a1f4fa10ccfbaee586f41f6791fbe442375aab92fb3ebf0cd287434e9d6e5b5143a22f6941660f17d858c6629c18cba73c167536ce1e8e78a81944d168f419b32118417e79f37ee3a4168ea062f3684ff8160f7514f3d3335e16d0c984f4e44f5716db178bf3f1e44f1765e6d5f39b589417ffd4263cb1b60b56568bf7410b9931975f374f710f5c7f4fa42325bcbf1b8b7648524f17d3a2bc1d17f181fb389846f3eaf47dfb8dede9f2ef7b22fb6cb646f4429fd8fb1ab5a5f4cd8e2ffb7dc74ef4164ac2fb955678f3aea1abfb511264f4825bd7fb2cdbf5f268318f5c44110177dd73146b7a24ef4d9557b1ac71c8ac855c5302606910468a110d2833d76a203d85cc1c16f25d02f36cc7671902a893f3c335ff186fdffbf23bdcd317eae2b3f3dfb9001a3c8153f3a8edd118ccf62bf491591a17bed596f344cc8916cbf73c423ef6c45d15bc03651b1912a83850df6979ba2a6292c2eebd5d91e87574332d1ec8640e210884defb523cdff2811f84fb900283f397e066fbb5636bf4b5af3afbe896e9f2ed4ea3fbaabb7cf42cfc51fb744940f4fc3dc7fb444010f3ebf46cfb40019ff4ba45685818c3743cc9991ca49c3d626e6cdb6d54ca28d67ab141e2599329871efca9c71b6444e22057e352f45dd8b917feaa52f42bfc1119743121f3694f9818db6c99f3d79c4618989917f426394b16467b0df3b1fb8f19521d21f48db4ca175a186e3dbffda754ced3533d92a3eea77ad2e668dd293056741d36bf0ff6d877943fff1c5c2be22145ecd620c546c1f3241b6b1627e58ef43e187e1951f342f42ab1b917ec3602f4f8a719192312a0f21e3ac51704a731f4981c4f168ba270f48c969c181fea6d40d92c977aaa69c464c1fe0b4fe4ac6e6dca35ef5f6aa19dc29fe940765b492821c377c822552bbe2132b22720a4a99cfbe66ccb18874f90fb5de48618e3bcc8fb7a9dfc174fca80fb033b2e19226885fb5cbaa018cf7481fb4bbe3b1690f45071cf3b545fc7dc4c460fb904a5f494e4710bb28c59b37201bc93c3b85cedf29ed26f8cac231756f41e282b6e208e484d416f57f1f2d56f3617c0a984f402e336196a0dacf401f23a182db681f4e431cd161e6be5f31d3a03177b0239f33755483d85c9d2624864d23f6bb7c5a69c7e2164d4f8ed6167d7fdbd05c2405ff28607d169ffc3238fcc5423c78c9346c614a93f473a2b17750683fbeed5a017f40664fb11227117579a43fbf768d91957ef44fb4994591639592ffb3898db867e356462c5292e4270ba30a3145c994dc63817c2b506ff790c88855f7484a1d36b3cb022b49dc01f39897e3db627e7453b7eaa47ee9c181a325d08f3aea14718447cc5f3ce9d6d187dabeef346352a168c4c9bf38ff00e189a54f0817d9e5867e164264acf9f89a0468af5865b1d0f5d44650780f7a37565a8f4c0ceb96346217425be3f42ddfb460186a443dc4f4f39e726fd2e11ac22fba65269162b0d79fbccdde017447c95fbeeead617a64c9a609f26b64105687099d3e8f96edd6e714832a030810d602862a462e0c908e95486467e4f657a255646fefc1b3d6612ce46f05c183a0aa2e63122e07a4fe77fc847dfdb81f4981cdd5a7e25095e2496ff7c0d982d61f1b45a40c98a5da72c8cd36f9bae985ea04c49826f6e0159848c46d189116c7425229a29dca5753180914230f7d87f2cd1e2294a23bd653c8f2c033180eb015dc4796a35ffb37e5d2a91a83e040b6f9551375c7318d897491c79c9bfd5a26b563d7258cbb89e8e7b06429a6fdbbb519019578d2cf852092d88bd0f2a78859a2f1ffe22519dd8cb507fba725b0e80ca5d8ed18c6087f6007e90e4ac6bd0224e504285c6ad5e2a4885c47c8e5608003a80cdac406c2de6e9d9c33b3d881826ea313c35a52f98773329023e2e2f644eed4c9fd91548d5819c5845a9c356a9e281411746cb75d8b9686bb07213513a6827af9e2d2582d3aaee5d0a1e1582463d496d83be81d6d0003b8586b2b42e814ecb2eb4b31b288dd08d4a6d71253f6f90872d7f2ee65a725a8f582404ef5c515ac37806644d66e187784bf25f74a43c7dd98747933f580caf12c97de8796af508f6ce38d753833fa7e3df673b922672b38b4a3750af52b2e56f46a293d2301edf675a87c40637fa24ff5de154a43f0bf38b907403487346618150454a15be8935547faf98945cf4502f7649b7fb6993be0d924ba7e87e5c44373d6a05774e1f29b0405671ec2d2912145352a9f45d41c46d625518ce670cea41617a3a074385e691abd1d9156a1d614d5fb54f097d82d80c614b6b92cfc8bbf18ecd7c70d5e7049d93d1e01d3208d0df28de97dd2f92b2384b83a3414fd99c8754c10b9e5dd1be2056f367ff898dec986d36884b48e0487aa87651128106a3085ec747b37f462bcf65f40a63d5ef3e7f7cceecdee0471af487ef9a024980f7d83f5964932f413bab5da896195fea92a65bb5e08a7a9bd68e57b2e1444310b9ef9f9b1b0772aea0435d832578761abacc584d3588cdec05e37241fdd2de96b2b67eb007b4e5f9d4ef2a8742af5235a45147c3cab7323fd344569e919373f12bd5554e858d3c3b21c295a1d79c4a4fb2a7b79f3ab4817fe0416134b576cce565e369d8770ed9c2924f8be0dfa9dd680fe77af006c4499b2cf442c3a8c83284915263e978a0343afd905502056046dc7ab6773c132468e7578f4cfde095720b8e785a720e4bc40228f788b0f27669314a5f931b46bd7903017f8e10890fe23b330b2f9651075346d3114f7bd0563a61aa2b540a0abd34d4772278bec85e703c9d214d3cb2b767c686f94e8433cfbe3fab6a77d952576510c5cc764230fd772df1fee062380a787e5e1da520a88c3e08b7c330d28d614ff959b861ecc7795fe87c22712ae536609e6bee407518e19d641c5b653da09e59b8800e89d17848545190aad2538d869bd717dbd8356a67798d9ec5e38da75c9caf09b6ab547b3941643edf2f02e64254d50e36362c41616048da6c425bf9318c40ad18669821964ec7cbd2b8714e8f5dc27626caff71a47bf64d476ce899f18c24556f7820202b9b3fc5f4e77ac5be8c1bd2e3492682645389b4b359578edf64a5a823571c07547829153e647579c44813fa75b8937cd5797249dd5803ee0386f9cab266917789d973c3c989dff5e0de1a65817d238899a57e9e48eb67c3d0321d4dee57cc778c5525bf8f542e90828a8b72085cd25067411b57e1a7d11a4f67da559757ad36fbb9f6f3c55cf6723acf5d58348dc055fce03fd929925ba3f6e40db6df8f0358c8a335945849649d783b52b0006124cf4042c3f16a854dd4a7672206614e215921735710d162219312c171da4b7649882772eb6ac18293790f8a6ad0eb8a98988789622911a626f368e825d45f92441e6949bc1b3e57a98a2136eda230713b4b6c6175aa129315646973336e21535ebbb8b8a549687da77a9c603751abd14723da67adc45dd8ecffb37995aabce4d743db9059e992aa435f87ebf2069785b20d1282e032f87ec90a5977b5b6eb7ce5e14e76816f6d8aa2a99d88a41cda754a8eed7955bdc677bda57b7c9308d8853619ea8795f972807be4487ad3c6ba8177c1897f6ea77077cd107d7b0c6eb9775068bd82b5994983546a8b789ca4fc7e30fe328a23afde89fc09b97d0dc4b878a796bc885f381176c0dedd7c3009868708763778074f1483b056e47b2d2e6f775e060d80613be47905e3c28197a2b2867f2087840da05978d324ca77d0d2c3838b448282d320027d0815b57a46e25386e546797aea5eba75c4748a77a68fe6769eb2d488d27ee978dcf669752152f679d5d4447e23d3767a076168784a958b79e1e6cb7e174abe7e0952b07a7e773b7e902dfe83891d937b603f948047799278c0e56181423661814ddcad7e50682c7bd2708e8791bd117bd3ad5d764ab9e9851e6116883d29db86051203825f38767ecf081c7edad64780ccc1007a419fa88156cbfb8877f0068a366cf17ab74967805410d1775c0ec084f283567a15ff0480a7bab185479db782a0e0027c86b9e58487498f89cbd316877cf25b801767548ac2714878a7a81c89caa1d885c0633589a0289b7edbef3e82b44ae88619e8d979c7e36585e1ac7d81e3dea681258e21841709f6844a668580588df77ba9ec97766b4321899d7c8f84f0b64b880840f485a1533d851767a57d4a544c83b06ffa7dc8b02f8747de5c7fbfcc1387f25f5a8a96d15289712fee8898a5408dfef27fb1fe337a96b4d9119e22eb87a7befdb497371c3793e2cc0aac6839ae8fdf2214934812e67a0fae55765e185b83fc9293793110d187dcce0e868708c67c2d76639bf921f880fcbef0956f67119f67b9559a35d5fb9b7c1ecc997a8cb6b78d5cf38c291b8a8b95baa28623c1f77ac0c1d18300ec467e9c6e94869bba197d07b41b8215ed717c33a3518a2a69078e6c91f6ad16430393da5506a55aa5d0037315fafc42ea2304936366d8c6a231a413a65288914a4878fdecb7772cc2ad83e9a63a83e6830079d593e17e3d6ab47b4116c192d8e6c68cfe19c9af3ec9c39005755d013a19f177bd9ea67a4d820f7a4e487c042afd998ae5808088048d1c7cc641628a98e6237ed84a2e7b4c74f67ceebe667d388172975a9ae8afa684c0785fc93092ba7ee176bb07db75b140997b504ba975669b2c865791fb8b03a2327b42ee2879af368c80edb7ac827a8a198220b7b9783bfb7779379079828ed03eb60c7aed938ef44a98ff16557824090280d15731762a53287703a3b77fe63bd287bed734819a8f2080aac48c8253cc6a75084b27795ed0db7599b7f18705651188868021a7a69f5eb33e38d97dc4fd1985411d5076c1516a76d8de15829ba8e8861fdc0f88aa783f7b9aac607cc4b52478d9b68f7d03c7a57974203779ea94e0764e1d8f9d8ac846a5eb023c84085245853201b782e10ac287e06f07774edcdb8465e7e67b4f201381f6363f8327e4cc7f49584576e49dec82aad62b849a18e57ddab9dfa1dfa972a6a2b7127f6d3b3278c7a2f881f0af98824535538250c2998900cf9b88288d2778e3a5a29607b80c8af1e1f989ebb4ae7dd81bfe750a478a76390a5b7b16d7b9993e2d42cf578d667a5a367b78e9f23b7b6d993680088c68756815f1891602298a214723abf3ed7f8f93785d8a60b62d7f9eb218890b14197c055eff793efab48717d3f3b1cef2697a0b0daf7db98d5c89fd22457b7ea64a823c2d0d7cbbea0f763d9900fbcd7c0993dd268a901da4f37cdd3adc772d0a257608a94f6af2ecfe8990c841a548ad0f0355bd0b81c8cd508356dde386276d8987e4c8a17eae24597cac2c9685aa9cc780e78af9a7128b35a7e9e43f76e95770804540f4893590636813988480ba2f139c9f0c55cf83ba19860744d489391892880cfe0388f03fa186e898e57bdd04e379cba8b8fab785aa7d307981941cf013891e2b397be66ac778effb7b751ce013894acb3e846196ee03de219d897ead1781e16f55890797767732717b7de9e02981710be977bbb463fcf62c2695d6343a977160de77eb897f7530e5f883ab1320711d583f8542c6327aa93f847c26e8ae8708649b7e8188db85b068b58886efc983bb205d897fa99c8468f85ef91cde28a52f53e29aed1c0d7f8d8119889b02c485d946ab664e23bf880482d580c720ae03112885d3da3ef5804946a079c54cd5818cf8d489cd3b628376f4f882b02727872cc97d22c71cbb9c815fe9843299d185b9f9268620db128aaa5432880e540f7cb833b28a1d5a6dd08ba32078d731a87a3e5420770bf03f8511f95e7a99760a8607a9747f5599b1fab4e9db81987a0e879b025b7c8d6f6978d1bc797d09ed717cc600de87c2131b8498b4da03fa05068478a4b287491ec17eaf7e0c897045e87ea6f48782d212087c4ae8261d0f6f8a88c0755084709f6979ab8ade7818d3fd752beacb841a37c8786bccc77c149311847b83808ad929b8893b3819847bd2c27b19348181d8928287ace0be81a2481c1b8b644980cf780f771cc794839d461e7a85872d8038e63b7e25abcd8744d4f87b76233aa0aa52ebd7dcf395882d352a8351529c88f9ed62882f1b3d8a2e67d87b6dfe6bf8af405a83b1c9a7781e89ca76b46e807b4dd55f83761f5e88a1414e8af230b1851248a69d78bd977f239dc87a30b68d7f59940889c67e1177fd92fd861dee88864cb1591be244838471e77587929508875f678889cfd22b885a6c6081052f387e616a7a95bd77bbb1b62c138a067367797a4de184bef4d981d4d4f285ee3ca07ddad63c7a8003257fe6a788793612258267cd397e8529538850e641762ba213796a18c57ed784b7a52fd508a5ff20d6869efabf75d4df5f8a0e37078a9a432585d194c478d9b3b2786337658a8ca57d878c9eac7a19cf377e01f38482fee8c97926b98085796ae89e949cc590dc73e87d162af77c02e8088786b96a808534d2869636ba7c3117c086a46f587ac74f0e7ad36cd0806677b183ef845e870b1448822f4aa087dbd2be7aca2314810d587d869815da803de1e7855f800b850d17f47e7a1e32f90724a69a3f96087f43ea127b6a182a7bfd348b830732597c4f97457bcdbd9182687a998096417287ac455787b3a8cc8246a11e03b6260486f3a3837effe43b89e505de9b95289f9334b3ab840b670f7df76c63884d12b084dc574579ebb4018104286881d85c12861f1510767af346872d88fb86b01c9176e2bb40dccaa58cfa8517f60409c52a9ecaebf394ed2204a1499d827e71164f818c8ce57bf993528a8dff547c5a128f78fdab6e8acf492e82caa1737939ff837903492c9e15b105837ccb6c96d364cea13718beab45cc63a4dbb267872ee9ba80433d0f89b982877b7aa0437c178bc57cc9db49812ee96d839b96ec7f3087a979a9fe4f8942f577a8b8aa46a5009723940ef30e8fdd242eaf54b30298a5b8d579ef96f8844b5bf77d5e8fd989c2dd558aa5f488833c105b7734aa5889366c7f787df91d806ecb87859e787d9079ff13a63b6b2a8b01851c8c0015a1a35783748ad81b147ec9a56b894303be88adf98775b82cea775b4f787ba9ec7675b3313d7e4d8de588bcf81d8969f4238d5e69be94a58fecaa4121839ae315a69706ddf68a3c56d97b031a4487a743597a04bca87a08df6284aa30628a2da15488948dab86f283667e2ded9e895a7ef0864a1ece89683dfe7946884da33af14bac9579888c54d36097cbe562899b6efe818e3cda7c6f139b800d6a0c842c6fd87c625ffc79621e5084fe4da9803ad79080c31a237694b56d762587fe7576d051879db28578da6af183a7ba867b838b1388eb4f7384144be37e35e7437bd647c37642b8047bac91fd8509359281e07abc84e38bcd7b2ef4177e16d7e4829677b57b6a3c1c86ffaeea7554a4c381e629cd76f4b5647af3c05781599421804f32568846ba047bf5f23485aa42797d24c8e1823a8f7d7ef5c3137cb9f9f17d9b79c5771320817ec486607559163f8aad94d487d96a8478604ae689faf40f884899338a71ca6f8052b3ca7934c7b279ef72b6833c2dcf87157d32833183f87e41530f850d5f2f7f6271647a08dfcc76e52240864fd8967f99ff6c81e8509d75436ca985506f117690e56b82115360820063ec842f79887b035b9e81b91d167da253ea76c2179082a27e977eeebe1482cc8030886afb707ce3c56a868b4f457870aa77776ea76c77fd1b65780504aa7812bf8d87f5700f7f4a42167a2d9aa485e8eba27a02a7f98750398e754c7f1c887ba3f17f01a0b27dcbba247c8da525856b67a37ac57b168437f122843eef50897e485d7de3cc4683d97ca77da1c35f7b1e65eb79f4b56a88bc1597889e305e7b62cb8975661d3d7e1b6dd27fe8bc4079c2f3808adaa7f8865c81887f9797c6852b613681a2003e7ca021df7d2683247de48b3d806d107e75b2c9a0758575197e3457fb84c129f88193ae7b80eb7e668391225c87e994eb86a62a357d2003e5822c5d6989eb3d3d89e4e5fb82447a8c7eab8af6799e71b775277fe87aca187d82215976893f7f4277bcbb3d7aeab82e82a4b01789650b0179d29442896852507cef31227c8015c47a1ebf568a159a7d7d797c5080c1995f7b5cdfcf7e7743fc81c01b817e6dfeb0770e1e5479b355ae7be5cf2d8905addf7b8d5d8e83f57b35834e903f77ed5de57da439b5794eca49779e6a8d7f03743b88c0da998279b2597da81b237ca9466478589160773815fa845326708352a80576e0dfed75c23b5d863773717622b332872989b17f3d4d2a786f7f6586858e6981eb61547e87ae438220d4b781ca47f88066367f77171f6a88bd47c281d086d77c69edcb7881ed067b7a423b84e9e73d85d3a99788c01bc985b61e8d76b1b04178483ff5807d0b4b7ddf077f82ea658b811eb49c8866adfa7e3dc41d861bf6b97b1da66c8463379688ba6c5778bf607b82eed76178484af37837732a8261abaf7cfe95a67f144ba6784c62e087cae92979238bb68159c3217f4d16e97d58695287eda5f579b737557e8a4804765d5d4888738cf9790689308957215e8069a5c6889500347e88bc947e6cb65577c719ef8680d45c7d6f8aef86feb97182e5059a7b7b08898a5ff7cc7ae2be8b81c89ebd89ad77c57532305b85370ef17ad5c9d68482fba7880ffdf18283140b8a546afd7f4809617e5e7dd8788e9a0c83ce42227ada17358838520b785fcca87d83ccb57e3cec797c81ed177d3797b3796f6d557c59827e879f99c49d4094599d8f2e11a25021b88741121578fcf0f187ab6d9d86fe9540800201cb80da5f0f8072dce8867182408610c3e687b517098405940177a3c62f87a11de7a140c6518b772ffe90d0ff517a6337bc7a4731e884f009e481c9ff5d7e10aaaf85640f837a9ddae585f677827570a3df88fd176c7fb821e581e3141a880da01185b9c74d91a8d0adb5a830b98a98d596854b503a7f71f93979f199b87b576d82856732b6802081e17513731f86aa71de7bab9c0b7b9504b77dd33dc588c3081d8711a6d69ce9d132b70f581690eeb4c387ef1f3f891488ff850c6ad17f65c33c83fb556d7a7593da766c6ea289b8f2d4773175507ff665ba7b1b1a07889b55d5872eb3a3ad2635c08f9e5cb1abf8cd4880b438bd8207fc1880c7852a825ff03b799761ba7d45ff6e83f3c032836bd33c88f9528b7842413a8acd5f41791241c6797e00768626b90a94288aa1a5666113b2936c9e8674c93378bd4b018435dcbc896f86f58183f0878944c2787e8bc6a3800e95f28030ab2f84eff0738796e3f086a3bb4a787ab2db8e8605e8029dba41fc0fec099202a3146465e9e48541ca737910aaee828218f280c17cd777ba82bb7f86543685b164ef7c2ba9438786dd3a8a7b507f0163f5d885402166773f8ac7876b9d607ce33c1c7e19b2be8724cf6d7c03e4fc8980c2947b38276678a01a957f5b20d979fbb3b980449eb677a3f51a7f85875e977409adb1d85985923d3d9285a373648968b7367a99c2bf777a4d5e8bec6933b49ebb36866d3b2a857b913e801439228606bf4879af072c7846471082c4eb50792a9bacd048f7eaaf50a4298c43f866892c81747939ed307b3117b0807c33b579b10ac6ab76fefd84ed4008863e54757ee60c6c84d8e57b7d6f137d7befe98b81fc80327e5272b490077466a3fa75cc7bd93f9b809600d4816a061682318eb88537eacc9f21a31596839c47862c81877795452d83768f2486d13aef84288d59805cf1fc7da8802b7d5c2bd79efe2c8a7ba4035a8adce0c37c9689f17f1addd17ffb0d3d76923ba99a5f20aa87138ca276bc035f79cd58d37a36caff7de1d482802d1158980da6d278e6c8b2b0243f45784809ef7ebfcca47fc88c2e7670912e824b6d88813c80618ac0073991fe161885080abf80bf4366782a53be7d00c88f7c081ca67d279ca488d6e2fc838529d8da6786987e49e16a8672369b85ea9bab7632300484fc094a834564e5821320058750819d787050477ac7c6fc85a97c4c77ce05b385d731aa81ec7a6b7b21116d9f402da080b61ed37b640f807b9557458322ba2980bf02c67f26cbf57f844a31f92599597dcabe038254c80a7c11f9247eda30877de65f277dacaa7c751e2fb2862d35b4d8ab39677e7c740f822d9a4b8286fa6d88fb38668752b38b8981ac3286cae9891c02f27487ab62bb7a1fbbd7830cdae57b0009c67d972b7b7f732b0b8a8c270a7926b9557e26b965778754407bdb421988008793830761d8810386eb891e616e7dcdfeb21daf446f7f4d284f88033e8284a97cc4898d76f6794403cf75b181cc8384b694886398b385b1ed06868003e785b80f6c789337238259b1cf8602d2ab82d17b4076c8df6b76b19eec7db223cb7af598fb8416b355867f0e5387afea5e8336d12c79d8f7827d10ceb685f72b9b76943ec675625f6c7b8ed07d7bf0e51289590b7789512ae7f942a87d193bc3b7860cfe8b756a23c6798e6bac77e4c1b776f9a53082692e80857c69bd0294a0e67cb08c0388f86fa6869b434e7c16188e8164bc08860b8beb8269e2dd7fec151e79bc9e1880227d888822e976806f499c7e152e227e8bf5fe7c00c82481e898fade846be38140e0277b84f7417c4f07417e06246179c3130784a5407a7d9868321b0570a17582be397afa231e825cc2eb795e065278485135838804da8666c69177ecf1107f5355087c41e7a28673c63484afc6d57e43856c7d52fb6b813af4d0844c1f6f76d44f8783c1e17f7db42da482acf24e771cfd3281b546ac7526d60b8748fe1f983c79bc753462cc825ed78578bda51c8887083f82eb0eeb84495f067e0fe4491cabd286868a4831815475fd818f38ea777403c98871e7ef7ea3c6678512d81d865d110f8c34698d7554afad851fcdd8810c87aa7b7576bd87b58e8d783051d57750323d8688983780655e137f06774080977ead773b79897760af1f7ab713d97c320134a58490f57fc391ec771c748778eeed3a83d8e5cd7b0c1b317650397e751e2d439514250f8869f46e7e32011f7b923bd47f1415e87cca2ae676abd23088e0933786f3370faf90fc5c7a11700077b044bb7d6b67398893c04976bb6ce7844caacb8e90150b8a47387d87a7267a8092e8f383250cb87f92304877e0684c79be2311806aa14e90e6c4b184e8d9447a36415e7e985d2b781cce728a5505d084eb7edd94a0c6317d564da07d912216873720188445ffa3887be4cc850b4ac98349c4fd77b0035ab57743148037b193853c104580ad82d77514159f7eb4c19d8ad4e6aaa8f7030ab738f7d0840fe4f07f92831f80181bbd80af198a8857912a874cc3538aa3a9b184886909a28f67ac8db04c29208044f37b744b1d85543f9976bb1265857df9789baf534c97fb418d816624f780bb2b107f3e951479f5987581800a257985c88e7e6c757b7600a4c1a0b45b9c9448f01495730fb57c8b73cf849c925379f7070f94c5f476aef6b56c92385d8c87d66b3c89f469477c88869387e26060883f981786026df37e2a19ef88f051149ed7d571ab211d0696fa4b4c925b06cdf90b12b2acea4cd994d5f38fa9096b1baa1006b2833d1705846fd93c7608d46e834a25df80a5acbf794cb5a77e37326d8a1b3e6a75d1efd3932d0e509fdb5a679bdeb55f839591fa9214bbeeb30790b58de9e509994ae8207b4929a68874c20377692e2b81b23c58827e0750779f499b816087c97dc582d977e65fd27dfad0327dae652276a0e4e380c964e3814df92e81d70d058694216f790b798d810e953b86987a5c76f1631e7a3199107cecbb598a1b5000879416c67a433d1e807fa9d0788b7e6b7d6b1f6b80f450b3784ad6cb7e7f3d7789b09e05783ff6838450b7a67c10fd09819ea75b84483429889117d079eb12ff7a64ce877e86dd3a7e44c2e576c4e4c78992dd2184b41b1083ad8de681a2659884516b99797ea68b8a7c3a96812140577d7050d186273ea2868625a48003f62486497c2d88cde11c82c797597a68273a86fda03f7a72d19a8025cf8e85c3e48a868b3d3c8216a1b67b863b8c7b9eb9ee81410b977d9bde3c7bcb1f817ad4cd4283a743b689f40f92893852d2824564128963b528848678487e4cd9178a6b7933817714a683b4a4d1794593ff83b695d47e01c4fa7facb56682ef67a086e7080681fb67627f9dcf917c8438338385bd647cffdd427886d68784084b84788f721284ccc1ae804a8a5f76b0731179ec61a875d319af7742add57f49588b781ff5878382a1be75ad9fc286be0da075eab1bf8001057f821ebf5179a17bce7f95c3768523d345893eef997f9803a383b5587d7ea65984813428377ccb4377750e1eb88273b48686eb199e7d47431b837e5a8c76a2000e8217f7a989b529a2871d00c0889cab9b8092fa3982b886b4760832407b0732107918d3578636b48d81ad9fce7f8b4f658a51ac688904d5e378be8fcd7758862e7960512d88e2602684f06ed37ad84ad7875f38518621ac3d84c5f94f83c105c17efc6e887f88864f8349f38381003f2e7a1c0f90805953987e2d11df7a75b7c276c87a1d7633d23b83f3c07b7f271a99754485fd89ae19697fcf49c475db428f75355e16875ac6f27f986fb77704451081b5ab4f8199c9fb85ddd5ff815bcdc98699d0da7e40aa8478d7a8217de64da08891b21a7b6a4e477f162aa184ef848f7963e4ae7f55b2747ee8aae78113973e85bc15dd7d10eb9576c3541b853c511277f7e38d8129ee7c8277de3d8425f39989f3ae567b08c297791d942b7743eacb864c9f9581eaee987a2bfc8e89b6255189a1a604884780c6894f322383d6c503779d874487740ab27a1987977ecd05c47d9e42d37e9582c97e93a3827a8b07197b60807e88ec27cb89c33ed2779cf7a38491b29d87e8ce317c7606967c1cbc427ff2a0a4895ca50c84099aba75434fd6808ec5db790bbae582d59a267b2193377c198e02882392d9786ce58185cd223a764444b782d5ed938493f6fa88497cbb88a547368407df8277524747800ac52479c3ef9379b7ef637d0a7d448ae505fb85d2000b81f89e868a14eded78354c89764d69d6883a67ea761f730d7c1660c57e4b910c7f4265d77adf24907994d9e97d9790c1794b25d48978b6ca805ba2e27bc9e65c825d47877a0075ac86e4f7ef885260a5894e07c382873e7f7a765976775ddb657c9d6a5c867224b68795a61e8a8b32bc854df9c77e2bc6047b471f6c88dafa7576b252ba86dfb46f7752befd880ec0ba89b9c3e67b955e41806d104688ebeaee817da6207ebb5ae182a6f4a0802140548aa224798a7d8296828dffb27c268397866c75ac893ee4f184c092557816be177d6cf78b8489c31a7a8b90237e0af46883a3bb458803d91f7f9653b476079058880c6ad07ed731e88555f31a8873442379ff13398a14f8d9820ffd8f882093ef7c55feb27f2c15658a7e072788a4931b7b7afaf276a3bfcb7fe65f8b848b0e817c89f27c89ae2b6f7653721d7e3a842777da587b7e47a8b17d85eceb7e2451a7855fde4e78d14ceb786f37007e717006847899d67a8015b87736eefa797b3712870022057a8176d47c810a5b88fc1b51832ae3317c6844e189980a4f86a13a727f5a5a8779c873bb79335b6c7f58e0be819283c283f594d77c459a187c4f3dca88dac04689497cdb7571e07b76cc02387cb3de3e7e1d82c389e2b3d77e79e1c187681c76786295c77a50157483bd35367f2dbec389cbba5088dae83a7827781a7e48f7e084e31fb586c9359a77f83d0b7e02cb9a89ada61b7f89b1e87a67d88c7e6707427b99938e781946a582d18214818af57b892ff7ab7ee8989c83f05c297f6f49ac7b60c87b87f337348746433583d576bc75c06e6582276dbb7d4045f27f54ec7b8095e77f8111b8f19346d17daba9fa6da11cf467aa3859288f3cc3728b9eed0699dce1c498a94081abcc74dc93adc02d80a611e69689d47e76d8e5ef81f8df167bee356686fa47db8079296890fe180ca68ea14a8fd585aea5e57284b721d15690735e838c7fa9fc90139b619ebd8bbb885e595787155da79923dc97853e25f6867c169a89cd4d7d8155b2fb7ef283a7b6a01fc59039f30d8be3f2fcaa038f8c914e98bba90e3c390475cfe121366e6c9c95282d8c24ddfb76fcd3e8a12ce52f8a9e9c2b7dd731f887e5e10678796af378db30477dd29b5e91d6efb598e5c645a6c33d249705e638963a36d927ed7b3f7b468fde7fe61793872174c38c3c56c8806533e4946850c47de95ea0881d24437ecf66a68911ca7183257cf48036e333b14fed0a94b7f8369e40c24ab15e273afbf4242f7bc014267d0d46218697689281f3c0707d42369a96dd92ef8486a7e285868a19877702ab7e74c2ba75911089820964c58cc1bb5a8d0d6168ab7fe96395f8046584913b5e84dcbc9d7d691c4f781880ac7fa4270798fc66e48569596e7919b2f9850b92ac7fbf720d7f5d9a7475b3b304b5ae023e9c438c2ca7b54f16ae68e4fd8838b7e27e9bfb787efa2ae5838a890d7e50f8278074ddea87b8a32d8a8360f575be9a587cd02c0c7fb07aaf7fe7789076ac2c098d48130bb71a90919c94084e8ca2e23e82e93a1c8744d405766af43176f3135e8af881de871356c17b23c142a4336d307fe8ebea7646c51f7bbff01d762d648178ba9bac76c395cd88e8eb12057ce8bfdfa887df81df2b0b8a88218882fc269a7918b6a085ab2ca1813feb8f860249749eda88c17d924dfb855f5cae8124b6bd8722e96f79f4a3c37677f0507ba3a6290509290add8ea2a189b00a0c83699ad087dfcdd688bd35d082444b5381864d367773a2068d65335879d21dee7c9cd324817c45bd793abe9a874f689495c77f489a9d579b87bc5d58813cc8ad7b4385387c0e66b7818d118a7d66129b8af10519864c0458a4fb9f2586dd3a327a2bd82c8087913a76c34221860ecb6b77001bd794f5078d84332c2a7b60e553865d064881db78b57dc3e43185337fb481f4b58376b372c08951e20a857ead35856815ff87070e4e8afdc4007de575328529774a79921e897d22a158fa6e65bb79c5579677223ce77887ef4a8381acdc861a660d851bf6ad8548a4ac16a756c877f57b6a7858b56a879a0d6186631a0281c6bf6a87194d5c8932e4969bfa8ccbf9895f23810a3cf07f65286c78f45bbc7524f7aa84178bd07e3f08cf83d9ab8fa3c8e08576fc02a08a8bcd767df2d64f85af6114827e7ee886805d0476e6a01e83358240fc52a107896e9cf08443329d7538f1f7777befdb8471d5da79adc3ef7bb534d317d69949a6c15000822b97cf78ba65ae790bafbd89fd4d7388d731618871772b831631ba7fbe213a7d233828890a8baf80122b39868a89188a677a57843f5b4c7b895ef2f6a8600f8da00b8d7672a6f5894c7b4788a22bf5863b8bcd7b36eeae7cbc7aa388c0c8e27cb9b1a97f18a43e7ea4155487f1c4797fae5a397d739757783cdaa27b49bdd0b0f72f2684eba23585974f5582e0bbcd7f89f90d7b1d5eef7f7c0f586bc4f47e797fd19e1aa42fcf7d7b08a1832ad13d7c08f1da80f612927d6ea7ea825ba91582df3d60b877428d883129448aa6a1a8846f91f9772b61cd819ba8488817d32b85f3e4827b464e3d1ca62b8d86045e467d770d3e781c5064851cc3268677d3407e6ad78d8027eb5c9da485877c3964d1773c6e7f80b9287481069b7c7d71e72d768671e38039e2f47c8737c1849a065e82acc70280fddad8898f09ac893398c088fd17828828f2fa8ff3a7b978bddbfd891bbcce7cd8a43685f421b5879893427abe2a5d7697bf85825123907933e4917512ad6c7efe17e689528444878994ab7dd2121686a3203218f9ccfbb539f89d83848054883afbea7bea82be837a784089d74359823632c07c7fc62489ba9b2b86aacbd77b6fef3787ddf98777f641ef79bf6031824e12818604e00ca3a529537affef3e821e12c889d10b2787e00a2c7a784ac0764444d9838b73ee81f4aa2a97f456c188aa1e7d789f49e37e23558979e30dd37d36d11778d02c98aa1cca728171e797839ed69f840b094e7c2efbb8805fd3ff8517a4d181051d8582ceb2c3800cfe9eae3e68e2814702ba7e21befd811b7f9383e9b1567e24925198062adda32dbbb07f51d0827d6122a880e0f14c850dfa87893da07f8314d4a184ff784e83bc277b7d83883109d35d4a8746c5a0792c44ad75dae83c7b9eb9a0825c7a1b7a5d52ce8506078986a9466684c7fcf1898c81f8824fb4347dd606fd81d8a42c8af1053179539681856a7dcf8dd362e41904e8497e9462097bc026c016948e1b8652962278811c51853e421278d9878688614d6086cd29d0821c21a97c8adcec7c6d87147671ce407bac0f55806881268f947260a23b13310b5edfd2a1c0c7f8940b8d7877b8c70b775a94d57fa43916770c1b2089645e357d593a168549cf977be181487c77cc1386e845a07535f2b68cc3f93d8f3201b17ac14abc8a8e117eb15ff74f93059ec07cd0aa487e5ed0d4894d0bfc8508db8380e04b67780134877ff9a5b77605c37786ff0130841ad252763105e8a7cdf2757929c75685b799a78a41b690a64996109aa444b7781e368c7c151c1476b3433378a7557c7dc6249381bb4f0d7e01e8c384f2d645887c0fc07c865f978c4b78dd89d64e48a8f454d57ddbf32d96a030748c39814a86ace04b8015be4b7eb8fde777fb7df485a3973f81e1881f89a6ba96887bfded79b98d907d9993f17ac0a40595b5684078cf95c1a99852d1ac70f49fa4fb34fe9073a422856b26b07974203a7613ea107f83cc6088d6e2587dc16a4c80414cba885367f67e9707a4890619d8850c673880f670ad8be94c86962f2c84a966d482915be34883e82c40784062b17e5ee96e76f09d1b8650b0cc7b4784d3877a25967d8c441d7df761db7f97a93080897025826283207be7378684332cfd7e206f437a63498e87e99f8375b4f75189bf8b8b7be32af98687c08479b7aef885f88c6b7d8f846f7bb3e9da7fe558957f0009dc8643a96c7e9b148879dbc08a8215ff388aaa42dd7f4a5ff0811ff1f5818e06e47ac8cd4a86f6eeee82aa30b87abdf8cb8432542b87761f5d86f3b5f486b23c8077ee9ac2777d4ca1751ab2a078171f08853d0527878355ec8757913e781726a784ea9b1c7e45db0980bfba027771e0358258eb2e89aaa7b47f5db73d8a47802a7e321e8879cd346383673d8e7ac4b55884a2772188b2a1717e6976c180ae9b567859579c761d69ee7556b9cb7c9bcc00847e071c82ac50d27a3433ac7948af2d881523bf894b91237b1a1e3c852750dc82ee23dc7840452f7e8cb0057b6d34a688a7f0a275f08be77df90aca76059f577c7397527c7d94e488f744fb83783fed85d5939b8708c94688cfb55b87f8686577fd51968287f6f77f337fbe86165543771acbf4779a06947deba203803e013b8a49172984a08d288449cf7d851a308c8172891783a59ab7898231ee7b1d704d848613c57ef62f6b81dcfd4f8026b9d276339c607d0b676a83f0d3d784e1acfc795372c67f94212d875410a28113cda37a1ad69d85a7d3d47ab6e8107627012f8823792085b2c5b689fe4230843eaee281838b5c7c92a70687ec03157bee18507a9a351d8019295b81ca605a7d1004fa819dab4179e63b4178def95b83a56493860e428676c7480081dc339c7f00feb180301bc287f90a0378d8c1e17a6993787ebc03b389350030881cb133894851ac754fe3c9757a3bce77bb5ac287ec6f8c823ae93f7c3e78068122c5217cfa0680878cf8e678ead59586af858e76f8fc64824caa7889d3a99581f55e177d90c1ee85430ef689c81cb975e0b45e7ef2e8f1820350b67a2d52c081925437839935b97f93ae69818a7e838367fc8384b5e10477daf33b87a7c180893f7f5b8100a4f081c6bf058280f88b85273e0b7f0f374584dcc70782d2891d7f00ab0b7f1e19ad813f50de75676c0f7db93a287f5e4e7583c117797af75a9e773e951688613b787bc217e47769ede279fc26547a405786859d4d487e9e54ac83ace08276357bf07c9d87be829271698a439ec77bef84018a124f4d88fbccb8778beaef890c879076ae2fe2885dff2a7aba41178a9b8b9689aacbe97de235658477559f819271118213ea9089aebfd081aead5a7ad987af758288d4891aef73819d8e8378a9c80579c0f0cc7805d523830a2a2c7b34aaa67d9c09937502cb4f8399110585a810cf7aa48c18812e3174836bd3ca81b4c8bf7ba55280851385bf7a23cc9c88e111248a3f7ff9836565b37b2886a389ad82808143d8d67b0fc02a7ded52378414f8ea85680a7c82021ef280d13ab77ecc26c478415e777595212b7637ea107fdf85e97da2d1d57877a85a8f054fd87817cc73785eacd181fd4d1e7ae8507c8608649675ab49ef753ed6a17d82594b8a75be6684e994417ed008b18982d7a68085346c75527dca7e4cfd827c925fb18a26fb9c7d83969e80d5c962781e2426808f9d187f1c7b6b81bd23737d36ad907c5ccd9b88c213bc7a2044cb7da30eb3848296f97a858edc7e66f5c1804dca5c97e631ac8383d3e9924d704e7be766177fc283e37e0940a081f5c3a577effb0f78d128dc7ef283a3849ff6ac768db7d7864141ba88f4fd0f85ae908783c86fdf7aea1d9976c06eac76d5395c7bff787578c2e8a180a0864e7b18d3047f8188748722b30178ddbcf278d68f468626d2a6818176b87618c81588a141c77d688c5799bc773b7706b86a762f8fd0795bd82a762766388564453c856c63237a9993867c28980d81e372fd82d659ef7c1d1de3817f0e7e7dd36cf77e48e5af80200a027c2b7ea4805127f67540e4ce77fd0900783fae4978ff664c801c57cb775701257d12f56581c313ff8387e42676cdc80a7e0541767dcfefb37c209eec7ab27d24874b3e52908b18f993d8534d932c7e948a6a2a6a81bce6f381587bb77d9feff67ebd766a7e14d49a88bf55a3791535c2888326787a68a97579943e53898613d986d8a4c189c1bdcc85633e9d80a826da754c1a851dfd44aef8d62ba41e5d0958f764995a18c37b007fb563ce7f82183f7a42d1b57d7f0edb788f604c89a6c53f83c6f508863d712182a796a8b87bfc419c5c4d928c461498b3c64e467df0f00577cbb3bd7cf9b0af84652f06779b180e7630af657d3e83c487f88c648321596d777838ed8534b14086f6483682494d52a54b994fb14cdf889674ed6fe45cd01677fac9c77cdae8f77eb63b028737324d82d2775d7bfb0d5d7ce1a574786c8be787446fbe7dd4cdba808b3d3e7f6f081176c736929aec6cdb931c365da2f60b657a63e42f894e61fd7ffa064277e70c1080eba22c7eaff558792e18c983a481be75246e828625a70d7787dd30804b1a267b30c8b7907cb36899915363b8a8da7c832c2e1c881eeaeb78400f5279d4a987769820c27d35d5827d56787d7d35e7d0838aee81787bf6f485b379f08946ba9e85f36d258811ad0cb5713fe3b036c48f803b9dee809a182a7ef8bbb47a816fa786238b207b02837b866815257d73f59f7c2c27247a456f3f8a7df9bd7a65d5ae7c446817839bde42b42288a1ae2704c77caf078d7b2ee94780d796e57625ec0d828d2e037ae850fb8070577a87aa8a7f88b9a6d080448c2a77e563cc89ce9c0e79f6a63779b5abe08996362dab3a1b5295f3a0c788b0816586d5b7c7830c990c78718d2d7ab1520c7945c9ee76279178835aadc77e936d187b67e3087a32c44e7ec7d1317758fd8d7c7db13a9d7462d78fddc781813ad7a88792a79383b4fea2758dc2c989eb612b78cda49f880c754177d7a15284f6e3418453794d7fe8624288e2fbbb792480f88789534188638656a9a84e11e2c2212b82fac52c83c91c0177bc320c81463c8a83a6d73f848fa8f3827ef5c586fee8e884bae36783cb26f87d28fd03897ee3f78490229887bbc6f09981c9e595298684870f9102839f9c44890022577c7403908286427e86c83960881696aa8591a06683b7b5f18627b56288c3c7a28517f01f898dbed87729f9d37fd8d3af9a36f8527b9f8ac97fa81b897950df3377dc74ff7d172686884b2c5e7ce34ea786a10be987fb8b28814606588577141781d0ceb5780080dc7b35b8089af50605a632ae6380b113b9841f448b7c53af8e82629c8e7b6d462c84b529f8853fa33e81f3541a7d5da56888347b008ad8f76f797a7175779db675760aa19a88e6fa9187b1590baab17eb086d71fb08185b2638ab04017856421707e37d805881cb15d88724ffa759038b588f69ba18984bddd7b47cc747938328d8319a72d7e1ae8ad862912c98eb6d158a54eb704887212bc76e02002850249b477f2f3da80020c547fa9222488c3b52c7c5b7edd815e06c4897fd88d7b30ecaf79f2faae8243c6a888761f9395281ded91edd4141ed0d5b978f28ecf8091ab527827aee97c6e424082b75bd187f7195d7c9a7df67ac230ce8419a0958948fe517f51c93877cbd7fe7fec03fd81652fc6882e1c87996f89b81c7afb5c7a5f31277e51b72685560c9a7f80e6cf7a86cbcc7cb64d1778f2c4f377c4eb0b83f3ae66890e01a978324d7d80597000884858f28894e06b6e7f37fc75b98dd887eae34880108d7b877db89d7722e2de869b79b580e99f9e822fd347852df4697514cd9d7fe032f18769db56862380f97f929572899eaeb77bb3670d85bded4318a4fda9827219bb87696b6f79f05cbd858a7e6d8901e84b76f7a2c97cda5fd17fbc7a1e8244d4ec8081234387b7494478ca6b05859607b68926aee289951d3d82e6b2a1769dab9f826582fa75eac33276de3abf77bf1f7a824bd2867eee2a257e93912887daa739834ffce37db83364850947b6875cd437897c1d8d7fa90cc4855ef0627bc0e5568409ac0d7fea82ce85b07afd7eff01eb78a8802189e84568772ccd0c80b2060e7fc271587d5343288876315283a33df2894dad79822b0e6e80b9b1dca037593b873416db7a3e4db47f87d20c89e8ce2aaf8d2b4d87b39d3f7908f86678bf43fe821016298197ea5188eadc098aeff09e7b3ee8858894b85f7d11b12c782ef4e396200a39180823cc7dd0a3477c6ad73278c7c6d4ee5bf2d17fcd6a4382b4c84583ab5b6581b8d90a7d0d46737e1dd5007aa0083076bdf83a7b62a7228138a59679ac983ba1759f3791f434af93ec47b7156889baedb06e6a8c964b139ff953427a3de10f7917afb4882cc93682cec40c7da128338a331abb76fc26618946cc1588e546a6877ff118a6a39c919a6e8d7598e435f3adadf59f9050ddb694d615", + "proof": { + "index": 1, + "siblings": [ + "115442b51b4a9bbee6b298a35e3acf1fbb2b2b0e347084651f028828bc4cf414" + ] + } + } + ] + }, + "job_v3r_no_hop_served": { + "kind": "job", + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-6005\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":false,\"delivered\":{\"count\":0,\"root\":\"0000000000000000000000000000000000000000000000000000000000000000\"},\"end\":1793000002000000,\"endpoint\":\"im.alpha\",\"error\":\"server_error\",\"hop\":1,\"not_billed\":\"failed\",\"outcome\":\"failed\",\"receipt\":\"sha256:65229de72dbbb1db92216491080d0860dcb26f9a064253c1c6f2f3ec5a0cdfb6\",\"start\":1793000000001000},{\"billed\":false,\"delivered\":{\"count\":0,\"root\":\"0000000000000000000000000000000000000000000000000000000000000000\"},\"end\":1793000003000000,\"endpoint\":\"im.eta\",\"error\":\"server_error\",\"hop\":2,\"not_billed\":\"failed\",\"outcome\":\"failed\",\"receipt\":\"sha256:9f9485faab81b4b17e3652e8ff1ec76cb6df3a4926438addf93b2f1433fe92ea\",\"start\":1793000002000100},{\"billed\":false,\"delivered\":{\"count\":0,\"root\":\"0000000000000000000000000000000000000000000000000000000000000000\"},\"end\":1793000004000000,\"endpoint\":\"im.iota\",\"error\":\"server_error\",\"hop\":3,\"not_billed\":\"failed\",\"outcome\":\"failed\",\"receipt\":\"sha256:fbb6e68e4c136d5672c17f93fc1227891f760341e9256372b3cf306dc456e67a\",\"start\":1793000003000100}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-6005\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"f8a23cf087317cb9996a0ebd3eb3683196d21f8324666f807adf77a05382ba40\",\"sig\":\"c530d7ded725de0885afadaf37dd0756bdd077865900bac9ea6e6d72b82032a29f48498d77f324e2711ab23fa84997c5d6e6c93ebef84a9e8dc120059d246704\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:65229de72dbbb1db92216491080d0860dcb26f9a064253c1c6f2f3ec5a0cdfb6\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:4ca0652809f267aa1c9200f05a8ad12c6fa2059b3f9cbdafdf1f1f17b803bb73\"],\"output\":\"\"},\"work\":{\"status\":-1,\"outcome\":\"failed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"1.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"1.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:6518582878be257d2293e254f0ade6209fa70e6bd5f11d6d0d64f3d8dcca31ec\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"8af401302c75c7ca37c0a2a4fd2379147cd5beaa74d3f6ecad6eb70f8666159b7a4e65c70580552b67bd08bbe1b923f475f05665b8d6f16d3948acc083380202\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}", + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:9f9485faab81b4b17e3652e8ff1ec76cb6df3a4926438addf93b2f1433fe92ea\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:9fad4bdc38d8b8409b2456e8576b26a7baa22091cde89b5f2c741628ece3fa1e\"],\"output\":\"\"},\"work\":{\"status\":-1,\"outcome\":\"failed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":null,\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":null,\"movement_j\":null,\"idle_alloc_j\":null,\"shared_alloc_j\":null,\"upstream_j\":null},\"method\":\"unmetered\",\"temperature_k\":\"300\"},\"provenance\":{\"how\":\"projected\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"projected\",\"input\":\"im.eta\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:5e9436b975818c62a1e382bf9ad86a0f7702d286e448833e7173dcf21f9aec54\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"b5ce5884f3785cd74c66026ffbbf26cc675e025cc55454ad9bec5d585c9cb825022daeb09b8cf5181adb482770c0093e9cfceecfcc6a1cdb6093c8a783639203\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}", + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:fbb6e68e4c136d5672c17f93fc1227891f760341e9256372b3cf306dc456e67a\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:81c0c6258f2070e599b466357d80227340a46c84a73a53147693314a114fecda\"],\"output\":\"\"},\"work\":{\"status\":-1,\"outcome\":\"failed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"0.75\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"0.75\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.iota\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:bdd605f1717d64c029bf43fe3cda09fa58af9d5828d885a0069dcddda1b5a429\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"ad50e74f71b204e2caa0a413bc3ad07b9e3484af41fcf30426b6e2ac601ac1e6212fe175d49f34fccf1c1eace2610e5356f4799a21b71f2f0cf1461f8a889f04\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "receipt": "{\"profile\":\"wai.video.int_motion/receipt\",\"codestream_hash\":\"277865b574029f700f4fac023de3ab06ae598ee6f8ed726444e91442a6bd59e9\",\"clip_hash\":\"3492566e8e2682e3b3bac083b4db02ef8eba9a7f15d9faf0e27feee0f6eb488c\",\"h\":48,\"w\":48,\"frames\":[\"e1d8e8f8b5c534be1421e5858ed9137808ddb849bdff2bf397beb32568d8eb69\",\"ae7214babf5bbd6ec279434740f3271be43d2392b8167813fa557b5c4426fa14\",\"b3ef86db27b82d303bc6b612cb224ad55259b4f2e2c0461c74dcce188cd64b99\",\"3906f91010bf1b9ca14f6e2ac9b499589ac02ff4465e1d9764a22443a8b29c22\",\"bedb1538c2071d705d2d3ab2df2c569ffed440278494649f9bf1ec881561c519\"],\"merkle_root\":\"0f3fe4aa201c275c10289c22f31e7211b555627b33a251bbe33d094abada6508\",\"work_pixel_ops\":34560,\"joules_micro\":0,\"uj_per_kilopixel_op\":null,\"energy_provenance\":null,\"parent_receipt_hash\":null,\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"signer_id\":\"did:example:sink/job-6005\",\"sig\":\"ba0f2cf354c22d7701a0076cfbff92b167fb8a67bfce08bf20d63c5aaae4d6ac5874cabea717f7f0e8f7b556f43e4c9aafbf40f8a569c030c36e31f28667160c\",\"receipt_hash\":\"6c840b3a48060a260c872dfdb76ef8e9bf279fdf8c0434c257f476b66900f0fa\"}", + "codestream": "57495631010100000500000030000000300000000800000006000000d5ffffff590000000000000004000000090000000f000000160000001e00000028000000330000004100000051000000640000007a00000094000000b3000000d8000000030100003601000073010000bb0100001002000074020000ea020000750300001a040000dd040000c3050000d2060000130800008e0900004e0b00005f0d0000d00f0000b21200001a160000201a0000e11e00007e240000202b0000f6320000383c00002747000012540000556300005c750000a38a0000aa9c0000edab0000d8b80000c7c3000009cd0000dfd4000081db00001ee10000dfe50000e5e900004ded00002ff00000a0f20000b1f4000071f60000ecf700002df900003cfa000022fb0000e5fb00008afc000015fd00008bfd0000effd000044fe00008cfe0000c9fe0000fcfe000027ff00004cff00006bff000085ff00009bff0000aeff0000beff0000ccff0000d7ff0000e1ff0000e9ff0000f0ff0000f6ff0000fbff0000ffff00000000010000000000feff0100ffff01000000000000000000000000000200fdfffbfffbfffcfffbfffdfffbff00000000000000000300fdfffbfffbfffbfffbfffcfffbfffffffbff000000000100fffffdfffbfffbfffbfffbfffbff00000000000000000000000000000000fcfffdfffbfffcff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0400fbff0400fcfffbff0100000000000000feff02000500fbfffbfffbfffbfffbfffdfffbff00000000ffff01000500fcfffefffbfffbfffbfffbfffbff000000000000000000000000fdfffbfffcfffbfffbfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fdff0200fcff0300000000000000000000000000fbfffcfffbfffbfffcfffbfffffffdff00000000000000000500fbfffbfffbfffbfffbfffffffbff00000000000000000300fefffdfffbfffbfffbfffbfffbff000000000000000000000000fdfffdfffcfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0200fbff0400ffff010000000000000000000300fefffbfffbfffbfffcff0100feff00000000000000000100fffffffffbfffbfffbfffbfffbff00000000000000000000000001000000fdfffcfffbfffbff74420000280b35593c000000a214bea9451501b9ad0cbdbd9a309164812c7ece531911d14717c3dbbc1d27782217989f7218f20d121d7bd4ca1f3eb3ef1f71131429e2d1f626c3e7ab249c33af4fe2d2c042a6d2222fb9b3c460c33836571567e55a40c90777634123135bfb8e1357858f0dfd6cd3316844ae2fdb041518b067b9167f09231b1d6f1c16b7df311ea6450d1ea29eed1ecc320c2b747de0206b34c82a708a2525b67967473d53e643c54f6f2f42e6355aaafd6534aabbdf5fe1a866406fac26314f6ad812ef006e0dd2c39e124439f5306ba6e0396f65ff1627ef771e0071f21b088eae1efd0a7d22d53ada205042fa23135ba627dfdecc3c473a7353bf1ea7435671e53209bdc9581998ef568e94f260c2af006595d31a5d0301d30b0e96f22e27c43d162997a218be088f12dc9d0915dff4db17246c1a3c61066e3807ec553cb509743e78e21d250c19332ef30e3d2d4f94a0275d0ead4e59f7ff403f44c02ed1b145563b075b55c0ece2599ea8038a52c4e77287a40b3015595e178405f01716799f12508739158ce39537c6364439c2c61335c774823feb0e4a46484b29464146093e52ba6e2e3e5a0631121b992d5a46a848c8478e518c794638949ff05b4c57d23967cc4b57d3bb164147bebb2f4cd1452f40e1701817cec818f564ff13f4072317feda4f17504f253558977544d057484615df8028fbee312a5a55ed2c1c72d1257130d62be71dda51a0a97748680d2735181dc85721d3923f8d192f8794fcc96be998eb135e56840f812d952b26dc2f2f8537db1701de931a9e0b811c99606b1d7a72b81fe6796623b2e3442266abe726bfe71c26713b582970ff964812b3a7511b88474ad1a39d60fe77fb5b93faa43aa689e37f22cf656dcdde8d4a529b091869c19a199bf5af108ce21a33eb8ae43a8485f63a7c0ae7f3e9d6d3fbf35320f44e2572fb823070f38da5d5fb4cd37f3e167531443d7027341943de2d2e0dbe4918ce0f53b1e5a7368b2c3c6ff4ff9044663d54810e945168c3b1d019852e9412c0563e10ce0287359612c8365ce0fd34c5cdb9f290f0e017571aaef2f889ca179debd4f3065bae18380425f4d7c9dd18bb2cf626ea6faa24e3f4384b1da15a3d6df8b52cc90b935da2e4c23b9597355cee7f1945393e249b7b14ad729ff91432962e6218224895175df6f11b30546af34ef81f1840d4b4f24290fa19e90d41f3792fbd17b307eff2702189161f1552f429b1fc18154682320160642d6a8c304b9a74645336beb060762fd36780e26160b5380e4500bf316ab3b6594b76993031ace92b2efad9cb178983121b9d4845f4ba36071a9d404af3f9d4f2199f14cff37ed44717baad75f448628d19af3421f46a8b0f19184461f3ef7bc1178d00634bcf58624c6725ac619927f15545490f360e0fb877c6814c6b9ea2f952ccf3a3abad91da10ef63f3144a0f23340223ff35814709f4d3516c16e5bb75f3a3574719c25228f4b5a03e1636db84f49a58781762e821f35742a2181bc2f7f397ef311637054630ad43d250643a45395291b55b725ae5723bdd1b62eae7a445bd65319f19c63568c61a5b1206b34d3bed1dd63786de01f49a49affb2a9cebf3518ed9fb7f061bf402f2bdfb0bb9c0f344eaa4fb1bb58df3fb10a4fb6bcbb8f3bb45a0fbfbd11ef477204efb6ff5815087d668629a2a0c5d17e9236a698d0061d79fdb460b2f26a9c24f33529ee32911b3aa1515876dab37a91b8339f13feff22ac0af17a839caf36b8b36183cace0f27ca7e419927205f46713bd1740d4a5f49da36019a6baa1f4ceac2c19b530c1f2eaf4de19c6322751ef91df5b92e05f6533f2a760db246a7d1551e266a304d149e19ef5ab9b67c917279abc17e5eb69fbf214f2182014b4fb9ffe3e163705e1fba23dfe17e466a2fb4cd37c16dcc16ffbaaa6f61663923efb92173218345ca6fb512703175f6a95fb422b751962216358fc9aad68a047125962cd87430577849addf21174af2dc5499c4fcf8778b8293377e4ed3b12154cf3afbf46fb6ab6baf3dc41b0fb4cbe91f32c0b39fb2ef0f3f2262a42fbe21813f3cd5230fb476af8f3870f92fbefea62f47a7a92fb7234cdf297d11f5d8e12023c55bf666f4ef6005c8d58bc9549953d730699fd4ff8264fb23cf0ac1886051a1c4d05891af4edc2fbf792baf24163bdfbe896c3f32f65e3fb6023ebf2ca07d7fb66774bf4993ad1fbd99a01f30be2a6fbd34630f3275768fb7ef1a1f2f78972fbe65735554ebaa9390610c05a5315734087513d8c09862074f653884a096d36bad118d01b4762691789a9a4fb84456418eb0ca3fb4aa9b419eedf99fb865a481883a740fbccb302171e6b31fbdcc4a318d918a3fb2772ae179e15aefb5dcf1b17b3873ffb7673f4189ca65c5d080bdc43f1e1b278e9bbf0411aed639db279b76db39473596dd293164dfc0317fddbabfb866f2cf49fee5afb376ea4f3351975fb9baa96f394a45afbd65b6bf333ddaffb9de9fdf212c3d7fbeeead4f2262aa9fbf329a1f4fa10ccfbaee586f41f6791fbe442375aab92fb3ebf0cd287434e9d6e5b5143a22f6941660f17d858c6629c18cba73c167536ce1e8e78a81944d168f419b32118417e79f37ee3a4168ea062f3684ff8160f7514f3d3335e16d0c984f4e44f5716db178bf3f1e44f1765e6d5f39b589417ffd4263cb1b60b56568bf7410b9931975f374f710f5c7f4fa42325bcbf1b8b7648524f17d3a2bc1d17f181fb389846f3eaf47dfb8dede9f2ef7b22fb6cb646f4429fd8fb1ab5a5f4cd8e2ffb7dc74ef4164ac2fb955678f3aea1abfb511264f4825bd7fb2cdbf5f268318f5c44110177dd73146b7a24ef4d9557b1ac71c8ac855c5302606910468a110d2833d76a203d85cc1c16f25d02f36cc7671902a893f3c335ff186fdffbf23bdcd317eae2b3f3dfb9001a3c8153f3a8edd118ccf62bf491591a17bed596f344cc8916cbf73c423ef6c45d15bc03651b1912a83850df6979ba2a6292c2eebd5d91e87574332d1ec8640e210884defb523cdff2811f84fb900283f397e066fbb5636bf4b5af3afbe896e9f2ed4ea3fbaabb7cf42cfc51fb744940f4fc3dc7fb444010f3ebf46cfb40019ff4ba45685818c3743cc9991ca49c3d626e6cdb6d54ca28d67ab141e2599329871efca9c71b6444e22057e352f45dd8b917feaa52f42bfc1119743121f3694f9818db6c99f3d79c4618989917f426394b16467b0df3b1fb8f19521d21f48db4ca175a186e3dbffda754ced3533d92a3eea77ad2e668dd293056741d36bf0ff6d877943fff1c5c2be22145ecd620c546c1f3241b6b1627e58ef43e187e1951f342f42ab1b917ec3602f4f8a719192312a0f21e3ac51704a731f4981c4f168ba270f48c969c181fea6d40d92c977aaa69c464c1fe0b4fe4ac6e6dca35ef5f6aa19dc29fe940765b492821c377c822552bbe2132b22720a4a99cfbe66ccb18874f90fb5de48618e3bcc8fb7a9dfc174fca80fb033b2e19226885fb5cbaa018cf7481fb4bbe3b1690f45071cf3b545fc7dc4c460fb904a5f494e4710bb28c59b37201bc93c3b85cedf29ed26f8cac231756f41e282b6e208e484d416f57f1f2d56f3617c0a984f402e336196a0dacf401f23a182db681f4e431cd161e6be5f31d3a03177b0239f33755483d85c9d2624864d23f6bb7c5a69c7e2164d4f8ed6167d7fdbd05c2405ff28607d169ffc3238fcc5423c78c9346c614a93f473a2b17750683fbeed5a017f40664fb11227117579a43fbf768d91957ef44fb4994591639592ffb3898db867e356462c5292e4270ba30a3145c994dc63817c2b506ff790c88855f7484a1d36b3cb022b49dc01f39897e3db627e7453b7eaa47ee9c181a325d08f3aea14718447cc5f3ce9d6d187dabeef346352a168c4c9bf38ff00e189a54f0817d9e5867e164264acf9f89a0468af5865b1d0f5d44650780f7a37565a8f4c0ceb96346217425be3f42ddfb460186a443dc4f4f39e726fd2e11ac22fba65269162b0d79fbccdde017447c95fbeeead617a64c9a609f26b64105687099d3e8f96edd6e714832a030810d602862a462e0c908e95486467e4f657a255646fefc1b3d6612ce46f05c183a0aa2e63122e07a4fe77fc847dfdb81f4981cdd5a7e25095e2496ff7c0d982d61f1b45a40c98a5da72c8cd36f9bae985ea04c49826f6e0159848c46d189116c7425229a29dca5753180914230f7d87f2cd1e2294a23bd653c8f2c033180eb015dc4796a35ffb37e5d2a91a83e040b6f9551375c7318d897491c79c9bfd5a26b563d7258cbb89e8e7b06429a6fdbbb519019578d2cf852092d88bd0f2a78859a2f1ffe22519dd8cb507fba725b0e80ca5d8ed18c6087f6007e90e4ac6bd0224e504285c6ad5e2a4885c47c8e5608003a80cdac406c2de6e9d9c33b3d881826ea313c35a52f98773329023e2e2f644eed4c9fd91548d5819c5845a9c356a9e281411746cb75d8b9686bb07213513a6827af9e2d2582d3aaee5d0a1e1582463d496d83be81d6d0003b8586b2b42e814ecb2eb4b31b288dd08d4a6d71253f6f90872d7f2ee65a725a8f582404ef5c515ac37806644d66e187784bf25f74a43c7dd98747933f580caf12c97de8796af508f6ce38d753833fa7e3df673b922672b38b4a3750af52b2e56f46a293d2301edf675a87c40637fa24ff5de154a43f0bf38b907403487346618150454a15be8935547faf98945cf4502f7649b7fb6993be0d924ba7e87e5c44373d6a05774e1f29b0405671ec2d2912145352a9f45d41c46d625518ce670cea41617a3a074385e691abd1d9156a1d614d5fb54f097d82d80c614b6b92cfc8bbf18ecd7c70d5e7049d93d1e01d3208d0df28de97dd2f92b2384b83a3414fd99c8754c10b9e5dd1be2056f367ff898dec986d36884b48e0487aa87651128106a3085ec747b37f462bcf65f40a63d5ef3e7f7cceecdee0471af487ef9a024980f7d83f5964932f413bab5da896195fea92a65bb5e08a7a9bd68e57b2e1444310b9ef9f9b1b0772aea0435d832578761abacc584d3588cdec05e37241fdd2de96b2b67eb007b4e5f9d4ef2a8742af5235a45147c3cab7323fd344569e919373f12bd5554e858d3c3b21c295a1d79c4a4fb2a7b79f3ab4817fe0416134b576cce565e369d8770ed9c2924f8be0dfa9dd680fe77af006c4499b2cf442c3a8c83284915263e978a0343afd905502056046dc7ab6773c132468e7578f4cfde095720b8e785a720e4bc40228f788b0f27669314a5f931b46bd7903017f8e10890fe23b330b2f9651075346d3114f7bd0563a61aa2b540a0abd34d4772278bec85e703c9d214d3cb2b767c686f94e8433cfbe3fab6a77d952576510c5cc764230fd772df1fee062380a787e5e1da520a88c3e08b7c330d28d614ff959b861ecc7795fe87c22712ae536609e6bee407518e19d641c5b653da09e59b8800e89d17848545190aad2538d869bd717dbd8356a67798d9ec5e38da75c9caf09b6ab547b3941643edf2f02e64254d50e36362c41616048da6c425bf9318c40ad18669821964ec7cbd2b8714e8f5dc27626caff71a47bf64d476ce899f18c24556f7820202b9b3fc5f4e77ac5be8c1bd2e3492682645389b4b359578edf64a5a823571c07547829153e647579c44813fa75b8937cd5797249dd5803ee0386f9cab266917789d973c3c989dff5e0de1a65817d238899a57e9e48eb67c3d0321d4dee57cc778c5525bf8f542e90828a8b72085cd25067411b57e1a7d11a4f67da559757ad36fbb9f6f3c55cf6723acf5d58348dc055fce03fd929925ba3f6e40db6df8f0358c8a335945849649d783b52b0006124cf4042c3f16a854dd4a7672206614e215921735710d162219312c171da4b7649882772eb6ac18293790f8a6ad0eb8a98988789622911a626f368e825d45f92441e6949bc1b3e57a98a2136eda230713b4b6c6175aa129315646973336e21535ebbb8b8a549687da77a9c603751abd14723da67adc45dd8ecffb37995aabce4d743db9059e992aa435f87ebf2069785b20d1282e032f87ec90a5977b5b6eb7ce5e14e76816f6d8aa2a99d88a41cda754a8eed7955bdc677bda57b7c9308d8853619ea8795f972807be4487ad3c6ba8177c1897f6ea77077cd107d7b0c6eb9775068bd82b5994983546a8b789ca4fc7e30fe328a23afde89fc09b97d0dc4b878a796bc885f381176c0dedd7c3009868708763778074f1483b056e47b2d2e6f775e060d80613be47905e3c28197a2b2867f2087840da05978d324ca77d0d2c3838b448282d320027d0815b57a46e25386e546797aea5eba75c4748a77a68fe6769eb2d488d27ee978dcf669752152f679d5d4447e23d3767a076168784a958b79e1e6cb7e174abe7e0952b07a7e773b7e902dfe83891d937b603f948047799278c0e56181423661814ddcad7e50682c7bd2708e8791bd117bd3ad5d764ab9e9851e6116883d29db86051203825f38767ecf081c7edad64780ccc1007a419fa88156cbfb8877f0068a366cf17ab74967805410d1775c0ec084f283567a15ff0480a7bab185479db782a0e0027c86b9e58487498f89cbd316877cf25b801767548ac2714878a7a81c89caa1d885c0633589a0289b7edbef3e82b44ae88619e8d979c7e36585e1ac7d81e3dea681258e21841709f6844a668580588df77ba9ec97766b4321899d7c8f84f0b64b880840f485a1533d851767a57d4a544c83b06ffa7dc8b02f8747de5c7fbfcc1387f25f5a8a96d15289712fee8898a5408dfef27fb1fe337a96b4d9119e22eb87a7befdb497371c3793e2cc0aac6839ae8fdf2214934812e67a0fae55765e185b83fc9293793110d187dcce0e868708c67c2d76639bf921f880fcbef0956f67119f67b9559a35d5fb9b7c1ecc997a8cb6b78d5cf38c291b8a8b95baa28623c1f77ac0c1d18300ec467e9c6e94869bba197d07b41b8215ed717c33a3518a2a69078e6c91f6ad16430393da5506a55aa5d0037315fafc42ea2304936366d8c6a231a413a65288914a4878fdecb7772cc2ad83e9a63a83e6830079d593e17e3d6ab47b4116c192d8e6c68cfe19c9af3ec9c39005755d013a19f177bd9ea67a4d820f7a4e487c042afd998ae5808088048d1c7cc641628a98e6237ed84a2e7b4c74f67ceebe667d388172975a9ae8afa684c0785fc93092ba7ee176bb07db75b140997b504ba975669b2c865791fb8b03a2327b42ee2879af368c80edb7ac827a8a198220b7b9783bfb7779379079828ed03eb60c7aed938ef44a98ff16557824090280d15731762a53287703a3b77fe63bd287bed734819a8f2080aac48c8253cc6a75084b27795ed0db7599b7f18705651188868021a7a69f5eb33e38d97dc4fd1985411d5076c1516a76d8de15829ba8e8861fdc0f88aa783f7b9aac607cc4b52478d9b68f7d03c7a57974203779ea94e0764e1d8f9d8ac846a5eb023c84085245853201b782e10ac287e06f07774edcdb8465e7e67b4f201381f6363f8327e4cc7f49584576e49dec82aad62b849a18e57ddab9dfa1dfa972a6a2b7127f6d3b3278c7a2f881f0af98824535538250c2998900cf9b88288d2778e3a5a29607b80c8af1e1f989ebb4ae7dd81bfe750a478a76390a5b7b16d7b9993e2d42cf578d667a5a367b78e9f23b7b6d993680088c68756815f1891602298a214723abf3ed7f8f93785d8a60b62d7f9eb218890b14197c055eff793efab48717d3f3b1cef2697a0b0daf7db98d5c89fd22457b7ea64a823c2d0d7cbbea0f763d9900fbcd7c0993dd268a901da4f37cdd3adc772d0a257608a94f6af2ecfe8990c841a548ad0f0355bd0b81c8cd508356dde386276d8987e4c8a17eae24597cac2c9685aa9cc780e78af9a7128b35a7e9e43f76e95770804540f4893590636813988480ba2f139c9f0c55cf83ba19860744d489391892880cfe0388f03fa186e898e57bdd04e379cba8b8fab785aa7d307981941cf013891e2b397be66ac778effb7b751ce013894acb3e846196ee03de219d897ead1781e16f55890797767732717b7de9e02981710be977bbb463fcf62c2695d6343a977160de77eb897f7530e5f883ab1320711d583f8542c6327aa93f847c26e8ae8708649b7e8188db85b068b58886efc983bb205d897fa99c8468f85ef91cde28a52f53e29aed1c0d7f8d8119889b02c485d946ab664e23bf880482d580c720ae03112885d3da3ef5804946a079c54cd5818cf8d489cd3b628376f4f882b02727872cc97d22c71cbb9c815fe9843299d185b9f9268620db128aaa5432880e540f7cb833b28a1d5a6dd08ba32078d731a87a3e5420770bf03f8511f95e7a99760a8607a9747f5599b1fab4e9db81987a0e879b025b7c8d6f6978d1bc797d09ed717cc600de87c2131b8498b4da03fa05068478a4b287491ec17eaf7e0c897045e87ea6f48782d212087c4ae8261d0f6f8a88c0755084709f6979ab8ade7818d3fd752beacb841a37c8786bccc77c149311847b83808ad929b8893b3819847bd2c27b19348181d8928287ace0be81a2481c1b8b644980cf780f771cc794839d461e7a85872d8038e63b7e25abcd8744d4f87b76233aa0aa52ebd7dcf395882d352a8351529c88f9ed62882f1b3d8a2e67d87b6dfe6bf8af405a83b1c9a7781e89ca76b46e807b4dd55f83761f5e88a1414e8af230b1851248a69d78bd977f239dc87a30b68d7f59940889c67e1177fd92fd861dee88864cb1591be244838471e77587929508875f678889cfd22b885a6c6081052f387e616a7a95bd77bbb1b62c138a067367797a4de184bef4d981d4d4f285ee3ca07ddad63c7a8003257fe6a788793612258267cd397e8529538850e641762ba213796a18c57ed784b7a52fd508a5ff20d6869efabf75d4df5f8a0e37078a9a432585d194c478d9b3b2786337658a8ca57d878c9eac7a19cf377e01f38482fee8c97926b98085796ae89e949cc590dc73e87d162af77c02e8088786b96a808534d2869636ba7c3117c086a46f587ac74f0e7ad36cd0806677b183ef845e870b1448822f4aa087dbd2be7aca2314810d587d869815da803de1e7855f800b850d17f47e7a1e32f90724a69a3f96087f43ea127b6a182a7bfd348b830732597c4f97457bcdbd9182687a998096417287ac455787b3a8cc8246a11e03b6260486f3a3837effe43b89e505de9b95289f9334b3ab840b670f7df76c63884d12b084dc574579ebb4018104286881d85c12861f1510767af346872d88fb86b01c9176e2bb40dccaa58cfa8517f60409c52a9ecaebf394ed2204a1499d827e71164f818c8ce57bf993528a8dff547c5a128f78fdab6e8acf492e82caa1737939ff837903492c9e15b105837ccb6c96d364cea13718beab45cc63a4dbb267872ee9ba80433d0f89b982877b7aa0437c178bc57cc9db49812ee96d839b96ec7f3087a979a9fe4f8942f577a8b8aa46a5009723940ef30e8fdd242eaf54b30298a5b8d579ef96f8844b5bf77d5e8fd989c2dd558aa5f488833c105b7734aa5889366c7f787df91d806ecb87859e787d9079ff13a63b6b2a8b01851c8c0015a1a35783748ad81b147ec9a56b894303be88adf98775b82cea775b4f787ba9ec7675b3313d7e4d8de588bcf81d8969f4238d5e69be94a58fecaa4121839ae315a69706ddf68a3c56d97b031a4487a743597a04bca87a08df6284aa30628a2da15488948dab86f283667e2ded9e895a7ef0864a1ece89683dfe7946884da33af14bac9579888c54d36097cbe562899b6efe818e3cda7c6f139b800d6a0c842c6fd87c625ffc79621e5084fe4da9803ad79080c31a237694b56d762587fe7576d051879db28578da6af183a7ba867b838b1388eb4f7384144be37e35e7437bd647c37642b8047bac91fd8509359281e07abc84e38bcd7b2ef4177e16d7e4829677b57b6a3c1c86ffaeea7554a4c381e629cd76f4b5647af3c05781599421804f32568846ba047bf5f23485aa42797d24c8e1823a8f7d7ef5c3137cb9f9f17d9b79c5771320817ec486607559163f8aad94d487d96a8478604ae689faf40f884899338a71ca6f8052b3ca7934c7b279ef72b6833c2dcf87157d32833183f87e41530f850d5f2f7f6271647a08dfcc76e52240864fd8967f99ff6c81e8509d75436ca985506f117690e56b82115360820063ec842f79887b035b9e81b91d167da253ea76c2179082a27e977eeebe1482cc8030886afb707ce3c56a868b4f457870aa77776ea76c77fd1b65780504aa7812bf8d87f5700f7f4a42167a2d9aa485e8eba27a02a7f98750398e754c7f1c887ba3f17f01a0b27dcbba247c8da525856b67a37ac57b168437f122843eef50897e485d7de3cc4683d97ca77da1c35f7b1e65eb79f4b56a88bc1597889e305e7b62cb8975661d3d7e1b6dd27fe8bc4079c2f3808adaa7f8865c81887f9797c6852b613681a2003e7ca021df7d2683247de48b3d806d107e75b2c9a0758575197e3457fb84c129f88193ae7b80eb7e668391225c87e994eb86a62a357d2003e5822c5d6989eb3d3d89e4e5fb82447a8c7eab8af6799e71b775277fe87aca187d82215976893f7f4277bcbb3d7aeab82e82a4b01789650b0179d29442896852507cef31227c8015c47a1ebf568a159a7d7d797c5080c1995f7b5cdfcf7e7743fc81c01b817e6dfeb0770e1e5479b355ae7be5cf2d8905addf7b8d5d8e83f57b35834e903f77ed5de57da439b5794eca49779e6a8d7f03743b88c0da998279b2597da81b237ca9466478589160773815fa845326708352a80576e0dfed75c23b5d863773717622b332872989b17f3d4d2a786f7f6586858e6981eb61547e87ae438220d4b781ca47f88066367f77171f6a88bd47c281d086d77c69edcb7881ed067b7a423b84e9e73d85d3a99788c01bc985b61e8d76b1b04178483ff5807d0b4b7ddf077f82ea658b811eb49c8866adfa7e3dc41d861bf6b97b1da66c8463379688ba6c5778bf607b82eed76178484af37837732a8261abaf7cfe95a67f144ba6784c62e087cae92979238bb68159c3217f4d16e97d58695287eda5f579b737557e8a4804765d5d4888738cf9790689308957215e8069a5c6889500347e88bc947e6cb65577c719ef8680d45c7d6f8aef86feb97182e5059a7b7b08898a5ff7cc7ae2be8b81c89ebd89ad77c57532305b85370ef17ad5c9d68482fba7880ffdf18283140b8a546afd7f4809617e5e7dd8788e9a0c83ce42227ada17358838520b785fcca87d83ccb57e3cec797c81ed177d3797b3796f6d557c59827e879f99c49d4094599d8f2e11a25021b88741121578fcf0f187ab6d9d86fe9540800201cb80da5f0f8072dce8867182408610c3e687b517098405940177a3c62f87a11de7a140c6518b772ffe90d0ff517a6337bc7a4731e884f009e481c9ff5d7e10aaaf85640f837a9ddae585f677827570a3df88fd176c7fb821e581e3141a880da01185b9c74d91a8d0adb5a830b98a98d596854b503a7f71f93979f199b87b576d82856732b6802081e17513731f86aa71de7bab9c0b7b9504b77dd33dc588c3081d8711a6d69ce9d132b70f581690eeb4c387ef1f3f891488ff850c6ad17f65c33c83fb556d7a7593da766c6ea289b8f2d4773175507ff665ba7b1b1a07889b55d5872eb3a3ad2635c08f9e5cb1abf8cd4880b438bd8207fc1880c7852a825ff03b799761ba7d45ff6e83f3c032836bd33c88f9528b7842413a8acd5f41791241c6797e00768626b90a94288aa1a5666113b2936c9e8674c93378bd4b018435dcbc896f86f58183f0878944c2787e8bc6a3800e95f28030ab2f84eff0738796e3f086a3bb4a787ab2db8e8605e8029dba41fc0fec099202a3146465e9e48541ca737910aaee828218f280c17cd777ba82bb7f86543685b164ef7c2ba9438786dd3a8a7b507f0163f5d885402166773f8ac7876b9d607ce33c1c7e19b2be8724cf6d7c03e4fc8980c2947b38276678a01a957f5b20d979fbb3b980449eb677a3f51a7f85875e977409adb1d85985923d3d9285a373648968b7367a99c2bf777a4d5e8bec6933b49ebb36866d3b2a857b913e801439228606bf4879af072c7846471082c4eb50792a9bacd048f7eaaf50a4298c43f866892c81747939ed307b3117b0807c33b579b10ac6ab76fefd84ed4008863e54757ee60c6c84d8e57b7d6f137d7befe98b81fc80327e5272b490077466a3fa75cc7bd93f9b809600d4816a061682318eb88537eacc9f21a31596839c47862c81877795452d83768f2486d13aef84288d59805cf1fc7da8802b7d5c2bd79efe2c8a7ba4035a8adce0c37c9689f17f1addd17ffb0d3d76923ba99a5f20aa87138ca276bc035f79cd58d37a36caff7de1d482802d1158980da6d278e6c8b2b0243f45784809ef7ebfcca47fc88c2e7670912e824b6d88813c80618ac0073991fe161885080abf80bf4366782a53be7d00c88f7c081ca67d279ca488d6e2fc838529d8da6786987e49e16a8672369b85ea9bab7632300484fc094a834564e5821320058750819d787050477ac7c6fc85a97c4c77ce05b385d731aa81ec7a6b7b21116d9f402da080b61ed37b640f807b9557458322ba2980bf02c67f26cbf57f844a31f92599597dcabe038254c80a7c11f9247eda30877de65f277dacaa7c751e2fb2862d35b4d8ab39677e7c740f822d9a4b8286fa6d88fb38668752b38b8981ac3286cae9891c02f27487ab62bb7a1fbbd7830cdae57b0009c67d972b7b7f732b0b8a8c270a7926b9557e26b965778754407bdb421988008793830761d8810386eb891e616e7dcdfeb21daf446f7f4d284f88033e8284a97cc4898d76f6794403cf75b181cc8384b694886398b385b1ed06868003e785b80f6c789337238259b1cf8602d2ab82d17b4076c8df6b76b19eec7db223cb7af598fb8416b355867f0e5387afea5e8336d12c79d8f7827d10ceb685f72b9b76943ec675625f6c7b8ed07d7bf0e51289590b7789512ae7f942a87d193bc3b7860cfe8b756a23c6798e6bac77e4c1b776f9a53082692e80857c69bd0294a0e67cb08c0388f86fa6869b434e7c16188e8164bc08860b8beb8269e2dd7fec151e79bc9e1880227d888822e976806f499c7e152e227e8bf5fe7c00c82481e898fade846be38140e0277b84f7417c4f07417e06246179c3130784a5407a7d9868321b0570a17582be397afa231e825cc2eb795e065278485135838804da8666c69177ecf1107f5355087c41e7a28673c63484afc6d57e43856c7d52fb6b813af4d0844c1f6f76d44f8783c1e17f7db42da482acf24e771cfd3281b546ac7526d60b8748fe1f983c79bc753462cc825ed78578bda51c8887083f82eb0eeb84495f067e0fe4491cabd286868a4831815475fd818f38ea777403c98871e7ef7ea3c6678512d81d865d110f8c34698d7554afad851fcdd8810c87aa7b7576bd87b58e8d783051d57750323d8688983780655e137f06774080977ead773b79897760af1f7ab713d97c320134a58490f57fc391ec771c748778eeed3a83d8e5cd7b0c1b317650397e751e2d439514250f8869f46e7e32011f7b923bd47f1415e87cca2ae676abd23088e0933786f3370faf90fc5c7a11700077b044bb7d6b67398893c04976bb6ce7844caacb8e90150b8a47387d87a7267a8092e8f383250cb87f92304877e0684c79be2311806aa14e90e6c4b184e8d9447a36415e7e985d2b781cce728a5505d084eb7edd94a0c6317d564da07d912216873720188445ffa3887be4cc850b4ac98349c4fd77b0035ab57743148037b193853c104580ad82d77514159f7eb4c19d8ad4e6aaa8f7030ab738f7d0840fe4f07f92831f80181bbd80af198a8857912a874cc3538aa3a9b184886909a28f67ac8db04c29208044f37b744b1d85543f9976bb1265857df9789baf534c97fb418d816624f780bb2b107f3e951479f5987581800a257985c88e7e6c757b7600a4c1a0b45b9c9448f01495730fb57c8b73cf849c925379f7070f94c5f476aef6b56c92385d8c87d66b3c89f469477c88869387e26060883f981786026df37e2a19ef88f051149ed7d571ab211d0696fa4b4c925b06cdf90b12b2acea4cd994d5f38fa9096b1baa1006b2833d1705846fd93c7608d46e834a25df80a5acbf794cb5a77e37326d8a1b3e6a75d1efd3932d0e509fdb5a679bdeb55f839591fa9214bbeeb30790b58de9e509994ae8207b4929a68874c20377692e2b81b23c58827e0750779f499b816087c97dc582d977e65fd27dfad0327dae652276a0e4e380c964e3814df92e81d70d058694216f790b798d810e953b86987a5c76f1631e7a3199107cecbb598a1b5000879416c67a433d1e807fa9d0788b7e6b7d6b1f6b80f450b3784ad6cb7e7f3d7789b09e05783ff6838450b7a67c10fd09819ea75b84483429889117d079eb12ff7a64ce877e86dd3a7e44c2e576c4e4c78992dd2184b41b1083ad8de681a2659884516b99797ea68b8a7c3a96812140577d7050d186273ea2868625a48003f62486497c2d88cde11c82c797597a68273a86fda03f7a72d19a8025cf8e85c3e48a868b3d3c8216a1b67b863b8c7b9eb9ee81410b977d9bde3c7bcb1f817ad4cd4283a743b689f40f92893852d2824564128963b528848678487e4cd9178a6b7933817714a683b4a4d1794593ff83b695d47e01c4fa7facb56682ef67a086e7080681fb67627f9dcf917c8438338385bd647cffdd427886d68784084b84788f721284ccc1ae804a8a5f76b0731179ec61a875d319af7742add57f49588b781ff5878382a1be75ad9fc286be0da075eab1bf8001057f821ebf5179a17bce7f95c3768523d345893eef997f9803a383b5587d7ea65984813428377ccb4377750e1eb88273b48686eb199e7d47431b837e5a8c76a2000e8217f7a989b529a2871d00c0889cab9b8092fa3982b886b4760832407b0732107918d3578636b48d81ad9fce7f8b4f658a51ac688904d5e378be8fcd7758862e7960512d88e2602684f06ed37ad84ad7875f38518621ac3d84c5f94f83c105c17efc6e887f88864f8349f38381003f2e7a1c0f90805953987e2d11df7a75b7c276c87a1d7633d23b83f3c07b7f271a99754485fd89ae19697fcf49c475db428f75355e16875ac6f27f986fb77704451081b5ab4f8199c9fb85ddd5ff815bcdc98699d0da7e40aa8478d7a8217de64da08891b21a7b6a4e477f162aa184ef848f7963e4ae7f55b2747ee8aae78113973e85bc15dd7d10eb9576c3541b853c511277f7e38d8129ee7c8277de3d8425f39989f3ae567b08c297791d942b7743eacb864c9f9581eaee987a2bfc8e89b6255189a1a604884780c6894f322383d6c503779d874487740ab27a1987977ecd05c47d9e42d37e9582c97e93a3827a8b07197b60807e88ec27cb89c33ed2779cf7a38491b29d87e8ce317c7606967c1cbc427ff2a0a4895ca50c84099aba75434fd6808ec5db790bbae582d59a267b2193377c198e02882392d9786ce58185cd223a764444b782d5ed938493f6fa88497cbb88a547368407df8277524747800ac52479c3ef9379b7ef637d0a7d448ae505fb85d2000b81f89e868a14eded78354c89764d69d6883a67ea761f730d7c1660c57e4b910c7f4265d77adf24907994d9e97d9790c1794b25d48978b6ca805ba2e27bc9e65c825d47877a0075ac86e4f7ef885260a5894e07c382873e7f7a765976775ddb657c9d6a5c867224b68795a61e8a8b32bc854df9c77e2bc6047b471f6c88dafa7576b252ba86dfb46f7752befd880ec0ba89b9c3e67b955e41806d104688ebeaee817da6207ebb5ae182a6f4a0802140548aa224798a7d8296828dffb27c268397866c75ac893ee4f184c092557816be177d6cf78b8489c31a7a8b90237e0af46883a3bb458803d91f7f9653b476079058880c6ad07ed731e88555f31a8873442379ff13398a14f8d9820ffd8f882093ef7c55feb27f2c15658a7e072788a4931b7b7afaf276a3bfcb7fe65f8b848b0e817c89f27c89ae2b6f7653721d7e3a842777da587b7e47a8b17d85eceb7e2451a7855fde4e78d14ceb786f37007e717006847899d67a8015b87736eefa797b3712870022057a8176d47c810a5b88fc1b51832ae3317c6844e189980a4f86a13a727f5a5a8779c873bb79335b6c7f58e0be819283c283f594d77c459a187c4f3dca88dac04689497cdb7571e07b76cc02387cb3de3e7e1d82c389e2b3d77e79e1c187681c76786295c77a50157483bd35367f2dbec389cbba5088dae83a7827781a7e48f7e084e31fb586c9359a77f83d0b7e02cb9a89ada61b7f89b1e87a67d88c7e6707427b99938e781946a582d18214818af57b892ff7ab7ee8989c83f05c297f6f49ac7b60c87b87f337348746433583d576bc75c06e6582276dbb7d4045f27f54ec7b8095e77f8111b8f19346d17daba9fa6da11cf467aa3859288f3cc3728b9eed0699dce1c498a94081abcc74dc93adc02d80a611e69689d47e76d8e5ef81f8df167bee356686fa47db8079296890fe180ca68ea14a8fd585aea5e57284b721d15690735e838c7fa9fc90139b619ebd8bbb885e595787155da79923dc97853e25f6867c169a89cd4d7d8155b2fb7ef283a7b6a01fc59039f30d8be3f2fcaa038f8c914e98bba90e3c390475cfe121366e6c9c95282d8c24ddfb76fcd3e8a12ce52f8a9e9c2b7dd731f887e5e10678796af378db30477dd29b5e91d6efb598e5c645a6c33d249705e638963a36d927ed7b3f7b468fde7fe61793872174c38c3c56c8806533e4946850c47de95ea0881d24437ecf66a68911ca7183257cf48036e333b14fed0a94b7f8369e40c24ab15e273afbf4242f7bc014267d0d46218697689281f3c0707d42369a96dd92ef8486a7e285868a19877702ab7e74c2ba75911089820964c58cc1bb5a8d0d6168ab7fe96395f8046584913b5e84dcbc9d7d691c4f781880ac7fa4270798fc66e48569596e7919b2f9850b92ac7fbf720d7f5d9a7475b3b304b5ae023e9c438c2ca7b54f16ae68e4fd8838b7e27e9bfb787efa2ae5838a890d7e50f8278074ddea87b8a32d8a8360f575be9a587cd02c0c7fb07aaf7fe7789076ac2c098d48130bb71a90919c94084e8ca2e23e82e93a1c8744d405766af43176f3135e8af881de871356c17b23c142a4336d307fe8ebea7646c51f7bbff01d762d648178ba9bac76c395cd88e8eb12057ce8bfdfa887df81df2b0b8a88218882fc269a7918b6a085ab2ca1813feb8f860249749eda88c17d924dfb855f5cae8124b6bd8722e96f79f4a3c37677f0507ba3a6290509290add8ea2a189b00a0c83699ad087dfcdd688bd35d082444b5381864d367773a2068d65335879d21dee7c9cd324817c45bd793abe9a874f689495c77f489a9d579b87bc5d58813cc8ad7b4385387c0e66b7818d118a7d66129b8af10519864c0458a4fb9f2586dd3a327a2bd82c8087913a76c34221860ecb6b77001bd794f5078d84332c2a7b60e553865d064881db78b57dc3e43185337fb481f4b58376b372c08951e20a857ead35856815ff87070e4e8afdc4007de575328529774a79921e897d22a158fa6e65bb79c5579677223ce77887ef4a8381acdc861a660d851bf6ad8548a4ac16a756c877f57b6a7858b56a879a0d6186631a0281c6bf6a87194d5c8932e4969bfa8ccbf9895f23810a3cf07f65286c78f45bbc7524f7aa84178bd07e3f08cf83d9ab8fa3c8e08576fc02a08a8bcd767df2d64f85af6114827e7ee886805d0476e6a01e83358240fc52a107896e9cf08443329d7538f1f7777befdb8471d5da79adc3ef7bb534d317d69949a6c15000822b97cf78ba65ae790bafbd89fd4d7388d731618871772b831631ba7fbe213a7d233828890a8baf80122b39868a89188a677a57843f5b4c7b895ef2f6a8600f8da00b8d7672a6f5894c7b4788a22bf5863b8bcd7b36eeae7cbc7aa388c0c8e27cb9b1a97f18a43e7ea4155487f1c4797fae5a397d739757783cdaa27b49bdd0b0f72f2684eba23585974f5582e0bbcd7f89f90d7b1d5eef7f7c0f586bc4f47e797fd19e1aa42fcf7d7b08a1832ad13d7c08f1da80f612927d6ea7ea825ba91582df3d60b877428d883129448aa6a1a8846f91f9772b61cd819ba8488817d32b85f3e4827b464e3d1ca62b8d86045e467d770d3e781c5064851cc3268677d3407e6ad78d8027eb5c9da485877c3964d1773c6e7f80b9287481069b7c7d71e72d768671e38039e2f47c8737c1849a065e82acc70280fddad8898f09ac893398c088fd17828828f2fa8ff3a7b978bddbfd891bbcce7cd8a43685f421b5879893427abe2a5d7697bf85825123907933e4917512ad6c7efe17e689528444878994ab7dd2121686a3203218f9ccfbb539f89d83848054883afbea7bea82be837a784089d74359823632c07c7fc62489ba9b2b86aacbd77b6fef3787ddf98777f641ef79bf6031824e12818604e00ca3a529537affef3e821e12c889d10b2787e00a2c7a784ac0764444d9838b73ee81f4aa2a97f456c188aa1e7d789f49e37e23558979e30dd37d36d11778d02c98aa1cca728171e797839ed69f840b094e7c2efbb8805fd3ff8517a4d181051d8582ceb2c3800cfe9eae3e68e2814702ba7e21befd811b7f9383e9b1567e24925198062adda32dbbb07f51d0827d6122a880e0f14c850dfa87893da07f8314d4a184ff784e83bc277b7d83883109d35d4a8746c5a0792c44ad75dae83c7b9eb9a0825c7a1b7a5d52ce8506078986a9466684c7fcf1898c81f8824fb4347dd606fd81d8a42c8af1053179539681856a7dcf8dd362e41904e8497e9462097bc026c016948e1b8652962278811c51853e421278d9878688614d6086cd29d0821c21a97c8adcec7c6d87147671ce407bac0f55806881268f947260a23b13310b5edfd2a1c0c7f8940b8d7877b8c70b775a94d57fa43916770c1b2089645e357d593a168549cf977be181487c77cc1386e845a07535f2b68cc3f93d8f3201b17ac14abc8a8e117eb15ff74f93059ec07cd0aa487e5ed0d4894d0bfc8508db8380e04b67780134877ff9a5b77605c37786ff0130841ad252763105e8a7cdf2757929c75685b799a78a41b690a64996109aa444b7781e368c7c151c1476b3433378a7557c7dc6249381bb4f0d7e01e8c384f2d645887c0fc07c865f978c4b78dd89d64e48a8f454d57ddbf32d96a030748c39814a86ace04b8015be4b7eb8fde777fb7df485a3973f81e1881f89a6ba96887bfded79b98d907d9993f17ac0a40595b5684078cf95c1a99852d1ac70f49fa4fb34fe9073a422856b26b07974203a7613ea107f83cc6088d6e2587dc16a4c80414cba885367f67e9707a4890619d8850c673880f670ad8be94c86962f2c84a966d482915be34883e82c40784062b17e5ee96e76f09d1b8650b0cc7b4784d3877a25967d8c441d7df761db7f97a93080897025826283207be7378684332cfd7e206f437a63498e87e99f8375b4f75189bf8b8b7be32af98687c08479b7aef885f88c6b7d8f846f7bb3e9da7fe558957f0009dc8643a96c7e9b148879dbc08a8215ff388aaa42dd7f4a5ff0811ff1f5818e06e47ac8cd4a86f6eeee82aa30b87abdf8cb8432542b87761f5d86f3b5f486b23c8077ee9ac2777d4ca1751ab2a078171f08853d0527878355ec8757913e781726a784ea9b1c7e45db0980bfba027771e0358258eb2e89aaa7b47f5db73d8a47802a7e321e8879cd346383673d8e7ac4b55884a2772188b2a1717e6976c180ae9b567859579c761d69ee7556b9cb7c9bcc00847e071c82ac50d27a3433ac7948af2d881523bf894b91237b1a1e3c852750dc82ee23dc7840452f7e8cb0057b6d34a688a7f0a275f08be77df90aca76059f577c7397527c7d94e488f744fb83783fed85d5939b8708c94688cfb55b87f8686577fd51968287f6f77f337fbe86165543771acbf4779a06947deba203803e013b8a49172984a08d288449cf7d851a308c8172891783a59ab7898231ee7b1d704d848613c57ef62f6b81dcfd4f8026b9d276339c607d0b676a83f0d3d784e1acfc795372c67f94212d875410a28113cda37a1ad69d85a7d3d47ab6e8107627012f8823792085b2c5b689fe4230843eaee281838b5c7c92a70687ec03157bee18507a9a351d8019295b81ca605a7d1004fa819dab4179e63b4178def95b83a56493860e428676c7480081dc339c7f00feb180301bc287f90a0378d8c1e17a6993787ebc03b389350030881cb133894851ac754fe3c9757a3bce77bb5ac287ec6f8c823ae93f7c3e78068122c5217cfa0680878cf8e678ead59586af858e76f8fc64824caa7889d3a99581f55e177d90c1ee85430ef689c81cb975e0b45e7ef2e8f1820350b67a2d52c081925437839935b97f93ae69818a7e838367fc8384b5e10477daf33b87a7c180893f7f5b8100a4f081c6bf058280f88b85273e0b7f0f374584dcc70782d2891d7f00ab0b7f1e19ad813f50de75676c0f7db93a287f5e4e7583c117797af75a9e773e951688613b787bc217e47769ede279fc26547a405786859d4d487e9e54ac83ace08276357bf07c9d87be829271698a439ec77bef84018a124f4d88fbccb8778beaef890c879076ae2fe2885dff2a7aba41178a9b8b9689aacbe97de235658477559f819271118213ea9089aebfd081aead5a7ad987af758288d4891aef73819d8e8378a9c80579c0f0cc7805d523830a2a2c7b34aaa67d9c09937502cb4f8399110585a810cf7aa48c18812e3174836bd3ca81b4c8bf7ba55280851385bf7a23cc9c88e111248a3f7ff9836565b37b2886a389ad82808143d8d67b0fc02a7ded52378414f8ea85680a7c82021ef280d13ab77ecc26c478415e777595212b7637ea107fdf85e97da2d1d57877a85a8f054fd87817cc73785eacd181fd4d1e7ae8507c8608649675ab49ef753ed6a17d82594b8a75be6684e994417ed008b18982d7a68085346c75527dca7e4cfd827c925fb18a26fb9c7d83969e80d5c962781e2426808f9d187f1c7b6b81bd23737d36ad907c5ccd9b88c213bc7a2044cb7da30eb3848296f97a858edc7e66f5c1804dca5c97e631ac8383d3e9924d704e7be766177fc283e37e0940a081f5c3a577effb0f78d128dc7ef283a3849ff6ac768db7d7864141ba88f4fd0f85ae908783c86fdf7aea1d9976c06eac76d5395c7bff787578c2e8a180a0864e7b18d3047f8188748722b30178ddbcf278d68f468626d2a6818176b87618c81588a141c77d688c5799bc773b7706b86a762f8fd0795bd82a762766388564453c856c63237a9993867c28980d81e372fd82d659ef7c1d1de3817f0e7e7dd36cf77e48e5af80200a027c2b7ea4805127f67540e4ce77fd0900783fae4978ff664c801c57cb775701257d12f56581c313ff8387e42676cdc80a7e0541767dcfefb37c209eec7ab27d24874b3e52908b18f993d8534d932c7e948a6a2a6a81bce6f381587bb77d9feff67ebd766a7e14d49a88bf55a3791535c2888326787a68a97579943e53898613d986d8a4c189c1bdcc85633e9d80a826da754c1a851dfd44aef8d62ba41e5d0958f764995a18c37b007fb563ce7f82183f7a42d1b57d7f0edb788f604c89a6c53f83c6f508863d712182a796a8b87bfc419c5c4d928c461498b3c64e467df0f00577cbb3bd7cf9b0af84652f06779b180e7630af657d3e83c487f88c648321596d777838ed8534b14086f6483682494d52a54b994fb14cdf889674ed6fe45cd01677fac9c77cdae8f77eb63b028737324d82d2775d7bfb0d5d7ce1a574786c8be787446fbe7dd4cdba808b3d3e7f6f081176c736929aec6cdb931c365da2f60b657a63e42f894e61fd7ffa064277e70c1080eba22c7eaff558792e18c983a481be75246e828625a70d7787dd30804b1a267b30c8b7907cb36899915363b8a8da7c832c2e1c881eeaeb78400f5279d4a987769820c27d35d5827d56787d7d35e7d0838aee81787bf6f485b379f08946ba9e85f36d258811ad0cb5713fe3b036c48f803b9dee809a182a7ef8bbb47a816fa786238b207b02837b866815257d73f59f7c2c27247a456f3f8a7df9bd7a65d5ae7c446817839bde42b42288a1ae2704c77caf078d7b2ee94780d796e57625ec0d828d2e037ae850fb8070577a87aa8a7f88b9a6d080448c2a77e563cc89ce9c0e79f6a63779b5abe08996362dab3a1b5295f3a0c788b0816586d5b7c7830c990c78718d2d7ab1520c7945c9ee76279178835aadc77e936d187b67e3087a32c44e7ec7d1317758fd8d7c7db13a9d7462d78fddc781813ad7a88792a79383b4fea2758dc2c989eb612b78cda49f880c754177d7a15284f6e3418453794d7fe8624288e2fbbb792480f88789534188638656a9a84e11e2c2212b82fac52c83c91c0177bc320c81463c8a83a6d73f848fa8f3827ef5c586fee8e884bae36783cb26f87d28fd03897ee3f78490229887bbc6f09981c9e595298684870f9102839f9c44890022577c7403908286427e86c83960881696aa8591a06683b7b5f18627b56288c3c7a28517f01f898dbed87729f9d37fd8d3af9a36f8527b9f8ac97fa81b897950df3377dc74ff7d172686884b2c5e7ce34ea786a10be987fb8b28814606588577141781d0ceb5780080dc7b35b8089af50605a632ae6380b113b9841f448b7c53af8e82629c8e7b6d462c84b529f8853fa33e81f3541a7d5da56888347b008ad8f76f797a7175779db675760aa19a88e6fa9187b1590baab17eb086d71fb08185b2638ab04017856421707e37d805881cb15d88724ffa759038b588f69ba18984bddd7b47cc747938328d8319a72d7e1ae8ad862912c98eb6d158a54eb704887212bc76e02002850249b477f2f3da80020c547fa9222488c3b52c7c5b7edd815e06c4897fd88d7b30ecaf79f2faae8243c6a888761f9395281ded91edd4141ed0d5b978f28ecf8091ab527827aee97c6e424082b75bd187f7195d7c9a7df67ac230ce8419a0958948fe517f51c93877cbd7fe7fec03fd81652fc6882e1c87996f89b81c7afb5c7a5f31277e51b72685560c9a7f80e6cf7a86cbcc7cb64d1778f2c4f377c4eb0b83f3ae66890e01a978324d7d80597000884858f28894e06b6e7f37fc75b98dd887eae34880108d7b877db89d7722e2de869b79b580e99f9e822fd347852df4697514cd9d7fe032f18769db56862380f97f929572899eaeb77bb3670d85bded4318a4fda9827219bb87696b6f79f05cbd858a7e6d8901e84b76f7a2c97cda5fd17fbc7a1e8244d4ec8081234387b7494478ca6b05859607b68926aee289951d3d82e6b2a1769dab9f826582fa75eac33276de3abf77bf1f7a824bd2867eee2a257e93912887daa739834ffce37db83364850947b6875cd437897c1d8d7fa90cc4855ef0627bc0e5568409ac0d7fea82ce85b07afd7eff01eb78a8802189e84568772ccd0c80b2060e7fc271587d5343288876315283a33df2894dad79822b0e6e80b9b1dca037593b873416db7a3e4db47f87d20c89e8ce2aaf8d2b4d87b39d3f7908f86678bf43fe821016298197ea5188eadc098aeff09e7b3ee8858894b85f7d11b12c782ef4e396200a39180823cc7dd0a3477c6ad73278c7c6d4ee5bf2d17fcd6a4382b4c84583ab5b6581b8d90a7d0d46737e1dd5007aa0083076bdf83a7b62a7228138a59679ac983ba1759f3791f434af93ec47b7156889baedb06e6a8c964b139ff953427a3de10f7917afb4882cc93682cec40c7da128338a331abb76fc26618946cc1588e546a6877ff118a6a39c919a6e8d7598e435f3adadf59f9050ddb694d615" + } + ] + }, + "job_v3r_without_its_proof": { + "kind": "job", + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-6001\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":2,\"root\":\"ff16318ee859c9c509c82f463b9db19f2dbb56f37a89a89a990c3a93c1734355\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c09\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-6001\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"45fa49b0740e4291ff82ac398db6066646150cdacd3c9db846b2b0020c30fad0\",\"sig\":\"8f0b086612e9ec99e0a7528bf209d9fb177aa434791ba16e7cec7d5c5144d291a856b0a732392aabba3da12460f6281d66b5c94be930ed4869059a3cc6a2da0a\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c09\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:6c5449272b5fd4cce2f0277ee502fcb6787e712d0d6497fe91d2b3585447dcc4\"],\"output\":\"ff16318ee859c9c509c82f463b9db19f2dbb56f37a89a89a990c3a93c1734355\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"30.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"30.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:a0d32db5da7481a02190e35f185f09bb7f64b3f4708949701c1eb8967a4aacee\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"b429f29acd1fd05985f00090e400545e14eb945c946b9efb08a2c56d1ee468b8bb11a5cd840c5dbd7ab9993be1d7bbef0d4677cad7f6fa0f31cdf15e7363d408\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "receipt": "{\"profile\":\"wai.video.int_motion/receipt\",\"codestream_hash\":\"277865b574029f700f4fac023de3ab06ae598ee6f8ed726444e91442a6bd59e9\",\"clip_hash\":\"3492566e8e2682e3b3bac083b4db02ef8eba9a7f15d9faf0e27feee0f6eb488c\",\"h\":48,\"w\":48,\"frames\":[\"e1d8e8f8b5c534be1421e5858ed9137808ddb849bdff2bf397beb32568d8eb69\",\"ae7214babf5bbd6ec279434740f3271be43d2392b8167813fa557b5c4426fa14\",\"b3ef86db27b82d303bc6b612cb224ad55259b4f2e2c0461c74dcce188cd64b99\",\"3906f91010bf1b9ca14f6e2ac9b499589ac02ff4465e1d9764a22443a8b29c22\",\"bedb1538c2071d705d2d3ab2df2c569ffed440278494649f9bf1ec881561c519\"],\"merkle_root\":\"0f3fe4aa201c275c10289c22f31e7211b555627b33a251bbe33d094abada6508\",\"work_pixel_ops\":34560,\"joules_micro\":0,\"uj_per_kilopixel_op\":null,\"energy_provenance\":null,\"parent_receipt_hash\":null,\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"signer_id\":\"did:example:sink/job-6001\",\"sig\":\"b0caed886abed9777621c42aa89adc4cfc9821de68345699fe31b2bc9faf5302319e43618a67cb83fcd485fe44b56fdbf5eb298555dd8cf0072accc0fe5c0c01\",\"receipt_hash\":\"849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0\"}", + "codestream": "57495631010100000500000030000000300000000800000006000000d5ffffff590000000000000004000000090000000f000000160000001e00000028000000330000004100000051000000640000007a00000094000000b3000000d8000000030100003601000073010000bb0100001002000074020000ea020000750300001a040000dd040000c3050000d2060000130800008e0900004e0b00005f0d0000d00f0000b21200001a160000201a0000e11e00007e240000202b0000f6320000383c00002747000012540000556300005c750000a38a0000aa9c0000edab0000d8b80000c7c3000009cd0000dfd4000081db00001ee10000dfe50000e5e900004ded00002ff00000a0f20000b1f4000071f60000ecf700002df900003cfa000022fb0000e5fb00008afc000015fd00008bfd0000effd000044fe00008cfe0000c9fe0000fcfe000027ff00004cff00006bff000085ff00009bff0000aeff0000beff0000ccff0000d7ff0000e1ff0000e9ff0000f0ff0000f6ff0000fbff0000ffff00000000010000000000feff0100ffff01000000000000000000000000000200fdfffbfffbfffcfffbfffdfffbff00000000000000000300fdfffbfffbfffbfffbfffcfffbfffffffbff000000000100fffffdfffbfffbfffbfffbfffbff00000000000000000000000000000000fcfffdfffbfffcff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0400fbff0400fcfffbff0100000000000000feff02000500fbfffbfffbfffbfffbfffdfffbff00000000ffff01000500fcfffefffbfffbfffbfffbfffbff000000000000000000000000fdfffbfffcfffbfffbfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fdff0200fcff0300000000000000000000000000fbfffcfffbfffbfffcfffbfffffffdff00000000000000000500fbfffbfffbfffbfffbfffffffbff00000000000000000300fefffdfffbfffbfffbfffbfffbff000000000000000000000000fdfffdfffcfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0200fbff0400ffff010000000000000000000300fefffbfffbfffbfffcff0100feff00000000000000000100fffffffffbfffbfffbfffbfffbff00000000000000000000000001000000fdfffcfffbfffbff74420000280b35593c000000a214bea9451501b9ad0cbdbd9a309164812c7ece531911d14717c3dbbc1d27782217989f7218f20d121d7bd4ca1f3eb3ef1f71131429e2d1f626c3e7ab249c33af4fe2d2c042a6d2222fb9b3c460c33836571567e55a40c90777634123135bfb8e1357858f0dfd6cd3316844ae2fdb041518b067b9167f09231b1d6f1c16b7df311ea6450d1ea29eed1ecc320c2b747de0206b34c82a708a2525b67967473d53e643c54f6f2f42e6355aaafd6534aabbdf5fe1a866406fac26314f6ad812ef006e0dd2c39e124439f5306ba6e0396f65ff1627ef771e0071f21b088eae1efd0a7d22d53ada205042fa23135ba627dfdecc3c473a7353bf1ea7435671e53209bdc9581998ef568e94f260c2af006595d31a5d0301d30b0e96f22e27c43d162997a218be088f12dc9d0915dff4db17246c1a3c61066e3807ec553cb509743e78e21d250c19332ef30e3d2d4f94a0275d0ead4e59f7ff403f44c02ed1b145563b075b55c0ece2599ea8038a52c4e77287a40b3015595e178405f01716799f12508739158ce39537c6364439c2c61335c774823feb0e4a46484b29464146093e52ba6e2e3e5a0631121b992d5a46a848c8478e518c794638949ff05b4c57d23967cc4b57d3bb164147bebb2f4cd1452f40e1701817cec818f564ff13f4072317feda4f17504f253558977544d057484615df8028fbee312a5a55ed2c1c72d1257130d62be71dda51a0a97748680d2735181dc85721d3923f8d192f8794fcc96be998eb135e56840f812d952b26dc2f2f8537db1701de931a9e0b811c99606b1d7a72b81fe6796623b2e3442266abe726bfe71c26713b582970ff964812b3a7511b88474ad1a39d60fe77fb5b93faa43aa689e37f22cf656dcdde8d4a529b091869c19a199bf5af108ce21a33eb8ae43a8485f63a7c0ae7f3e9d6d3fbf35320f44e2572fb823070f38da5d5fb4cd37f3e167531443d7027341943de2d2e0dbe4918ce0f53b1e5a7368b2c3c6ff4ff9044663d54810e945168c3b1d019852e9412c0563e10ce0287359612c8365ce0fd34c5cdb9f290f0e017571aaef2f889ca179debd4f3065bae18380425f4d7c9dd18bb2cf626ea6faa24e3f4384b1da15a3d6df8b52cc90b935da2e4c23b9597355cee7f1945393e249b7b14ad729ff91432962e6218224895175df6f11b30546af34ef81f1840d4b4f24290fa19e90d41f3792fbd17b307eff2702189161f1552f429b1fc18154682320160642d6a8c304b9a74645336beb060762fd36780e26160b5380e4500bf316ab3b6594b76993031ace92b2efad9cb178983121b9d4845f4ba36071a9d404af3f9d4f2199f14cff37ed44717baad75f448628d19af3421f46a8b0f19184461f3ef7bc1178d00634bcf58624c6725ac619927f15545490f360e0fb877c6814c6b9ea2f952ccf3a3abad91da10ef63f3144a0f23340223ff35814709f4d3516c16e5bb75f3a3574719c25228f4b5a03e1636db84f49a58781762e821f35742a2181bc2f7f397ef311637054630ad43d250643a45395291b55b725ae5723bdd1b62eae7a445bd65319f19c63568c61a5b1206b34d3bed1dd63786de01f49a49affb2a9cebf3518ed9fb7f061bf402f2bdfb0bb9c0f344eaa4fb1bb58df3fb10a4fb6bcbb8f3bb45a0fbfbd11ef477204efb6ff5815087d668629a2a0c5d17e9236a698d0061d79fdb460b2f26a9c24f33529ee32911b3aa1515876dab37a91b8339f13feff22ac0af17a839caf36b8b36183cace0f27ca7e419927205f46713bd1740d4a5f49da36019a6baa1f4ceac2c19b530c1f2eaf4de19c6322751ef91df5b92e05f6533f2a760db246a7d1551e266a304d149e19ef5ab9b67c917279abc17e5eb69fbf214f2182014b4fb9ffe3e163705e1fba23dfe17e466a2fb4cd37c16dcc16ffbaaa6f61663923efb92173218345ca6fb512703175f6a95fb422b751962216358fc9aad68a047125962cd87430577849addf21174af2dc5499c4fcf8778b8293377e4ed3b12154cf3afbf46fb6ab6baf3dc41b0fb4cbe91f32c0b39fb2ef0f3f2262a42fbe21813f3cd5230fb476af8f3870f92fbefea62f47a7a92fb7234cdf297d11f5d8e12023c55bf666f4ef6005c8d58bc9549953d730699fd4ff8264fb23cf0ac1886051a1c4d05891af4edc2fbf792baf24163bdfbe896c3f32f65e3fb6023ebf2ca07d7fb66774bf4993ad1fbd99a01f30be2a6fbd34630f3275768fb7ef1a1f2f78972fbe65735554ebaa9390610c05a5315734087513d8c09862074f653884a096d36bad118d01b4762691789a9a4fb84456418eb0ca3fb4aa9b419eedf99fb865a481883a740fbccb302171e6b31fbdcc4a318d918a3fb2772ae179e15aefb5dcf1b17b3873ffb7673f4189ca65c5d080bdc43f1e1b278e9bbf0411aed639db279b76db39473596dd293164dfc0317fddbabfb866f2cf49fee5afb376ea4f3351975fb9baa96f394a45afbd65b6bf333ddaffb9de9fdf212c3d7fbeeead4f2262aa9fbf329a1f4fa10ccfbaee586f41f6791fbe442375aab92fb3ebf0cd287434e9d6e5b5143a22f6941660f17d858c6629c18cba73c167536ce1e8e78a81944d168f419b32118417e79f37ee3a4168ea062f3684ff8160f7514f3d3335e16d0c984f4e44f5716db178bf3f1e44f1765e6d5f39b589417ffd4263cb1b60b56568bf7410b9931975f374f710f5c7f4fa42325bcbf1b8b7648524f17d3a2bc1d17f181fb389846f3eaf47dfb8dede9f2ef7b22fb6cb646f4429fd8fb1ab5a5f4cd8e2ffb7dc74ef4164ac2fb955678f3aea1abfb511264f4825bd7fb2cdbf5f268318f5c44110177dd73146b7a24ef4d9557b1ac71c8ac855c5302606910468a110d2833d76a203d85cc1c16f25d02f36cc7671902a893f3c335ff186fdffbf23bdcd317eae2b3f3dfb9001a3c8153f3a8edd118ccf62bf491591a17bed596f344cc8916cbf73c423ef6c45d15bc03651b1912a83850df6979ba2a6292c2eebd5d91e87574332d1ec8640e210884defb523cdff2811f84fb900283f397e066fbb5636bf4b5af3afbe896e9f2ed4ea3fbaabb7cf42cfc51fb744940f4fc3dc7fb444010f3ebf46cfb40019ff4ba45685818c3743cc9991ca49c3d626e6cdb6d54ca28d67ab141e2599329871efca9c71b6444e22057e352f45dd8b917feaa52f42bfc1119743121f3694f9818db6c99f3d79c4618989917f426394b16467b0df3b1fb8f19521d21f48db4ca175a186e3dbffda754ced3533d92a3eea77ad2e668dd293056741d36bf0ff6d877943fff1c5c2be22145ecd620c546c1f3241b6b1627e58ef43e187e1951f342f42ab1b917ec3602f4f8a719192312a0f21e3ac51704a731f4981c4f168ba270f48c969c181fea6d40d92c977aaa69c464c1fe0b4fe4ac6e6dca35ef5f6aa19dc29fe940765b492821c377c822552bbe2132b22720a4a99cfbe66ccb18874f90fb5de48618e3bcc8fb7a9dfc174fca80fb033b2e19226885fb5cbaa018cf7481fb4bbe3b1690f45071cf3b545fc7dc4c460fb904a5f494e4710bb28c59b37201bc93c3b85cedf29ed26f8cac231756f41e282b6e208e484d416f57f1f2d56f3617c0a984f402e336196a0dacf401f23a182db681f4e431cd161e6be5f31d3a03177b0239f33755483d85c9d2624864d23f6bb7c5a69c7e2164d4f8ed6167d7fdbd05c2405ff28607d169ffc3238fcc5423c78c9346c614a93f473a2b17750683fbeed5a017f40664fb11227117579a43fbf768d91957ef44fb4994591639592ffb3898db867e356462c5292e4270ba30a3145c994dc63817c2b506ff790c88855f7484a1d36b3cb022b49dc01f39897e3db627e7453b7eaa47ee9c181a325d08f3aea14718447cc5f3ce9d6d187dabeef346352a168c4c9bf38ff00e189a54f0817d9e5867e164264acf9f89a0468af5865b1d0f5d44650780f7a37565a8f4c0ceb96346217425be3f42ddfb460186a443dc4f4f39e726fd2e11ac22fba65269162b0d79fbccdde017447c95fbeeead617a64c9a609f26b64105687099d3e8f96edd6e714832a030810d602862a462e0c908e95486467e4f657a255646fefc1b3d6612ce46f05c183a0aa2e63122e07a4fe77fc847dfdb81f4981cdd5a7e25095e2496ff7c0d982d61f1b45a40c98a5da72c8cd36f9bae985ea04c49826f6e0159848c46d189116c7425229a29dca5753180914230f7d87f2cd1e2294a23bd653c8f2c033180eb015dc4796a35ffb37e5d2a91a83e040b6f9551375c7318d897491c79c9bfd5a26b563d7258cbb89e8e7b06429a6fdbbb519019578d2cf852092d88bd0f2a78859a2f1ffe22519dd8cb507fba725b0e80ca5d8ed18c6087f6007e90e4ac6bd0224e504285c6ad5e2a4885c47c8e5608003a80cdac406c2de6e9d9c33b3d881826ea313c35a52f98773329023e2e2f644eed4c9fd91548d5819c5845a9c356a9e281411746cb75d8b9686bb07213513a6827af9e2d2582d3aaee5d0a1e1582463d496d83be81d6d0003b8586b2b42e814ecb2eb4b31b288dd08d4a6d71253f6f90872d7f2ee65a725a8f582404ef5c515ac37806644d66e187784bf25f74a43c7dd98747933f580caf12c97de8796af508f6ce38d753833fa7e3df673b922672b38b4a3750af52b2e56f46a293d2301edf675a87c40637fa24ff5de154a43f0bf38b907403487346618150454a15be8935547faf98945cf4502f7649b7fb6993be0d924ba7e87e5c44373d6a05774e1f29b0405671ec2d2912145352a9f45d41c46d625518ce670cea41617a3a074385e691abd1d9156a1d614d5fb54f097d82d80c614b6b92cfc8bbf18ecd7c70d5e7049d93d1e01d3208d0df28de97dd2f92b2384b83a3414fd99c8754c10b9e5dd1be2056f367ff898dec986d36884b48e0487aa87651128106a3085ec747b37f462bcf65f40a63d5ef3e7f7cceecdee0471af487ef9a024980f7d83f5964932f413bab5da896195fea92a65bb5e08a7a9bd68e57b2e1444310b9ef9f9b1b0772aea0435d832578761abacc584d3588cdec05e37241fdd2de96b2b67eb007b4e5f9d4ef2a8742af5235a45147c3cab7323fd344569e919373f12bd5554e858d3c3b21c295a1d79c4a4fb2a7b79f3ab4817fe0416134b576cce565e369d8770ed9c2924f8be0dfa9dd680fe77af006c4499b2cf442c3a8c83284915263e978a0343afd905502056046dc7ab6773c132468e7578f4cfde095720b8e785a720e4bc40228f788b0f27669314a5f931b46bd7903017f8e10890fe23b330b2f9651075346d3114f7bd0563a61aa2b540a0abd34d4772278bec85e703c9d214d3cb2b767c686f94e8433cfbe3fab6a77d952576510c5cc764230fd772df1fee062380a787e5e1da520a88c3e08b7c330d28d614ff959b861ecc7795fe87c22712ae536609e6bee407518e19d641c5b653da09e59b8800e89d17848545190aad2538d869bd717dbd8356a67798d9ec5e38da75c9caf09b6ab547b3941643edf2f02e64254d50e36362c41616048da6c425bf9318c40ad18669821964ec7cbd2b8714e8f5dc27626caff71a47bf64d476ce899f18c24556f7820202b9b3fc5f4e77ac5be8c1bd2e3492682645389b4b359578edf64a5a823571c07547829153e647579c44813fa75b8937cd5797249dd5803ee0386f9cab266917789d973c3c989dff5e0de1a65817d238899a57e9e48eb67c3d0321d4dee57cc778c5525bf8f542e90828a8b72085cd25067411b57e1a7d11a4f67da559757ad36fbb9f6f3c55cf6723acf5d58348dc055fce03fd929925ba3f6e40db6df8f0358c8a335945849649d783b52b0006124cf4042c3f16a854dd4a7672206614e215921735710d162219312c171da4b7649882772eb6ac18293790f8a6ad0eb8a98988789622911a626f368e825d45f92441e6949bc1b3e57a98a2136eda230713b4b6c6175aa129315646973336e21535ebbb8b8a549687da77a9c603751abd14723da67adc45dd8ecffb37995aabce4d743db9059e992aa435f87ebf2069785b20d1282e032f87ec90a5977b5b6eb7ce5e14e76816f6d8aa2a99d88a41cda754a8eed7955bdc677bda57b7c9308d8853619ea8795f972807be4487ad3c6ba8177c1897f6ea77077cd107d7b0c6eb9775068bd82b5994983546a8b789ca4fc7e30fe328a23afde89fc09b97d0dc4b878a796bc885f381176c0dedd7c3009868708763778074f1483b056e47b2d2e6f775e060d80613be47905e3c28197a2b2867f2087840da05978d324ca77d0d2c3838b448282d320027d0815b57a46e25386e546797aea5eba75c4748a77a68fe6769eb2d488d27ee978dcf669752152f679d5d4447e23d3767a076168784a958b79e1e6cb7e174abe7e0952b07a7e773b7e902dfe83891d937b603f948047799278c0e56181423661814ddcad7e50682c7bd2708e8791bd117bd3ad5d764ab9e9851e6116883d29db86051203825f38767ecf081c7edad64780ccc1007a419fa88156cbfb8877f0068a366cf17ab74967805410d1775c0ec084f283567a15ff0480a7bab185479db782a0e0027c86b9e58487498f89cbd316877cf25b801767548ac2714878a7a81c89caa1d885c0633589a0289b7edbef3e82b44ae88619e8d979c7e36585e1ac7d81e3dea681258e21841709f6844a668580588df77ba9ec97766b4321899d7c8f84f0b64b880840f485a1533d851767a57d4a544c83b06ffa7dc8b02f8747de5c7fbfcc1387f25f5a8a96d15289712fee8898a5408dfef27fb1fe337a96b4d9119e22eb87a7befdb497371c3793e2cc0aac6839ae8fdf2214934812e67a0fae55765e185b83fc9293793110d187dcce0e868708c67c2d76639bf921f880fcbef0956f67119f67b9559a35d5fb9b7c1ecc997a8cb6b78d5cf38c291b8a8b95baa28623c1f77ac0c1d18300ec467e9c6e94869bba197d07b41b8215ed717c33a3518a2a69078e6c91f6ad16430393da5506a55aa5d0037315fafc42ea2304936366d8c6a231a413a65288914a4878fdecb7772cc2ad83e9a63a83e6830079d593e17e3d6ab47b4116c192d8e6c68cfe19c9af3ec9c39005755d013a19f177bd9ea67a4d820f7a4e487c042afd998ae5808088048d1c7cc641628a98e6237ed84a2e7b4c74f67ceebe667d388172975a9ae8afa684c0785fc93092ba7ee176bb07db75b140997b504ba975669b2c865791fb8b03a2327b42ee2879af368c80edb7ac827a8a198220b7b9783bfb7779379079828ed03eb60c7aed938ef44a98ff16557824090280d15731762a53287703a3b77fe63bd287bed734819a8f2080aac48c8253cc6a75084b27795ed0db7599b7f18705651188868021a7a69f5eb33e38d97dc4fd1985411d5076c1516a76d8de15829ba8e8861fdc0f88aa783f7b9aac607cc4b52478d9b68f7d03c7a57974203779ea94e0764e1d8f9d8ac846a5eb023c84085245853201b782e10ac287e06f07774edcdb8465e7e67b4f201381f6363f8327e4cc7f49584576e49dec82aad62b849a18e57ddab9dfa1dfa972a6a2b7127f6d3b3278c7a2f881f0af98824535538250c2998900cf9b88288d2778e3a5a29607b80c8af1e1f989ebb4ae7dd81bfe750a478a76390a5b7b16d7b9993e2d42cf578d667a5a367b78e9f23b7b6d993680088c68756815f1891602298a214723abf3ed7f8f93785d8a60b62d7f9eb218890b14197c055eff793efab48717d3f3b1cef2697a0b0daf7db98d5c89fd22457b7ea64a823c2d0d7cbbea0f763d9900fbcd7c0993dd268a901da4f37cdd3adc772d0a257608a94f6af2ecfe8990c841a548ad0f0355bd0b81c8cd508356dde386276d8987e4c8a17eae24597cac2c9685aa9cc780e78af9a7128b35a7e9e43f76e95770804540f4893590636813988480ba2f139c9f0c55cf83ba19860744d489391892880cfe0388f03fa186e898e57bdd04e379cba8b8fab785aa7d307981941cf013891e2b397be66ac778effb7b751ce013894acb3e846196ee03de219d897ead1781e16f55890797767732717b7de9e02981710be977bbb463fcf62c2695d6343a977160de77eb897f7530e5f883ab1320711d583f8542c6327aa93f847c26e8ae8708649b7e8188db85b068b58886efc983bb205d897fa99c8468f85ef91cde28a52f53e29aed1c0d7f8d8119889b02c485d946ab664e23bf880482d580c720ae03112885d3da3ef5804946a079c54cd5818cf8d489cd3b628376f4f882b02727872cc97d22c71cbb9c815fe9843299d185b9f9268620db128aaa5432880e540f7cb833b28a1d5a6dd08ba32078d731a87a3e5420770bf03f8511f95e7a99760a8607a9747f5599b1fab4e9db81987a0e879b025b7c8d6f6978d1bc797d09ed717cc600de87c2131b8498b4da03fa05068478a4b287491ec17eaf7e0c897045e87ea6f48782d212087c4ae8261d0f6f8a88c0755084709f6979ab8ade7818d3fd752beacb841a37c8786bccc77c149311847b83808ad929b8893b3819847bd2c27b19348181d8928287ace0be81a2481c1b8b644980cf780f771cc794839d461e7a85872d8038e63b7e25abcd8744d4f87b76233aa0aa52ebd7dcf395882d352a8351529c88f9ed62882f1b3d8a2e67d87b6dfe6bf8af405a83b1c9a7781e89ca76b46e807b4dd55f83761f5e88a1414e8af230b1851248a69d78bd977f239dc87a30b68d7f59940889c67e1177fd92fd861dee88864cb1591be244838471e77587929508875f678889cfd22b885a6c6081052f387e616a7a95bd77bbb1b62c138a067367797a4de184bef4d981d4d4f285ee3ca07ddad63c7a8003257fe6a788793612258267cd397e8529538850e641762ba213796a18c57ed784b7a52fd508a5ff20d6869efabf75d4df5f8a0e37078a9a432585d194c478d9b3b2786337658a8ca57d878c9eac7a19cf377e01f38482fee8c97926b98085796ae89e949cc590dc73e87d162af77c02e8088786b96a808534d2869636ba7c3117c086a46f587ac74f0e7ad36cd0806677b183ef845e870b1448822f4aa087dbd2be7aca2314810d587d869815da803de1e7855f800b850d17f47e7a1e32f90724a69a3f96087f43ea127b6a182a7bfd348b830732597c4f97457bcdbd9182687a998096417287ac455787b3a8cc8246a11e03b6260486f3a3837effe43b89e505de9b95289f9334b3ab840b670f7df76c63884d12b084dc574579ebb4018104286881d85c12861f1510767af346872d88fb86b01c9176e2bb40dccaa58cfa8517f60409c52a9ecaebf394ed2204a1499d827e71164f818c8ce57bf993528a8dff547c5a128f78fdab6e8acf492e82caa1737939ff837903492c9e15b105837ccb6c96d364cea13718beab45cc63a4dbb267872ee9ba80433d0f89b982877b7aa0437c178bc57cc9db49812ee96d839b96ec7f3087a979a9fe4f8942f577a8b8aa46a5009723940ef30e8fdd242eaf54b30298a5b8d579ef96f8844b5bf77d5e8fd989c2dd558aa5f488833c105b7734aa5889366c7f787df91d806ecb87859e787d9079ff13a63b6b2a8b01851c8c0015a1a35783748ad81b147ec9a56b894303be88adf98775b82cea775b4f787ba9ec7675b3313d7e4d8de588bcf81d8969f4238d5e69be94a58fecaa4121839ae315a69706ddf68a3c56d97b031a4487a743597a04bca87a08df6284aa30628a2da15488948dab86f283667e2ded9e895a7ef0864a1ece89683dfe7946884da33af14bac9579888c54d36097cbe562899b6efe818e3cda7c6f139b800d6a0c842c6fd87c625ffc79621e5084fe4da9803ad79080c31a237694b56d762587fe7576d051879db28578da6af183a7ba867b838b1388eb4f7384144be37e35e7437bd647c37642b8047bac91fd8509359281e07abc84e38bcd7b2ef4177e16d7e4829677b57b6a3c1c86ffaeea7554a4c381e629cd76f4b5647af3c05781599421804f32568846ba047bf5f23485aa42797d24c8e1823a8f7d7ef5c3137cb9f9f17d9b79c5771320817ec486607559163f8aad94d487d96a8478604ae689faf40f884899338a71ca6f8052b3ca7934c7b279ef72b6833c2dcf87157d32833183f87e41530f850d5f2f7f6271647a08dfcc76e52240864fd8967f99ff6c81e8509d75436ca985506f117690e56b82115360820063ec842f79887b035b9e81b91d167da253ea76c2179082a27e977eeebe1482cc8030886afb707ce3c56a868b4f457870aa77776ea76c77fd1b65780504aa7812bf8d87f5700f7f4a42167a2d9aa485e8eba27a02a7f98750398e754c7f1c887ba3f17f01a0b27dcbba247c8da525856b67a37ac57b168437f122843eef50897e485d7de3cc4683d97ca77da1c35f7b1e65eb79f4b56a88bc1597889e305e7b62cb8975661d3d7e1b6dd27fe8bc4079c2f3808adaa7f8865c81887f9797c6852b613681a2003e7ca021df7d2683247de48b3d806d107e75b2c9a0758575197e3457fb84c129f88193ae7b80eb7e668391225c87e994eb86a62a357d2003e5822c5d6989eb3d3d89e4e5fb82447a8c7eab8af6799e71b775277fe87aca187d82215976893f7f4277bcbb3d7aeab82e82a4b01789650b0179d29442896852507cef31227c8015c47a1ebf568a159a7d7d797c5080c1995f7b5cdfcf7e7743fc81c01b817e6dfeb0770e1e5479b355ae7be5cf2d8905addf7b8d5d8e83f57b35834e903f77ed5de57da439b5794eca49779e6a8d7f03743b88c0da998279b2597da81b237ca9466478589160773815fa845326708352a80576e0dfed75c23b5d863773717622b332872989b17f3d4d2a786f7f6586858e6981eb61547e87ae438220d4b781ca47f88066367f77171f6a88bd47c281d086d77c69edcb7881ed067b7a423b84e9e73d85d3a99788c01bc985b61e8d76b1b04178483ff5807d0b4b7ddf077f82ea658b811eb49c8866adfa7e3dc41d861bf6b97b1da66c8463379688ba6c5778bf607b82eed76178484af37837732a8261abaf7cfe95a67f144ba6784c62e087cae92979238bb68159c3217f4d16e97d58695287eda5f579b737557e8a4804765d5d4888738cf9790689308957215e8069a5c6889500347e88bc947e6cb65577c719ef8680d45c7d6f8aef86feb97182e5059a7b7b08898a5ff7cc7ae2be8b81c89ebd89ad77c57532305b85370ef17ad5c9d68482fba7880ffdf18283140b8a546afd7f4809617e5e7dd8788e9a0c83ce42227ada17358838520b785fcca87d83ccb57e3cec797c81ed177d3797b3796f6d557c59827e879f99c49d4094599d8f2e11a25021b88741121578fcf0f187ab6d9d86fe9540800201cb80da5f0f8072dce8867182408610c3e687b517098405940177a3c62f87a11de7a140c6518b772ffe90d0ff517a6337bc7a4731e884f009e481c9ff5d7e10aaaf85640f837a9ddae585f677827570a3df88fd176c7fb821e581e3141a880da01185b9c74d91a8d0adb5a830b98a98d596854b503a7f71f93979f199b87b576d82856732b6802081e17513731f86aa71de7bab9c0b7b9504b77dd33dc588c3081d8711a6d69ce9d132b70f581690eeb4c387ef1f3f891488ff850c6ad17f65c33c83fb556d7a7593da766c6ea289b8f2d4773175507ff665ba7b1b1a07889b55d5872eb3a3ad2635c08f9e5cb1abf8cd4880b438bd8207fc1880c7852a825ff03b799761ba7d45ff6e83f3c032836bd33c88f9528b7842413a8acd5f41791241c6797e00768626b90a94288aa1a5666113b2936c9e8674c93378bd4b018435dcbc896f86f58183f0878944c2787e8bc6a3800e95f28030ab2f84eff0738796e3f086a3bb4a787ab2db8e8605e8029dba41fc0fec099202a3146465e9e48541ca737910aaee828218f280c17cd777ba82bb7f86543685b164ef7c2ba9438786dd3a8a7b507f0163f5d885402166773f8ac7876b9d607ce33c1c7e19b2be8724cf6d7c03e4fc8980c2947b38276678a01a957f5b20d979fbb3b980449eb677a3f51a7f85875e977409adb1d85985923d3d9285a373648968b7367a99c2bf777a4d5e8bec6933b49ebb36866d3b2a857b913e801439228606bf4879af072c7846471082c4eb50792a9bacd048f7eaaf50a4298c43f866892c81747939ed307b3117b0807c33b579b10ac6ab76fefd84ed4008863e54757ee60c6c84d8e57b7d6f137d7befe98b81fc80327e5272b490077466a3fa75cc7bd93f9b809600d4816a061682318eb88537eacc9f21a31596839c47862c81877795452d83768f2486d13aef84288d59805cf1fc7da8802b7d5c2bd79efe2c8a7ba4035a8adce0c37c9689f17f1addd17ffb0d3d76923ba99a5f20aa87138ca276bc035f79cd58d37a36caff7de1d482802d1158980da6d278e6c8b2b0243f45784809ef7ebfcca47fc88c2e7670912e824b6d88813c80618ac0073991fe161885080abf80bf4366782a53be7d00c88f7c081ca67d279ca488d6e2fc838529d8da6786987e49e16a8672369b85ea9bab7632300484fc094a834564e5821320058750819d787050477ac7c6fc85a97c4c77ce05b385d731aa81ec7a6b7b21116d9f402da080b61ed37b640f807b9557458322ba2980bf02c67f26cbf57f844a31f92599597dcabe038254c80a7c11f9247eda30877de65f277dacaa7c751e2fb2862d35b4d8ab39677e7c740f822d9a4b8286fa6d88fb38668752b38b8981ac3286cae9891c02f27487ab62bb7a1fbbd7830cdae57b0009c67d972b7b7f732b0b8a8c270a7926b9557e26b965778754407bdb421988008793830761d8810386eb891e616e7dcdfeb21daf446f7f4d284f88033e8284a97cc4898d76f6794403cf75b181cc8384b694886398b385b1ed06868003e785b80f6c789337238259b1cf8602d2ab82d17b4076c8df6b76b19eec7db223cb7af598fb8416b355867f0e5387afea5e8336d12c79d8f7827d10ceb685f72b9b76943ec675625f6c7b8ed07d7bf0e51289590b7789512ae7f942a87d193bc3b7860cfe8b756a23c6798e6bac77e4c1b776f9a53082692e80857c69bd0294a0e67cb08c0388f86fa6869b434e7c16188e8164bc08860b8beb8269e2dd7fec151e79bc9e1880227d888822e976806f499c7e152e227e8bf5fe7c00c82481e898fade846be38140e0277b84f7417c4f07417e06246179c3130784a5407a7d9868321b0570a17582be397afa231e825cc2eb795e065278485135838804da8666c69177ecf1107f5355087c41e7a28673c63484afc6d57e43856c7d52fb6b813af4d0844c1f6f76d44f8783c1e17f7db42da482acf24e771cfd3281b546ac7526d60b8748fe1f983c79bc753462cc825ed78578bda51c8887083f82eb0eeb84495f067e0fe4491cabd286868a4831815475fd818f38ea777403c98871e7ef7ea3c6678512d81d865d110f8c34698d7554afad851fcdd8810c87aa7b7576bd87b58e8d783051d57750323d8688983780655e137f06774080977ead773b79897760af1f7ab713d97c320134a58490f57fc391ec771c748778eeed3a83d8e5cd7b0c1b317650397e751e2d439514250f8869f46e7e32011f7b923bd47f1415e87cca2ae676abd23088e0933786f3370faf90fc5c7a11700077b044bb7d6b67398893c04976bb6ce7844caacb8e90150b8a47387d87a7267a8092e8f383250cb87f92304877e0684c79be2311806aa14e90e6c4b184e8d9447a36415e7e985d2b781cce728a5505d084eb7edd94a0c6317d564da07d912216873720188445ffa3887be4cc850b4ac98349c4fd77b0035ab57743148037b193853c104580ad82d77514159f7eb4c19d8ad4e6aaa8f7030ab738f7d0840fe4f07f92831f80181bbd80af198a8857912a874cc3538aa3a9b184886909a28f67ac8db04c29208044f37b744b1d85543f9976bb1265857df9789baf534c97fb418d816624f780bb2b107f3e951479f5987581800a257985c88e7e6c757b7600a4c1a0b45b9c9448f01495730fb57c8b73cf849c925379f7070f94c5f476aef6b56c92385d8c87d66b3c89f469477c88869387e26060883f981786026df37e2a19ef88f051149ed7d571ab211d0696fa4b4c925b06cdf90b12b2acea4cd994d5f38fa9096b1baa1006b2833d1705846fd93c7608d46e834a25df80a5acbf794cb5a77e37326d8a1b3e6a75d1efd3932d0e509fdb5a679bdeb55f839591fa9214bbeeb30790b58de9e509994ae8207b4929a68874c20377692e2b81b23c58827e0750779f499b816087c97dc582d977e65fd27dfad0327dae652276a0e4e380c964e3814df92e81d70d058694216f790b798d810e953b86987a5c76f1631e7a3199107cecbb598a1b5000879416c67a433d1e807fa9d0788b7e6b7d6b1f6b80f450b3784ad6cb7e7f3d7789b09e05783ff6838450b7a67c10fd09819ea75b84483429889117d079eb12ff7a64ce877e86dd3a7e44c2e576c4e4c78992dd2184b41b1083ad8de681a2659884516b99797ea68b8a7c3a96812140577d7050d186273ea2868625a48003f62486497c2d88cde11c82c797597a68273a86fda03f7a72d19a8025cf8e85c3e48a868b3d3c8216a1b67b863b8c7b9eb9ee81410b977d9bde3c7bcb1f817ad4cd4283a743b689f40f92893852d2824564128963b528848678487e4cd9178a6b7933817714a683b4a4d1794593ff83b695d47e01c4fa7facb56682ef67a086e7080681fb67627f9dcf917c8438338385bd647cffdd427886d68784084b84788f721284ccc1ae804a8a5f76b0731179ec61a875d319af7742add57f49588b781ff5878382a1be75ad9fc286be0da075eab1bf8001057f821ebf5179a17bce7f95c3768523d345893eef997f9803a383b5587d7ea65984813428377ccb4377750e1eb88273b48686eb199e7d47431b837e5a8c76a2000e8217f7a989b529a2871d00c0889cab9b8092fa3982b886b4760832407b0732107918d3578636b48d81ad9fce7f8b4f658a51ac688904d5e378be8fcd7758862e7960512d88e2602684f06ed37ad84ad7875f38518621ac3d84c5f94f83c105c17efc6e887f88864f8349f38381003f2e7a1c0f90805953987e2d11df7a75b7c276c87a1d7633d23b83f3c07b7f271a99754485fd89ae19697fcf49c475db428f75355e16875ac6f27f986fb77704451081b5ab4f8199c9fb85ddd5ff815bcdc98699d0da7e40aa8478d7a8217de64da08891b21a7b6a4e477f162aa184ef848f7963e4ae7f55b2747ee8aae78113973e85bc15dd7d10eb9576c3541b853c511277f7e38d8129ee7c8277de3d8425f39989f3ae567b08c297791d942b7743eacb864c9f9581eaee987a2bfc8e89b6255189a1a604884780c6894f322383d6c503779d874487740ab27a1987977ecd05c47d9e42d37e9582c97e93a3827a8b07197b60807e88ec27cb89c33ed2779cf7a38491b29d87e8ce317c7606967c1cbc427ff2a0a4895ca50c84099aba75434fd6808ec5db790bbae582d59a267b2193377c198e02882392d9786ce58185cd223a764444b782d5ed938493f6fa88497cbb88a547368407df8277524747800ac52479c3ef9379b7ef637d0a7d448ae505fb85d2000b81f89e868a14eded78354c89764d69d6883a67ea761f730d7c1660c57e4b910c7f4265d77adf24907994d9e97d9790c1794b25d48978b6ca805ba2e27bc9e65c825d47877a0075ac86e4f7ef885260a5894e07c382873e7f7a765976775ddb657c9d6a5c867224b68795a61e8a8b32bc854df9c77e2bc6047b471f6c88dafa7576b252ba86dfb46f7752befd880ec0ba89b9c3e67b955e41806d104688ebeaee817da6207ebb5ae182a6f4a0802140548aa224798a7d8296828dffb27c268397866c75ac893ee4f184c092557816be177d6cf78b8489c31a7a8b90237e0af46883a3bb458803d91f7f9653b476079058880c6ad07ed731e88555f31a8873442379ff13398a14f8d9820ffd8f882093ef7c55feb27f2c15658a7e072788a4931b7b7afaf276a3bfcb7fe65f8b848b0e817c89f27c89ae2b6f7653721d7e3a842777da587b7e47a8b17d85eceb7e2451a7855fde4e78d14ceb786f37007e717006847899d67a8015b87736eefa797b3712870022057a8176d47c810a5b88fc1b51832ae3317c6844e189980a4f86a13a727f5a5a8779c873bb79335b6c7f58e0be819283c283f594d77c459a187c4f3dca88dac04689497cdb7571e07b76cc02387cb3de3e7e1d82c389e2b3d77e79e1c187681c76786295c77a50157483bd35367f2dbec389cbba5088dae83a7827781a7e48f7e084e31fb586c9359a77f83d0b7e02cb9a89ada61b7f89b1e87a67d88c7e6707427b99938e781946a582d18214818af57b892ff7ab7ee8989c83f05c297f6f49ac7b60c87b87f337348746433583d576bc75c06e6582276dbb7d4045f27f54ec7b8095e77f8111b8f19346d17daba9fa6da11cf467aa3859288f3cc3728b9eed0699dce1c498a94081abcc74dc93adc02d80a611e69689d47e76d8e5ef81f8df167bee356686fa47db8079296890fe180ca68ea14a8fd585aea5e57284b721d15690735e838c7fa9fc90139b619ebd8bbb885e595787155da79923dc97853e25f6867c169a89cd4d7d8155b2fb7ef283a7b6a01fc59039f30d8be3f2fcaa038f8c914e98bba90e3c390475cfe121366e6c9c95282d8c24ddfb76fcd3e8a12ce52f8a9e9c2b7dd731f887e5e10678796af378db30477dd29b5e91d6efb598e5c645a6c33d249705e638963a36d927ed7b3f7b468fde7fe61793872174c38c3c56c8806533e4946850c47de95ea0881d24437ecf66a68911ca7183257cf48036e333b14fed0a94b7f8369e40c24ab15e273afbf4242f7bc014267d0d46218697689281f3c0707d42369a96dd92ef8486a7e285868a19877702ab7e74c2ba75911089820964c58cc1bb5a8d0d6168ab7fe96395f8046584913b5e84dcbc9d7d691c4f781880ac7fa4270798fc66e48569596e7919b2f9850b92ac7fbf720d7f5d9a7475b3b304b5ae023e9c438c2ca7b54f16ae68e4fd8838b7e27e9bfb787efa2ae5838a890d7e50f8278074ddea87b8a32d8a8360f575be9a587cd02c0c7fb07aaf7fe7789076ac2c098d48130bb71a90919c94084e8ca2e23e82e93a1c8744d405766af43176f3135e8af881de871356c17b23c142a4336d307fe8ebea7646c51f7bbff01d762d648178ba9bac76c395cd88e8eb12057ce8bfdfa887df81df2b0b8a88218882fc269a7918b6a085ab2ca1813feb8f860249749eda88c17d924dfb855f5cae8124b6bd8722e96f79f4a3c37677f0507ba3a6290509290add8ea2a189b00a0c83699ad087dfcdd688bd35d082444b5381864d367773a2068d65335879d21dee7c9cd324817c45bd793abe9a874f689495c77f489a9d579b87bc5d58813cc8ad7b4385387c0e66b7818d118a7d66129b8af10519864c0458a4fb9f2586dd3a327a2bd82c8087913a76c34221860ecb6b77001bd794f5078d84332c2a7b60e553865d064881db78b57dc3e43185337fb481f4b58376b372c08951e20a857ead35856815ff87070e4e8afdc4007de575328529774a79921e897d22a158fa6e65bb79c5579677223ce77887ef4a8381acdc861a660d851bf6ad8548a4ac16a756c877f57b6a7858b56a879a0d6186631a0281c6bf6a87194d5c8932e4969bfa8ccbf9895f23810a3cf07f65286c78f45bbc7524f7aa84178bd07e3f08cf83d9ab8fa3c8e08576fc02a08a8bcd767df2d64f85af6114827e7ee886805d0476e6a01e83358240fc52a107896e9cf08443329d7538f1f7777befdb8471d5da79adc3ef7bb534d317d69949a6c15000822b97cf78ba65ae790bafbd89fd4d7388d731618871772b831631ba7fbe213a7d233828890a8baf80122b39868a89188a677a57843f5b4c7b895ef2f6a8600f8da00b8d7672a6f5894c7b4788a22bf5863b8bcd7b36eeae7cbc7aa388c0c8e27cb9b1a97f18a43e7ea4155487f1c4797fae5a397d739757783cdaa27b49bdd0b0f72f2684eba23585974f5582e0bbcd7f89f90d7b1d5eef7f7c0f586bc4f47e797fd19e1aa42fcf7d7b08a1832ad13d7c08f1da80f612927d6ea7ea825ba91582df3d60b877428d883129448aa6a1a8846f91f9772b61cd819ba8488817d32b85f3e4827b464e3d1ca62b8d86045e467d770d3e781c5064851cc3268677d3407e6ad78d8027eb5c9da485877c3964d1773c6e7f80b9287481069b7c7d71e72d768671e38039e2f47c8737c1849a065e82acc70280fddad8898f09ac893398c088fd17828828f2fa8ff3a7b978bddbfd891bbcce7cd8a43685f421b5879893427abe2a5d7697bf85825123907933e4917512ad6c7efe17e689528444878994ab7dd2121686a3203218f9ccfbb539f89d83848054883afbea7bea82be837a784089d74359823632c07c7fc62489ba9b2b86aacbd77b6fef3787ddf98777f641ef79bf6031824e12818604e00ca3a529537affef3e821e12c889d10b2787e00a2c7a784ac0764444d9838b73ee81f4aa2a97f456c188aa1e7d789f49e37e23558979e30dd37d36d11778d02c98aa1cca728171e797839ed69f840b094e7c2efbb8805fd3ff8517a4d181051d8582ceb2c3800cfe9eae3e68e2814702ba7e21befd811b7f9383e9b1567e24925198062adda32dbbb07f51d0827d6122a880e0f14c850dfa87893da07f8314d4a184ff784e83bc277b7d83883109d35d4a8746c5a0792c44ad75dae83c7b9eb9a0825c7a1b7a5d52ce8506078986a9466684c7fcf1898c81f8824fb4347dd606fd81d8a42c8af1053179539681856a7dcf8dd362e41904e8497e9462097bc026c016948e1b8652962278811c51853e421278d9878688614d6086cd29d0821c21a97c8adcec7c6d87147671ce407bac0f55806881268f947260a23b13310b5edfd2a1c0c7f8940b8d7877b8c70b775a94d57fa43916770c1b2089645e357d593a168549cf977be181487c77cc1386e845a07535f2b68cc3f93d8f3201b17ac14abc8a8e117eb15ff74f93059ec07cd0aa487e5ed0d4894d0bfc8508db8380e04b67780134877ff9a5b77605c37786ff0130841ad252763105e8a7cdf2757929c75685b799a78a41b690a64996109aa444b7781e368c7c151c1476b3433378a7557c7dc6249381bb4f0d7e01e8c384f2d645887c0fc07c865f978c4b78dd89d64e48a8f454d57ddbf32d96a030748c39814a86ace04b8015be4b7eb8fde777fb7df485a3973f81e1881f89a6ba96887bfded79b98d907d9993f17ac0a40595b5684078cf95c1a99852d1ac70f49fa4fb34fe9073a422856b26b07974203a7613ea107f83cc6088d6e2587dc16a4c80414cba885367f67e9707a4890619d8850c673880f670ad8be94c86962f2c84a966d482915be34883e82c40784062b17e5ee96e76f09d1b8650b0cc7b4784d3877a25967d8c441d7df761db7f97a93080897025826283207be7378684332cfd7e206f437a63498e87e99f8375b4f75189bf8b8b7be32af98687c08479b7aef885f88c6b7d8f846f7bb3e9da7fe558957f0009dc8643a96c7e9b148879dbc08a8215ff388aaa42dd7f4a5ff0811ff1f5818e06e47ac8cd4a86f6eeee82aa30b87abdf8cb8432542b87761f5d86f3b5f486b23c8077ee9ac2777d4ca1751ab2a078171f08853d0527878355ec8757913e781726a784ea9b1c7e45db0980bfba027771e0358258eb2e89aaa7b47f5db73d8a47802a7e321e8879cd346383673d8e7ac4b55884a2772188b2a1717e6976c180ae9b567859579c761d69ee7556b9cb7c9bcc00847e071c82ac50d27a3433ac7948af2d881523bf894b91237b1a1e3c852750dc82ee23dc7840452f7e8cb0057b6d34a688a7f0a275f08be77df90aca76059f577c7397527c7d94e488f744fb83783fed85d5939b8708c94688cfb55b87f8686577fd51968287f6f77f337fbe86165543771acbf4779a06947deba203803e013b8a49172984a08d288449cf7d851a308c8172891783a59ab7898231ee7b1d704d848613c57ef62f6b81dcfd4f8026b9d276339c607d0b676a83f0d3d784e1acfc795372c67f94212d875410a28113cda37a1ad69d85a7d3d47ab6e8107627012f8823792085b2c5b689fe4230843eaee281838b5c7c92a70687ec03157bee18507a9a351d8019295b81ca605a7d1004fa819dab4179e63b4178def95b83a56493860e428676c7480081dc339c7f00feb180301bc287f90a0378d8c1e17a6993787ebc03b389350030881cb133894851ac754fe3c9757a3bce77bb5ac287ec6f8c823ae93f7c3e78068122c5217cfa0680878cf8e678ead59586af858e76f8fc64824caa7889d3a99581f55e177d90c1ee85430ef689c81cb975e0b45e7ef2e8f1820350b67a2d52c081925437839935b97f93ae69818a7e838367fc8384b5e10477daf33b87a7c180893f7f5b8100a4f081c6bf058280f88b85273e0b7f0f374584dcc70782d2891d7f00ab0b7f1e19ad813f50de75676c0f7db93a287f5e4e7583c117797af75a9e773e951688613b787bc217e47769ede279fc26547a405786859d4d487e9e54ac83ace08276357bf07c9d87be829271698a439ec77bef84018a124f4d88fbccb8778beaef890c879076ae2fe2885dff2a7aba41178a9b8b9689aacbe97de235658477559f819271118213ea9089aebfd081aead5a7ad987af758288d4891aef73819d8e8378a9c80579c0f0cc7805d523830a2a2c7b34aaa67d9c09937502cb4f8399110585a810cf7aa48c18812e3174836bd3ca81b4c8bf7ba55280851385bf7a23cc9c88e111248a3f7ff9836565b37b2886a389ad82808143d8d67b0fc02a7ded52378414f8ea85680a7c82021ef280d13ab77ecc26c478415e777595212b7637ea107fdf85e97da2d1d57877a85a8f054fd87817cc73785eacd181fd4d1e7ae8507c8608649675ab49ef753ed6a17d82594b8a75be6684e994417ed008b18982d7a68085346c75527dca7e4cfd827c925fb18a26fb9c7d83969e80d5c962781e2426808f9d187f1c7b6b81bd23737d36ad907c5ccd9b88c213bc7a2044cb7da30eb3848296f97a858edc7e66f5c1804dca5c97e631ac8383d3e9924d704e7be766177fc283e37e0940a081f5c3a577effb0f78d128dc7ef283a3849ff6ac768db7d7864141ba88f4fd0f85ae908783c86fdf7aea1d9976c06eac76d5395c7bff787578c2e8a180a0864e7b18d3047f8188748722b30178ddbcf278d68f468626d2a6818176b87618c81588a141c77d688c5799bc773b7706b86a762f8fd0795bd82a762766388564453c856c63237a9993867c28980d81e372fd82d659ef7c1d1de3817f0e7e7dd36cf77e48e5af80200a027c2b7ea4805127f67540e4ce77fd0900783fae4978ff664c801c57cb775701257d12f56581c313ff8387e42676cdc80a7e0541767dcfefb37c209eec7ab27d24874b3e52908b18f993d8534d932c7e948a6a2a6a81bce6f381587bb77d9feff67ebd766a7e14d49a88bf55a3791535c2888326787a68a97579943e53898613d986d8a4c189c1bdcc85633e9d80a826da754c1a851dfd44aef8d62ba41e5d0958f764995a18c37b007fb563ce7f82183f7a42d1b57d7f0edb788f604c89a6c53f83c6f508863d712182a796a8b87bfc419c5c4d928c461498b3c64e467df0f00577cbb3bd7cf9b0af84652f06779b180e7630af657d3e83c487f88c648321596d777838ed8534b14086f6483682494d52a54b994fb14cdf889674ed6fe45cd01677fac9c77cdae8f77eb63b028737324d82d2775d7bfb0d5d7ce1a574786c8be787446fbe7dd4cdba808b3d3e7f6f081176c736929aec6cdb931c365da2f60b657a63e42f894e61fd7ffa064277e70c1080eba22c7eaff558792e18c983a481be75246e828625a70d7787dd30804b1a267b30c8b7907cb36899915363b8a8da7c832c2e1c881eeaeb78400f5279d4a987769820c27d35d5827d56787d7d35e7d0838aee81787bf6f485b379f08946ba9e85f36d258811ad0cb5713fe3b036c48f803b9dee809a182a7ef8bbb47a816fa786238b207b02837b866815257d73f59f7c2c27247a456f3f8a7df9bd7a65d5ae7c446817839bde42b42288a1ae2704c77caf078d7b2ee94780d796e57625ec0d828d2e037ae850fb8070577a87aa8a7f88b9a6d080448c2a77e563cc89ce9c0e79f6a63779b5abe08996362dab3a1b5295f3a0c788b0816586d5b7c7830c990c78718d2d7ab1520c7945c9ee76279178835aadc77e936d187b67e3087a32c44e7ec7d1317758fd8d7c7db13a9d7462d78fddc781813ad7a88792a79383b4fea2758dc2c989eb612b78cda49f880c754177d7a15284f6e3418453794d7fe8624288e2fbbb792480f88789534188638656a9a84e11e2c2212b82fac52c83c91c0177bc320c81463c8a83a6d73f848fa8f3827ef5c586fee8e884bae36783cb26f87d28fd03897ee3f78490229887bbc6f09981c9e595298684870f9102839f9c44890022577c7403908286427e86c83960881696aa8591a06683b7b5f18627b56288c3c7a28517f01f898dbed87729f9d37fd8d3af9a36f8527b9f8ac97fa81b897950df3377dc74ff7d172686884b2c5e7ce34ea786a10be987fb8b28814606588577141781d0ceb5780080dc7b35b8089af50605a632ae6380b113b9841f448b7c53af8e82629c8e7b6d462c84b529f8853fa33e81f3541a7d5da56888347b008ad8f76f797a7175779db675760aa19a88e6fa9187b1590baab17eb086d71fb08185b2638ab04017856421707e37d805881cb15d88724ffa759038b588f69ba18984bddd7b47cc747938328d8319a72d7e1ae8ad862912c98eb6d158a54eb704887212bc76e02002850249b477f2f3da80020c547fa9222488c3b52c7c5b7edd815e06c4897fd88d7b30ecaf79f2faae8243c6a888761f9395281ded91edd4141ed0d5b978f28ecf8091ab527827aee97c6e424082b75bd187f7195d7c9a7df67ac230ce8419a0958948fe517f51c93877cbd7fe7fec03fd81652fc6882e1c87996f89b81c7afb5c7a5f31277e51b72685560c9a7f80e6cf7a86cbcc7cb64d1778f2c4f377c4eb0b83f3ae66890e01a978324d7d80597000884858f28894e06b6e7f37fc75b98dd887eae34880108d7b877db89d7722e2de869b79b580e99f9e822fd347852df4697514cd9d7fe032f18769db56862380f97f929572899eaeb77bb3670d85bded4318a4fda9827219bb87696b6f79f05cbd858a7e6d8901e84b76f7a2c97cda5fd17fbc7a1e8244d4ec8081234387b7494478ca6b05859607b68926aee289951d3d82e6b2a1769dab9f826582fa75eac33276de3abf77bf1f7a824bd2867eee2a257e93912887daa739834ffce37db83364850947b6875cd437897c1d8d7fa90cc4855ef0627bc0e5568409ac0d7fea82ce85b07afd7eff01eb78a8802189e84568772ccd0c80b2060e7fc271587d5343288876315283a33df2894dad79822b0e6e80b9b1dca037593b873416db7a3e4db47f87d20c89e8ce2aaf8d2b4d87b39d3f7908f86678bf43fe821016298197ea5188eadc098aeff09e7b3ee8858894b85f7d11b12c782ef4e396200a39180823cc7dd0a3477c6ad73278c7c6d4ee5bf2d17fcd6a4382b4c84583ab5b6581b8d90a7d0d46737e1dd5007aa0083076bdf83a7b62a7228138a59679ac983ba1759f3791f434af93ec47b7156889baedb06e6a8c964b139ff953427a3de10f7917afb4882cc93682cec40c7da128338a331abb76fc26618946cc1588e546a6877ff118a6a39c919a6e8d7598e435f3adadf59f9050ddb694d615" + } + ] + }, "job_v5_a_frame_altered": { "kind": "job", "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-5004\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.decode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", @@ -2263,6 +2585,43 @@ } ] }, + "package_run_v3r": { + "kind": "job", + "request": "{\"capability\":\"wai.video.package\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"pack-0002\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"package.build\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"packages\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.package\",\"divisor\":1,\"endpoint\":\"pack.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"package.build\",\"price\":400000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"packages\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1501,\"root\":\"b12549d244eefa207ba33bf4102c53285d28594a9117a717389b38e4943fc1e0\"},\"end\":1793000003001000,\"endpoint\":\"pack.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:c88e0801bda54b3a577e53661d1126382e29f8a62310940875f116acc5c3f528\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.package\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"pack.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"package.build\",\"price\":400000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"packages\",\"via_fallback\":false}],\"capability\":\"wai.video.package\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"pack-0002\",\"kind\":\"wai-route-record\",\"operation\":\"package.build\",\"order\":[\"pack.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"eb5385c0f626d3b125bcb31b672cc45f59e6ab8383ffd357d737eed3e6fada05\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"packages\"}],\"request\":\"74aefc72475ebe1236427d0e53a57da2334116a1a7fb7b1a5c240fce65f1df9a\",\"sig\":\"d6498c4ac790b61e6bed7768d609ac2207571adab8695ec3dde8db849de4b33a12e8e2e9337e5abaab6c09b22f6c74062c87929effba0ffdfc96379b6b8b9302\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:c88e0801bda54b3a577e53661d1126382e29f8a62310940875f116acc5c3f528\",\"kind\":\"job\",\"capability\":\"oer.job.package.build\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:91170cf30ad26f70fb5c2e897c423ac934ca8f91597ee45c306e768807f768a4\"],\"output\":\"b12549d244eefa207ba33bf4102c53285d28594a9117a717389b38e4943fc1e0\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"4.75\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"4.75\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"pack.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:573e7c661b4a15db4af8b8b6c9b63f7ec7772e8b29ba0744dfb04af1e8ea7cbb\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"0848fee147e03415e5ac0f6a54a3355e090532e0cbb7e4ae8be87bda12aa2957e84ca89e2d332622dfe3a2aafa45414f06cc922c6c374db3d33e08e5892bc606\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "package": "{\"asset_id\":\"video-base-01\",\"components\":[{\"id\":\"v\",\"index\":\"index-v.wsix\",\"index_digest\":\"5ffc2be3f21af79078a1158e3d669e4268a35b0ca61a6e73ff252fdf38f346d0\",\"media_class\":\"video\",\"stage_root\":\"bd0c7799633b108cf9ccb0c7a4cedbdf6173a83470d3d96b94d075c03e0db7b6\"}],\"energy_provenance\":null,\"grant\":{\"capability\":\"wai.video.package\",\"funds_ceiling\":null,\"grant_hash\":\"0000000000000000000000000000000000000000000000000000000000000000\",\"joule_ceiling_micro\":null},\"joules_micro\":0,\"kind\":\"package\",\"packager\":\"builtin:wai-pack@0.1.0\",\"parent_kind\":\"none\",\"parent_receipt_hash\":null,\"policy_digest\":\"e1c131d56798eb840e22736076d74908bca2b7585aeae7e4bb1698218c01a35e\",\"receipt_hash\":\"22c6f558063499040127d58b062f08f9ec2a6cee54b51c97d42e8741d76ad728\",\"sig\":\"4554bd1c09aaa4af8799e37e2379cde9d341c7982a6d31a050162ee075c07f93c507abfda9c8223e70b9c56a4dbf9cee626ddaa680bd807fb4eda1fd2f885b06\",\"signer_id\":\"did:key:z6MkfMo6gxqdBhaHMNnmfhgZFBjpCDTkmJMJLoypsBZS9PwD\",\"signer_pubkey\":\"0d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b0\",\"stored_bytes\":119779,\"total_bytes\":130963,\"total_entries\":10,\"unique_objects\":8,\"version\":2,\"work_units\":10}", + "indexes": [ + "57534958010000001900000001000000050000000a0000000600000003000000e1c131d56798eb840e22736076d74908bca2b7585aeae7e4bb1698218c01a35e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005867fc2ae20b6764311037b4dd14166d15e011b93481df24fdb2a116be659ae80000000000000000000000000000000000000000000000003c00000000000000020003000000000000000000000000003c0000000000000019000000020000000200020100000000000000000000000055000000000000003200000004000000020003010000000000000000000000008700000000000000190000000600000002000201000000000000000000000000a00000000000000028000000080000000200030100000000000000000000000024761a434c91c627f11abd6265371966b50573602a200dd7bb04e0d90889326d929b0000000000000000000000000000ffffffff040000000200000000000000f60c722a119439058495ee4b99919e3dd41aaf6abe6b39badbc7b0e9e9a157b558d6800000000000b600000000000000d09a000000000000000000000000000035c7a45323b7afe979c123fa885f35cc55fabd2a1954759aebe4b95dbc76361f580a0000000000000000000000000000ffffffff0500020000040000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffd3010000000000007908000000000000000000000000000061c7c3b7ccab07ed01df5b0d7ca0240598b914dbf2cabe545aa001e8de12d365de260000000000000100000000000000ffffffff040000000200000000000000ff43964375c1bd5277901262e213359564ae1d06c85ce9aca930247e28532f2c90821a0000000000b6000000000000001c2600000000000000000000000000007cc2b824ad6105abfccae27093190311b6a2348842e571684b021a213341b94ad2040000000000000100000000000000ffffffff0500020000040000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffd301000000000000f3020000000000000000000000000000c2ce1907255a041c388afd06ccd007436368e8d20467fdec2a1eebbb84b03bf22a8c0000000000000200000000000000ffffffff0400000002000000000000000ac192ed19d0db9a162adfaa0dc76669f392e98cb3a1d7e26e14db15d42f6be119e4690000000000b600000000000000688b00000000000000000000000000008f748dc64787b5c5ece081270c8559277f926322dd6ddc345306b8231f2d1752c7090000000000000200000000000000ffffffff0500020000040000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffd301000000000000e807000000000000000000000000000061c7c3b7ccab07ed01df5b0d7ca0240598b914dbf2cabe545aa001e8de12d365de260000000000000300000000000000ffffffff040000000202000000000000ff43964375c1bd5277901262e213359564ae1d06c85ce9aca930247e28532f2c90821a0000000000b6000000000000001c2600000000000000000000000000007cc2b824ad6105abfccae27093190311b6a2348842e571684b021a213341b94ad2040000000000000300000000000000ffffffff0500020000060000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffd301000000000000f3020000000000000000000000000000618e0a89be8c7e556b380326b219c2f6fbfc5a0cb97754e871c1c23a99bdb481aa630000000000000400000000000000ffffffff04000000020000000000000085521683dbd317477d96484c48fd2c5176a131968c0b04d944385ad53df931b3b5ee580000000000b600000000000000e8620000000000000000000000000000761c4649427c51796a2b699568775765b209ee80d2f4fc1cf040838c6724aa2dae080000000000000400000000000000ffffffff0500020000040000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffd301000000000000cf0600000000000000000000000000000100000000000000000000000000000002000000640000000000000000000000030000010000000000000000000000000000000000ff00ff00ffffffffffff000100760200747606006d6f62696c6506006c656761637914007761692e766964656f2e696e745f6d6f74696f6e0d007761692e766964656f2e61763100000000" + ], + "proof": { + "index": 0, + "siblings": [ + "d15fe34910bf5b0476aca1808c99d46c3b1249083fa0bde3d1f0f5b0ad7002be", + "8aaaf29043a2d79376df54e5686cfe1a477f44dffa464542c8d8ca445e31014f", + "02d05ed877f1bf21d6078a15f3a887148c48d8a5a6be8106661d704cc3ce05be", + "9d5e2daf0f8d60c6657a394d2a506b9a3fdf86aa0d208fa3ae2fa9fa67edc67c", + "54e12bfb85e9864be7da0156c16445bafb68ce57fdf31b6a1c39181a4b8ad95a", + "755dfc2a39fc67b8543eaf0e87fa48ae57059f6ba78655cee5ea957d940bea5e", + "28892f4430449a3e06f16529cbbbbb79a3d33dc39b2e0eb285de341c0942a85a", + "2f7ad012df90473e55d55d009d12da24adebf32679043d58a1648f3707ca92a5", + "73976dbf751307c5fdc5c8db7a86358ef645133fac0cb6e3ae47527c74b09db7", + "a210884d9cf152416e26290bbd6c5a5ca1e8a6b37f77e1eff75960336b873010", + "0e7bd961b59b1a069505783e57a9d37403407c207881558d7d41b3cf2a5fae13" + ] + } + } + ] + }, "package_staged": { "kind": "package", "receipt": "{\"asset_id\":\"video-staged-01\",\"components\":[{\"id\":\"v\",\"index\":\"index-v.wsix\",\"index_digest\":\"6842a02b45fb2ddf8095621836901abdbf2526451d740976ffe7079fc210932c\",\"media_class\":\"video\",\"stage_root\":\"c10304943d547971b05fdb57231dcd6e097d7df38cc68ea92c376ddc957e022d\"}],\"energy_provenance\":null,\"grant\":{\"capability\":\"wai.video.package\",\"funds_ceiling\":null,\"grant_hash\":\"0000000000000000000000000000000000000000000000000000000000000000\",\"joule_ceiling_micro\":null},\"joules_micro\":0,\"kind\":\"package\",\"packager\":\"builtin:wai-pack@0.1.0\",\"parent_kind\":\"none\",\"parent_receipt_hash\":null,\"policy_digest\":\"1bed669917d9d78e1a0f65a5a998db50e98e3dbdf836cc2ae00ff2ac97d67e57\",\"receipt_hash\":\"4441a653f101172ee9d4b76f788a10f23ab359e7bf3116fb09327699c2c83ef0\",\"sig\":\"f62bd725148a4203b440769906eacf7083895accc0191782f7e43197d92a598b90f1a5ea04eedd493dda87a5e622889562f0f09a5010cb053700b016f44cb504\",\"signer_id\":\"did:key:z6MkhGok4PzLmtw1v5uW3Bpip8gHHifrCt42QJn4gEBfRVQG\",\"signer_pubkey\":\"29e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55\",\"stored_bytes\":484464,\"total_bytes\":566398,\"total_entries\":18,\"unique_objects\":14,\"version\":2,\"work_units\":18}", @@ -8083,6 +8442,409 @@ "invoice" ] } + }, + { + "name": "route_record_3_outputs_proved_among_what_was_delivered", + "about": "jobs whose route records are of version 3, stating what each served hop delivered by its count and root: an encode whose clip is the second of two objects, a decode of version 5 whose animation is its one object, and a package's run whose receipt is the first of 1,501 objects, each output proved at its place by its inclusion proof, billed under version 5", + "tariff": "574c543105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e80300000000000007000d7761692e766964656f2e6176310c6d656469612e656e636f646501010000000000000080841e0000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646501010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f64650240420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646501010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f64650240420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64010100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64030100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fbc34a7351cf5c937296130192cb3378e1a69b98999f2a5fa8ff545b67a4bed2e086b60a5e5c61b498a11054d152637da968140230bf9a979c6b5a8a8f51a5ab0127d807ac57094b003e862358c6ea01aebbc632d240257b9d6c511bfec48828e1bd501f7365ed169bbba641ecce707e449685abf75dca3ad83090bfed4c18670b", + "invoice": "574c493105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c039eef4c1f7cb91ea7d2bad49669b62324746630620618bfe19652589b8f11f67b000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552090000000522c6f558063499040127d58b062f08f9ec2a6cee54b51c97d42e8741d76ad7280e0bcd0b5238a12460913d5831748b8cb4aea09f52aeeee5ceba65f60cf43cb73b0e53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c090ec88e0801bda54b3a577e53661d1126382e29f8a62310940875f116acc5c3f5280f49da43d1e775e0ab6da5aec66d1e3bc135b18f39b6193041094fd8728189813e0f849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0105c8e3eb86c63b8b50de7cf0c083979bb6187f6c8f7184cada22e3f74ea92fa6710e85cef181baac5b452d41aaa78c8b89415966ba78d19e15ba494c4c011c08f4a10ebd51ee6833348ca1dc22b7d7792f78b50dd4014ac5510c40789d236ce5393c30600055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02010000000000000090d003000000000090d0030000000000020000008565cb6f117168c5a51668d25e55118c58127848adee11cce23c4f015f3866d4055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb030087000000000000102700000000000059010000000000000300000007dee713b1cc4eb04bea7413e9cb3f9383f4e610e1a6fdf9a30765d843386ebd055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb04010000000000000020a107000000000020a107000000000002000000020f40ccc35ad8452b52910e352414a08e1353a8074db78ca6c151654f244162055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb050087000000000000204e000000000000b3020000000000000300000072bdd8bb551abe3a728ac8a67ffacca46d57231f5c04d21fc4bf6fe6390c49ba055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060100000000000000e093040000000000e09304000000000002000000f308ad27dde75d439db0bd3c444977c1a79f55a590233b945e716887a47c0e5d055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070a00000000000000e80300000000000010270000000000000300000042387711897d2bcbe407e0277a89be2b3213510108266a6e506289b277ec6c6b0105040300000050fad00200000000204e0000000000000000000000000000000000000000000000000000ac30100000000000fc775a05f9e96a437e5279fbd8683ccfd67cd58f74067d797aa8b21c90c02989afbf4ed3b4df6feb7db0336385659fc00a0d0b85025ddd11943e9b231e89d10a", + "previous": null, + "sources": [ + "job_v3r_encode", + "job_v3r_decode", + "package_run_v3r" + ], + "outcome": { + "outcome": "accept", + "digest": "f897dafec0b9ec4dd90ee61ea4c514de730fbc6e4f31266aa26c720567b3610f", + "tariff": "9eef4c1f7cb91ea7d2bad49669b62324746630620618bfe19652589b8f11f67b", + "currency": "EUR", + "start": 1790812800000000, + "end": 1793086400000000, + "records": 9, + "lines": [ + { + "source_kind": "job", + "source": "5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb", + "unit": "jobs", + "quantity": 1, + "price": 250000, + "amount": 250000, + "cites": [ + [ + 14, + "0bcd0b5238a12460913d5831748b8cb4aea09f52aeeee5ceba65f60cf43cb73b" + ], + [ + 16, + "e85cef181baac5b452d41aaa78c8b89415966ba78d19e15ba494c4c011c08f4a" + ] + ], + "capability": "wai.video.int_motion", + "operation": "media.decode" + }, + { + "source_kind": "job", + "source": "5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb", + "unit": "subpixels", + "quantity": 34560, + "price": 10000, + "amount": 345, + "cites": [ + [ + 14, + "0bcd0b5238a12460913d5831748b8cb4aea09f52aeeee5ceba65f60cf43cb73b" + ], + [ + 15, + "49da43d1e775e0ab6da5aec66d1e3bc135b18f39b6193041094fd8728189813e" + ], + [ + 16, + "e85cef181baac5b452d41aaa78c8b89415966ba78d19e15ba494c4c011c08f4a" + ] + ], + "capability": "wai.video.int_motion", + "operation": "media.decode" + }, + { + "source_kind": "job", + "source": "5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb", + "unit": "jobs", + "quantity": 1, + "price": 500000, + "amount": 500000, + "cites": [ + [ + 14, + "53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c09" + ], + [ + 16, + "5c8e3eb86c63b8b50de7cf0c083979bb6187f6c8f7184cada22e3f74ea92fa67" + ] + ], + "capability": "wai.video.int_motion", + "operation": "media.encode" + }, + { + "source_kind": "job", + "source": "5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb", + "unit": "subpixels", + "quantity": 34560, + "price": 20000, + "amount": 691, + "cites": [ + [ + 14, + "53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c09" + ], + [ + 15, + "849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0" + ], + [ + 16, + "5c8e3eb86c63b8b50de7cf0c083979bb6187f6c8f7184cada22e3f74ea92fa67" + ] + ], + "capability": "wai.video.int_motion", + "operation": "media.encode" + }, + { + "source_kind": "job", + "source": "5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb", + "unit": "jobs", + "quantity": 1, + "price": 300000, + "amount": 300000, + "cites": [ + [ + 14, + "c88e0801bda54b3a577e53661d1126382e29f8a62310940875f116acc5c3f528" + ], + [ + 16, + "ebd51ee6833348ca1dc22b7d7792f78b50dd4014ac5510c40789d236ce5393c3" + ] + ], + "capability": "wai.video.package", + "operation": "package.build" + }, + { + "source_kind": "job", + "source": "5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb", + "unit": "work_units", + "quantity": 10, + "price": 1000, + "amount": 10000, + "cites": [ + [ + 5, + "22c6f558063499040127d58b062f08f9ec2a6cee54b51c97d42e8741d76ad728" + ], + [ + 14, + "c88e0801bda54b3a577e53661d1126382e29f8a62310940875f116acc5c3f528" + ], + [ + 16, + "ebd51ee6833348ca1dc22b7d7792f78b50dd4014ac5510c40789d236ce5393c3" + ] + ], + "capability": "wai.video.package", + "operation": "package.build" + } + ], + "energy": [ + { + "scope": "jobs", + "class": "OnChipCounter", + "figures": 3, + "joules": 47250000, + "max_ppm": 20000 + } + ], + "unmetered": { + "room_hops": 0, + "delivery_hops": 0, + "packaging": 0, + "ad_decisions": 0, + "jobs": 0, + "unbilled_hops": 0 + }, + "coverage": { + "room_hops": "none", + "delivery_hops": "none", + "packaging": "none", + "ad_decisions": "none", + "jobs": "whole", + "unbilled_hops": "none" + }, + "amount": 1061036, + "reports": { + "ads": [], + "stitched": [], + "delivery": { + "parties": [], + "overlaps": [] + } + } + } + }, + { + "name": "route_record_3_an_output_without_its_proof", + "about": "a job whose route record is of version 3, its output given without its inclusion proof", + "tariff": "574c543105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e80300000000000007000d7761692e766964656f2e6176310c6d656469612e656e636f646501010000000000000080841e0000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646501010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f64650240420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646501010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f64650240420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64010100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64030100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fbc34a7351cf5c937296130192cb3378e1a69b98999f2a5fa8ff545b67a4bed2e086b60a5e5c61b498a11054d152637da968140230bf9a979c6b5a8a8f51a5ab0127d807ac57094b003e862358c6ea01aebbc632d240257b9d6c511bfec48828e1bd501f7365ed169bbba641ecce707e449685abf75dca3ad83090bfed4c18670b", + "invoice": "574c493105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c039eef4c1f7cb91ea7d2bad49669b62324746630620618bfe19652589b8f11f67b000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552090000000522c6f558063499040127d58b062f08f9ec2a6cee54b51c97d42e8741d76ad7280e0bcd0b5238a12460913d5831748b8cb4aea09f52aeeee5ceba65f60cf43cb73b0e53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c090ec88e0801bda54b3a577e53661d1126382e29f8a62310940875f116acc5c3f5280f49da43d1e775e0ab6da5aec66d1e3bc135b18f39b6193041094fd8728189813e0f849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0105c8e3eb86c63b8b50de7cf0c083979bb6187f6c8f7184cada22e3f74ea92fa6710e85cef181baac5b452d41aaa78c8b89415966ba78d19e15ba494c4c011c08f4a10ebd51ee6833348ca1dc22b7d7792f78b50dd4014ac5510c40789d236ce5393c30600055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02010000000000000090d003000000000090d0030000000000020000008565cb6f117168c5a51668d25e55118c58127848adee11cce23c4f015f3866d4055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb030087000000000000102700000000000059010000000000000300000007dee713b1cc4eb04bea7413e9cb3f9383f4e610e1a6fdf9a30765d843386ebd055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb04010000000000000020a107000000000020a107000000000002000000020f40ccc35ad8452b52910e352414a08e1353a8074db78ca6c151654f244162055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb050087000000000000204e000000000000b3020000000000000300000072bdd8bb551abe3a728ac8a67ffacca46d57231f5c04d21fc4bf6fe6390c49ba055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060100000000000000e093040000000000e09304000000000002000000f308ad27dde75d439db0bd3c444977c1a79f55a590233b945e716887a47c0e5d055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070a00000000000000e80300000000000010270000000000000300000042387711897d2bcbe407e0277a89be2b3213510108266a6e506289b277ec6c6b0105040300000050fad00200000000204e0000000000000000000000000000000000000000000000000000ac30100000000000fc775a05f9e96a437e5279fbd8683ccfd67cd58f74067d797aa8b21c90c02989afbf4ed3b4df6feb7db0336385659fc00a0d0b85025ddd11943e9b231e89d10a", + "previous": null, + "sources": [ + "job_v3r_without_its_proof" + ], + "outcome": { + "outcome": "refuse", + "reason": "malformed", + "at": [ + "source", + 0 + ] + } + }, + { + "name": "route_record_2_an_output_given_a_proof", + "about": "a job whose route record is of version 2, which lists what its hop delivered, its output given an inclusion proof", + "tariff": "574c543105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e80300000000000007000d7761692e766964656f2e6176310c6d656469612e656e636f646501010000000000000080841e0000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646501010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f64650240420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646501010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f64650240420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64010100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64030100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fbc34a7351cf5c937296130192cb3378e1a69b98999f2a5fa8ff545b67a4bed2e086b60a5e5c61b498a11054d152637da968140230bf9a979c6b5a8a8f51a5ab0127d807ac57094b003e862358c6ea01aebbc632d240257b9d6c511bfec48828e1bd501f7365ed169bbba641ecce707e449685abf75dca3ad83090bfed4c18670b", + "invoice": "574c493105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c039eef4c1f7cb91ea7d2bad49669b62324746630620618bfe19652589b8f11f67b000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552090000000522c6f558063499040127d58b062f08f9ec2a6cee54b51c97d42e8741d76ad7280e0bcd0b5238a12460913d5831748b8cb4aea09f52aeeee5ceba65f60cf43cb73b0e53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c090ec88e0801bda54b3a577e53661d1126382e29f8a62310940875f116acc5c3f5280f49da43d1e775e0ab6da5aec66d1e3bc135b18f39b6193041094fd8728189813e0f849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0105c8e3eb86c63b8b50de7cf0c083979bb6187f6c8f7184cada22e3f74ea92fa6710e85cef181baac5b452d41aaa78c8b89415966ba78d19e15ba494c4c011c08f4a10ebd51ee6833348ca1dc22b7d7792f78b50dd4014ac5510c40789d236ce5393c30600055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02010000000000000090d003000000000090d0030000000000020000008565cb6f117168c5a51668d25e55118c58127848adee11cce23c4f015f3866d4055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb030087000000000000102700000000000059010000000000000300000007dee713b1cc4eb04bea7413e9cb3f9383f4e610e1a6fdf9a30765d843386ebd055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb04010000000000000020a107000000000020a107000000000002000000020f40ccc35ad8452b52910e352414a08e1353a8074db78ca6c151654f244162055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb050087000000000000204e000000000000b3020000000000000300000072bdd8bb551abe3a728ac8a67ffacca46d57231f5c04d21fc4bf6fe6390c49ba055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060100000000000000e093040000000000e09304000000000002000000f308ad27dde75d439db0bd3c444977c1a79f55a590233b945e716887a47c0e5d055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070a00000000000000e80300000000000010270000000000000300000042387711897d2bcbe407e0277a89be2b3213510108266a6e506289b277ec6c6b0105040300000050fad00200000000204e0000000000000000000000000000000000000000000000000000ac30100000000000fc775a05f9e96a437e5279fbd8683ccfd67cd58f74067d797aa8b21c90c02989afbf4ed3b4df6feb7db0336385659fc00a0d0b85025ddd11943e9b231e89d10a", + "previous": null, + "sources": [ + "job_v2_given_a_proof" + ], + "outcome": { + "outcome": "refuse", + "reason": "malformed", + "at": [ + "source", + 0 + ] + } + }, + { + "name": "route_record_3_a_proof_that_is_not_one", + "about": "a job whose route record is of version 3, its output's proof stating its index as text", + "tariff": "574c543105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e80300000000000007000d7761692e766964656f2e6176310c6d656469612e656e636f646501010000000000000080841e0000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646501010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f64650240420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646501010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f64650240420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64010100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64030100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fbc34a7351cf5c937296130192cb3378e1a69b98999f2a5fa8ff545b67a4bed2e086b60a5e5c61b498a11054d152637da968140230bf9a979c6b5a8a8f51a5ab0127d807ac57094b003e862358c6ea01aebbc632d240257b9d6c511bfec48828e1bd501f7365ed169bbba641ecce707e449685abf75dca3ad83090bfed4c18670b", + "invoice": "574c493105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c039eef4c1f7cb91ea7d2bad49669b62324746630620618bfe19652589b8f11f67b000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552090000000522c6f558063499040127d58b062f08f9ec2a6cee54b51c97d42e8741d76ad7280e0bcd0b5238a12460913d5831748b8cb4aea09f52aeeee5ceba65f60cf43cb73b0e53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c090ec88e0801bda54b3a577e53661d1126382e29f8a62310940875f116acc5c3f5280f49da43d1e775e0ab6da5aec66d1e3bc135b18f39b6193041094fd8728189813e0f849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0105c8e3eb86c63b8b50de7cf0c083979bb6187f6c8f7184cada22e3f74ea92fa6710e85cef181baac5b452d41aaa78c8b89415966ba78d19e15ba494c4c011c08f4a10ebd51ee6833348ca1dc22b7d7792f78b50dd4014ac5510c40789d236ce5393c30600055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02010000000000000090d003000000000090d0030000000000020000008565cb6f117168c5a51668d25e55118c58127848adee11cce23c4f015f3866d4055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb030087000000000000102700000000000059010000000000000300000007dee713b1cc4eb04bea7413e9cb3f9383f4e610e1a6fdf9a30765d843386ebd055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb04010000000000000020a107000000000020a107000000000002000000020f40ccc35ad8452b52910e352414a08e1353a8074db78ca6c151654f244162055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb050087000000000000204e000000000000b3020000000000000300000072bdd8bb551abe3a728ac8a67ffacca46d57231f5c04d21fc4bf6fe6390c49ba055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060100000000000000e093040000000000e09304000000000002000000f308ad27dde75d439db0bd3c444977c1a79f55a590233b945e716887a47c0e5d055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070a00000000000000e80300000000000010270000000000000300000042387711897d2bcbe407e0277a89be2b3213510108266a6e506289b277ec6c6b0105040300000050fad00200000000204e0000000000000000000000000000000000000000000000000000ac30100000000000fc775a05f9e96a437e5279fbd8683ccfd67cd58f74067d797aa8b21c90c02989afbf4ed3b4df6feb7db0336385659fc00a0d0b85025ddd11943e9b231e89d10a", + "previous": null, + "sources": [ + "job_v3r_a_proof_that_is_not_one" + ], + "outcome": { + "outcome": "refuse", + "reason": "malformed", + "at": [ + "source", + 0 + ] + } + }, + { + "name": "route_record_3_a_proof_of_another_place", + "about": "a job whose route record is of version 3, its output proved with the siblings of another object's place", + "tariff": "574c543105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e80300000000000007000d7761692e766964656f2e6176310c6d656469612e656e636f646501010000000000000080841e0000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646501010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f64650240420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646501010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f64650240420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64010100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64030100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fbc34a7351cf5c937296130192cb3378e1a69b98999f2a5fa8ff545b67a4bed2e086b60a5e5c61b498a11054d152637da968140230bf9a979c6b5a8a8f51a5ab0127d807ac57094b003e862358c6ea01aebbc632d240257b9d6c511bfec48828e1bd501f7365ed169bbba641ecce707e449685abf75dca3ad83090bfed4c18670b", + "invoice": "574c493105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c039eef4c1f7cb91ea7d2bad49669b62324746630620618bfe19652589b8f11f67b000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552090000000522c6f558063499040127d58b062f08f9ec2a6cee54b51c97d42e8741d76ad7280e0bcd0b5238a12460913d5831748b8cb4aea09f52aeeee5ceba65f60cf43cb73b0e53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c090ec88e0801bda54b3a577e53661d1126382e29f8a62310940875f116acc5c3f5280f49da43d1e775e0ab6da5aec66d1e3bc135b18f39b6193041094fd8728189813e0f849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0105c8e3eb86c63b8b50de7cf0c083979bb6187f6c8f7184cada22e3f74ea92fa6710e85cef181baac5b452d41aaa78c8b89415966ba78d19e15ba494c4c011c08f4a10ebd51ee6833348ca1dc22b7d7792f78b50dd4014ac5510c40789d236ce5393c30600055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02010000000000000090d003000000000090d0030000000000020000008565cb6f117168c5a51668d25e55118c58127848adee11cce23c4f015f3866d4055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb030087000000000000102700000000000059010000000000000300000007dee713b1cc4eb04bea7413e9cb3f9383f4e610e1a6fdf9a30765d843386ebd055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb04010000000000000020a107000000000020a107000000000002000000020f40ccc35ad8452b52910e352414a08e1353a8074db78ca6c151654f244162055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb050087000000000000204e000000000000b3020000000000000300000072bdd8bb551abe3a728ac8a67ffacca46d57231f5c04d21fc4bf6fe6390c49ba055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060100000000000000e093040000000000e09304000000000002000000f308ad27dde75d439db0bd3c444977c1a79f55a590233b945e716887a47c0e5d055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070a00000000000000e80300000000000010270000000000000300000042387711897d2bcbe407e0277a89be2b3213510108266a6e506289b277ec6c6b0105040300000050fad00200000000204e0000000000000000000000000000000000000000000000000000ac30100000000000fc775a05f9e96a437e5279fbd8683ccfd67cd58f74067d797aa8b21c90c02989afbf4ed3b4df6feb7db0336385659fc00a0d0b85025ddd11943e9b231e89d10a", + "previous": null, + "sources": [ + "job_v3r_a_proof_of_another_place" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_not_delivered", + "at": [ + "source", + 0, + "outputs", + 0 + ] + } + }, + { + "name": "route_record_3_a_proof_past_the_count", + "about": "a job whose route record is of version 3, its output's proof at index 3 of 2 objects, whose walk is that of its place, 1", + "tariff": "574c543105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e80300000000000007000d7761692e766964656f2e6176310c6d656469612e656e636f646501010000000000000080841e0000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646501010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f64650240420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646501010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f64650240420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64010100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64030100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fbc34a7351cf5c937296130192cb3378e1a69b98999f2a5fa8ff545b67a4bed2e086b60a5e5c61b498a11054d152637da968140230bf9a979c6b5a8a8f51a5ab0127d807ac57094b003e862358c6ea01aebbc632d240257b9d6c511bfec48828e1bd501f7365ed169bbba641ecce707e449685abf75dca3ad83090bfed4c18670b", + "invoice": "574c493105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c039eef4c1f7cb91ea7d2bad49669b62324746630620618bfe19652589b8f11f67b000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552090000000522c6f558063499040127d58b062f08f9ec2a6cee54b51c97d42e8741d76ad7280e0bcd0b5238a12460913d5831748b8cb4aea09f52aeeee5ceba65f60cf43cb73b0e53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c090ec88e0801bda54b3a577e53661d1126382e29f8a62310940875f116acc5c3f5280f49da43d1e775e0ab6da5aec66d1e3bc135b18f39b6193041094fd8728189813e0f849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0105c8e3eb86c63b8b50de7cf0c083979bb6187f6c8f7184cada22e3f74ea92fa6710e85cef181baac5b452d41aaa78c8b89415966ba78d19e15ba494c4c011c08f4a10ebd51ee6833348ca1dc22b7d7792f78b50dd4014ac5510c40789d236ce5393c30600055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02010000000000000090d003000000000090d0030000000000020000008565cb6f117168c5a51668d25e55118c58127848adee11cce23c4f015f3866d4055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb030087000000000000102700000000000059010000000000000300000007dee713b1cc4eb04bea7413e9cb3f9383f4e610e1a6fdf9a30765d843386ebd055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb04010000000000000020a107000000000020a107000000000002000000020f40ccc35ad8452b52910e352414a08e1353a8074db78ca6c151654f244162055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb050087000000000000204e000000000000b3020000000000000300000072bdd8bb551abe3a728ac8a67ffacca46d57231f5c04d21fc4bf6fe6390c49ba055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060100000000000000e093040000000000e09304000000000002000000f308ad27dde75d439db0bd3c444977c1a79f55a590233b945e716887a47c0e5d055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070a00000000000000e80300000000000010270000000000000300000042387711897d2bcbe407e0277a89be2b3213510108266a6e506289b277ec6c6b0105040300000050fad00200000000204e0000000000000000000000000000000000000000000000000000ac30100000000000fc775a05f9e96a437e5279fbd8683ccfd67cd58f74067d797aa8b21c90c02989afbf4ed3b4df6feb7db0336385659fc00a0d0b85025ddd11943e9b231e89d10a", + "previous": null, + "sources": [ + "job_v3r_a_proof_past_the_count" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_not_delivered", + "at": [ + "source", + 0, + "outputs", + 0 + ] + } + }, + { + "name": "route_record_3_a_proof_a_sibling_short", + "about": "a job whose route record is of version 3, its output's proof one sibling short", + "tariff": "574c543105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e80300000000000007000d7761692e766964656f2e6176310c6d656469612e656e636f646501010000000000000080841e0000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646501010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f64650240420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646501010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f64650240420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64010100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64030100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fbc34a7351cf5c937296130192cb3378e1a69b98999f2a5fa8ff545b67a4bed2e086b60a5e5c61b498a11054d152637da968140230bf9a979c6b5a8a8f51a5ab0127d807ac57094b003e862358c6ea01aebbc632d240257b9d6c511bfec48828e1bd501f7365ed169bbba641ecce707e449685abf75dca3ad83090bfed4c18670b", + "invoice": "574c493105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c039eef4c1f7cb91ea7d2bad49669b62324746630620618bfe19652589b8f11f67b000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552090000000522c6f558063499040127d58b062f08f9ec2a6cee54b51c97d42e8741d76ad7280e0bcd0b5238a12460913d5831748b8cb4aea09f52aeeee5ceba65f60cf43cb73b0e53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c090ec88e0801bda54b3a577e53661d1126382e29f8a62310940875f116acc5c3f5280f49da43d1e775e0ab6da5aec66d1e3bc135b18f39b6193041094fd8728189813e0f849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0105c8e3eb86c63b8b50de7cf0c083979bb6187f6c8f7184cada22e3f74ea92fa6710e85cef181baac5b452d41aaa78c8b89415966ba78d19e15ba494c4c011c08f4a10ebd51ee6833348ca1dc22b7d7792f78b50dd4014ac5510c40789d236ce5393c30600055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02010000000000000090d003000000000090d0030000000000020000008565cb6f117168c5a51668d25e55118c58127848adee11cce23c4f015f3866d4055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb030087000000000000102700000000000059010000000000000300000007dee713b1cc4eb04bea7413e9cb3f9383f4e610e1a6fdf9a30765d843386ebd055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb04010000000000000020a107000000000020a107000000000002000000020f40ccc35ad8452b52910e352414a08e1353a8074db78ca6c151654f244162055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb050087000000000000204e000000000000b3020000000000000300000072bdd8bb551abe3a728ac8a67ffacca46d57231f5c04d21fc4bf6fe6390c49ba055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060100000000000000e093040000000000e09304000000000002000000f308ad27dde75d439db0bd3c444977c1a79f55a590233b945e716887a47c0e5d055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070a00000000000000e80300000000000010270000000000000300000042387711897d2bcbe407e0277a89be2b3213510108266a6e506289b277ec6c6b0105040300000050fad00200000000204e0000000000000000000000000000000000000000000000000000ac30100000000000fc775a05f9e96a437e5279fbd8683ccfd67cd58f74067d797aa8b21c90c02989afbf4ed3b4df6feb7db0336385659fc00a0d0b85025ddd11943e9b231e89d10a", + "previous": null, + "sources": [ + "job_v3r_a_proof_a_sibling_short" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_not_delivered", + "at": [ + "source", + 0, + "outputs", + 0 + ] + } + }, + { + "name": "route_record_3_an_output_its_hop_did_not_deliver", + "about": "a job whose route record is of version 3, its output another clip, proved in another tree than the root its hop delivered under", + "tariff": "574c543105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e80300000000000007000d7761692e766964656f2e6176310c6d656469612e656e636f646501010000000000000080841e0000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646501010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f64650240420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646501010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f64650240420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64010100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64030100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fbc34a7351cf5c937296130192cb3378e1a69b98999f2a5fa8ff545b67a4bed2e086b60a5e5c61b498a11054d152637da968140230bf9a979c6b5a8a8f51a5ab0127d807ac57094b003e862358c6ea01aebbc632d240257b9d6c511bfec48828e1bd501f7365ed169bbba641ecce707e449685abf75dca3ad83090bfed4c18670b", + "invoice": "574c493105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c039eef4c1f7cb91ea7d2bad49669b62324746630620618bfe19652589b8f11f67b000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552090000000522c6f558063499040127d58b062f08f9ec2a6cee54b51c97d42e8741d76ad7280e0bcd0b5238a12460913d5831748b8cb4aea09f52aeeee5ceba65f60cf43cb73b0e53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c090ec88e0801bda54b3a577e53661d1126382e29f8a62310940875f116acc5c3f5280f49da43d1e775e0ab6da5aec66d1e3bc135b18f39b6193041094fd8728189813e0f849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0105c8e3eb86c63b8b50de7cf0c083979bb6187f6c8f7184cada22e3f74ea92fa6710e85cef181baac5b452d41aaa78c8b89415966ba78d19e15ba494c4c011c08f4a10ebd51ee6833348ca1dc22b7d7792f78b50dd4014ac5510c40789d236ce5393c30600055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02010000000000000090d003000000000090d0030000000000020000008565cb6f117168c5a51668d25e55118c58127848adee11cce23c4f015f3866d4055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb030087000000000000102700000000000059010000000000000300000007dee713b1cc4eb04bea7413e9cb3f9383f4e610e1a6fdf9a30765d843386ebd055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb04010000000000000020a107000000000020a107000000000002000000020f40ccc35ad8452b52910e352414a08e1353a8074db78ca6c151654f244162055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb050087000000000000204e000000000000b3020000000000000300000072bdd8bb551abe3a728ac8a67ffacca46d57231f5c04d21fc4bf6fe6390c49ba055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060100000000000000e093040000000000e09304000000000002000000f308ad27dde75d439db0bd3c444977c1a79f55a590233b945e716887a47c0e5d055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070a00000000000000e80300000000000010270000000000000300000042387711897d2bcbe407e0277a89be2b3213510108266a6e506289b277ec6c6b0105040300000050fad00200000000204e0000000000000000000000000000000000000000000000000000ac30100000000000fc775a05f9e96a437e5279fbd8683ccfd67cd58f74067d797aa8b21c90c02989afbf4ed3b4df6feb7db0336385659fc00a0d0b85025ddd11943e9b231e89d10a", + "previous": null, + "sources": [ + "job_v3r_an_output_its_hop_did_not_deliver" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_not_delivered", + "at": [ + "source", + 0, + "outputs", + 0 + ] + } + }, + { + "name": "route_record_3_an_output_twice", + "about": "a job whose route record is of version 3, its one output given twice, each proved", + "tariff": "574c543105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e80300000000000007000d7761692e766964656f2e6176310c6d656469612e656e636f646501010000000000000080841e0000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646501010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f64650240420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646501010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f64650240420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64010100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64030100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fbc34a7351cf5c937296130192cb3378e1a69b98999f2a5fa8ff545b67a4bed2e086b60a5e5c61b498a11054d152637da968140230bf9a979c6b5a8a8f51a5ab0127d807ac57094b003e862358c6ea01aebbc632d240257b9d6c511bfec48828e1bd501f7365ed169bbba641ecce707e449685abf75dca3ad83090bfed4c18670b", + "invoice": "574c493105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c039eef4c1f7cb91ea7d2bad49669b62324746630620618bfe19652589b8f11f67b000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552090000000522c6f558063499040127d58b062f08f9ec2a6cee54b51c97d42e8741d76ad7280e0bcd0b5238a12460913d5831748b8cb4aea09f52aeeee5ceba65f60cf43cb73b0e53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c090ec88e0801bda54b3a577e53661d1126382e29f8a62310940875f116acc5c3f5280f49da43d1e775e0ab6da5aec66d1e3bc135b18f39b6193041094fd8728189813e0f849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0105c8e3eb86c63b8b50de7cf0c083979bb6187f6c8f7184cada22e3f74ea92fa6710e85cef181baac5b452d41aaa78c8b89415966ba78d19e15ba494c4c011c08f4a10ebd51ee6833348ca1dc22b7d7792f78b50dd4014ac5510c40789d236ce5393c30600055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02010000000000000090d003000000000090d0030000000000020000008565cb6f117168c5a51668d25e55118c58127848adee11cce23c4f015f3866d4055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb030087000000000000102700000000000059010000000000000300000007dee713b1cc4eb04bea7413e9cb3f9383f4e610e1a6fdf9a30765d843386ebd055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb04010000000000000020a107000000000020a107000000000002000000020f40ccc35ad8452b52910e352414a08e1353a8074db78ca6c151654f244162055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb050087000000000000204e000000000000b3020000000000000300000072bdd8bb551abe3a728ac8a67ffacca46d57231f5c04d21fc4bf6fe6390c49ba055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060100000000000000e093040000000000e09304000000000002000000f308ad27dde75d439db0bd3c444977c1a79f55a590233b945e716887a47c0e5d055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070a00000000000000e80300000000000010270000000000000300000042387711897d2bcbe407e0277a89be2b3213510108266a6e506289b277ec6c6b0105040300000050fad00200000000204e0000000000000000000000000000000000000000000000000000ac30100000000000fc775a05f9e96a437e5279fbd8683ccfd67cd58f74067d797aa8b21c90c02989afbf4ed3b4df6feb7db0336385659fc00a0d0b85025ddd11943e9b231e89d10a", + "previous": null, + "sources": [ + "job_v3r_an_output_twice" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_not_delivered", + "at": [ + "source", + 0, + "outputs", + 1 + ] + } + }, + { + "name": "route_record_3_a_decode_at_another_place", + "about": "a decode of version 5 whose route record is of version 3 and states the codestream it read before its animation, the animation proved at its own place, the second", + "tariff": "574c543105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e80300000000000007000d7761692e766964656f2e6176310c6d656469612e656e636f646501010000000000000080841e0000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646501010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f64650240420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646501010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f64650240420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64010100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64030100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fbc34a7351cf5c937296130192cb3378e1a69b98999f2a5fa8ff545b67a4bed2e086b60a5e5c61b498a11054d152637da968140230bf9a979c6b5a8a8f51a5ab0127d807ac57094b003e862358c6ea01aebbc632d240257b9d6c511bfec48828e1bd501f7365ed169bbba641ecce707e449685abf75dca3ad83090bfed4c18670b", + "invoice": "574c493105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c039eef4c1f7cb91ea7d2bad49669b62324746630620618bfe19652589b8f11f67b000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552090000000522c6f558063499040127d58b062f08f9ec2a6cee54b51c97d42e8741d76ad7280e0bcd0b5238a12460913d5831748b8cb4aea09f52aeeee5ceba65f60cf43cb73b0e53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c090ec88e0801bda54b3a577e53661d1126382e29f8a62310940875f116acc5c3f5280f49da43d1e775e0ab6da5aec66d1e3bc135b18f39b6193041094fd8728189813e0f849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0105c8e3eb86c63b8b50de7cf0c083979bb6187f6c8f7184cada22e3f74ea92fa6710e85cef181baac5b452d41aaa78c8b89415966ba78d19e15ba494c4c011c08f4a10ebd51ee6833348ca1dc22b7d7792f78b50dd4014ac5510c40789d236ce5393c30600055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02010000000000000090d003000000000090d0030000000000020000008565cb6f117168c5a51668d25e55118c58127848adee11cce23c4f015f3866d4055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb030087000000000000102700000000000059010000000000000300000007dee713b1cc4eb04bea7413e9cb3f9383f4e610e1a6fdf9a30765d843386ebd055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb04010000000000000020a107000000000020a107000000000002000000020f40ccc35ad8452b52910e352414a08e1353a8074db78ca6c151654f244162055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb050087000000000000204e000000000000b3020000000000000300000072bdd8bb551abe3a728ac8a67ffacca46d57231f5c04d21fc4bf6fe6390c49ba055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060100000000000000e093040000000000e09304000000000002000000f308ad27dde75d439db0bd3c444977c1a79f55a590233b945e716887a47c0e5d055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070a00000000000000e80300000000000010270000000000000300000042387711897d2bcbe407e0277a89be2b3213510108266a6e506289b277ec6c6b0105040300000050fad00200000000204e0000000000000000000000000000000000000000000000000000ac30100000000000fc775a05f9e96a437e5279fbd8683ccfd67cd58f74067d797aa8b21c90c02989afbf4ed3b4df6feb7db0336385659fc00a0d0b85025ddd11943e9b231e89d10a", + "previous": null, + "sources": [ + "job_v3r_a_decode_at_another_place" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_not_delivered", + "at": [ + "source", + 0, + "outputs", + 0, + "frames" + ] + } + }, + { + "name": "route_record_3_a_decode_with_an_object_past_it", + "about": "a decode of version 5 whose route record is of version 3 and states the codestream it read after its animation, the animation proved at the first place", + "tariff": "574c543105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e80300000000000007000d7761692e766964656f2e6176310c6d656469612e656e636f646501010000000000000080841e0000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646501010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f64650240420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646501010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f64650240420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64010100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64030100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fbc34a7351cf5c937296130192cb3378e1a69b98999f2a5fa8ff545b67a4bed2e086b60a5e5c61b498a11054d152637da968140230bf9a979c6b5a8a8f51a5ab0127d807ac57094b003e862358c6ea01aebbc632d240257b9d6c511bfec48828e1bd501f7365ed169bbba641ecce707e449685abf75dca3ad83090bfed4c18670b", + "invoice": "574c493105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c039eef4c1f7cb91ea7d2bad49669b62324746630620618bfe19652589b8f11f67b000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552090000000522c6f558063499040127d58b062f08f9ec2a6cee54b51c97d42e8741d76ad7280e0bcd0b5238a12460913d5831748b8cb4aea09f52aeeee5ceba65f60cf43cb73b0e53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c090ec88e0801bda54b3a577e53661d1126382e29f8a62310940875f116acc5c3f5280f49da43d1e775e0ab6da5aec66d1e3bc135b18f39b6193041094fd8728189813e0f849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0105c8e3eb86c63b8b50de7cf0c083979bb6187f6c8f7184cada22e3f74ea92fa6710e85cef181baac5b452d41aaa78c8b89415966ba78d19e15ba494c4c011c08f4a10ebd51ee6833348ca1dc22b7d7792f78b50dd4014ac5510c40789d236ce5393c30600055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02010000000000000090d003000000000090d0030000000000020000008565cb6f117168c5a51668d25e55118c58127848adee11cce23c4f015f3866d4055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb030087000000000000102700000000000059010000000000000300000007dee713b1cc4eb04bea7413e9cb3f9383f4e610e1a6fdf9a30765d843386ebd055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb04010000000000000020a107000000000020a107000000000002000000020f40ccc35ad8452b52910e352414a08e1353a8074db78ca6c151654f244162055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb050087000000000000204e000000000000b3020000000000000300000072bdd8bb551abe3a728ac8a67ffacca46d57231f5c04d21fc4bf6fe6390c49ba055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060100000000000000e093040000000000e09304000000000002000000f308ad27dde75d439db0bd3c444977c1a79f55a590233b945e716887a47c0e5d055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070a00000000000000e80300000000000010270000000000000300000042387711897d2bcbe407e0277a89be2b3213510108266a6e506289b277ec6c6b0105040300000050fad00200000000204e0000000000000000000000000000000000000000000000000000ac30100000000000fc775a05f9e96a437e5279fbd8683ccfd67cd58f74067d797aa8b21c90c02989afbf4ed3b4df6feb7db0336385659fc00a0d0b85025ddd11943e9b231e89d10a", + "previous": null, + "sources": [ + "job_v3r_a_decode_with_an_object_past_it" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_not_delivered", + "at": [ + "source", + 0, + "outputs" + ] + } + }, + { + "name": "route_record_3_an_output_of_a_job_no_hop_served", + "about": "a job whose route record is of version 3 and whose every allowed hop failed, given an output, which no hop delivered", + "tariff": "574c543105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e80300000000000007000d7761692e766964656f2e6176310c6d656469612e656e636f646501010000000000000080841e0000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646501010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f64650240420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646501010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f64650240420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64010100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64030100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fbc34a7351cf5c937296130192cb3378e1a69b98999f2a5fa8ff545b67a4bed2e086b60a5e5c61b498a11054d152637da968140230bf9a979c6b5a8a8f51a5ab0127d807ac57094b003e862358c6ea01aebbc632d240257b9d6c511bfec48828e1bd501f7365ed169bbba641ecce707e449685abf75dca3ad83090bfed4c18670b", + "invoice": "574c493105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c039eef4c1f7cb91ea7d2bad49669b62324746630620618bfe19652589b8f11f67b000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552090000000522c6f558063499040127d58b062f08f9ec2a6cee54b51c97d42e8741d76ad7280e0bcd0b5238a12460913d5831748b8cb4aea09f52aeeee5ceba65f60cf43cb73b0e53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c090ec88e0801bda54b3a577e53661d1126382e29f8a62310940875f116acc5c3f5280f49da43d1e775e0ab6da5aec66d1e3bc135b18f39b6193041094fd8728189813e0f849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0105c8e3eb86c63b8b50de7cf0c083979bb6187f6c8f7184cada22e3f74ea92fa6710e85cef181baac5b452d41aaa78c8b89415966ba78d19e15ba494c4c011c08f4a10ebd51ee6833348ca1dc22b7d7792f78b50dd4014ac5510c40789d236ce5393c30600055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02010000000000000090d003000000000090d0030000000000020000008565cb6f117168c5a51668d25e55118c58127848adee11cce23c4f015f3866d4055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb030087000000000000102700000000000059010000000000000300000007dee713b1cc4eb04bea7413e9cb3f9383f4e610e1a6fdf9a30765d843386ebd055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb04010000000000000020a107000000000020a107000000000002000000020f40ccc35ad8452b52910e352414a08e1353a8074db78ca6c151654f244162055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb050087000000000000204e000000000000b3020000000000000300000072bdd8bb551abe3a728ac8a67ffacca46d57231f5c04d21fc4bf6fe6390c49ba055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060100000000000000e093040000000000e09304000000000002000000f308ad27dde75d439db0bd3c444977c1a79f55a590233b945e716887a47c0e5d055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070a00000000000000e80300000000000010270000000000000300000042387711897d2bcbe407e0277a89be2b3213510108266a6e506289b277ec6c6b0105040300000050fad00200000000204e0000000000000000000000000000000000000000000000000000ac30100000000000fc775a05f9e96a437e5279fbd8683ccfd67cd58f74067d797aa8b21c90c02989afbf4ed3b4df6feb7db0336385659fc00a0d0b85025ddd11943e9b231e89d10a", + "previous": null, + "sources": [ + "job_v3r_no_hop_served" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_not_delivered", + "at": [ + "source", + 0, + "outputs", + 0 + ] + } } ] } diff --git a/wai/live-conformance/receipt_ledger_verify.py b/wai/live-conformance/receipt_ledger_verify.py index b257e0c37..27be708f6 100644 --- a/wai/live-conformance/receipt_ledger_verify.py +++ b/wai/live-conformance/receipt_ledger_verify.py @@ -635,6 +635,30 @@ def job_source(s, version): delivered = None if "output-delivered" in SKIP: delivered = None + # §5.1: under a route record of version 3 the served hop states what it delivered by its + # count and root, and each output proves its place by its inclusion proof (route-record + # §6.1); one no attempt served holds every output to none. + served_att = next((a for a in rec["attempts"] if a["outcome"] == "served"), None) + committed = rec["version"] == 3 and served_att is not None + if rec["version"] == 3 and not committed and "output-delivered" not in SKIP: + delivered = set() + count, root = (served_att["delivered"]["count"], bytes.fromhex(served_att["delivered"]["root"])) if committed else (0, b"") + held = "output-delivered" not in SKIP and (delivered is not None or committed) + + def holds(h, proof, place): + """Whether the object `h` is one the hop delivered, at `place` where one is required.""" + if committed: + if "output-proof" in SKIP: + return True + return proof is not None and (place is None or proof[0] == place) and RRV.inclusion_proof(h, proof[0], proof[1], count, root) + if place is not None: + return place < len(stated) and stated[place] == h + return h in delivered + + def is_index(v): + return isinstance(v, int) and not isinstance(v, bool) and 0 <= v <= 2 ** 53 - 1 + + hex64 = re.compile(r"[0-9a-f]{64}") seen = set() outputs, packages = [], [] hexs = re.compile(r"(?:[0-9a-f]{2})*") @@ -644,6 +668,18 @@ def job_source(s, version): stated = [bytes.fromhex(h) for a in rec["attempts"] if a["outcome"] == "served" for h in a["outputs"]] if rec["version"] == 2 else [] nxt = 0 for i, x in enumerate(s["outputs"]): + # Under a record of version 3 each output gives `proof`, and under one of version 1 or 2 + # none (§5.1). + proof = None + if committed: + if not isinstance(x, dict) or "proof" not in x: + raise Refuse("malformed", []) + x = dict(x) + pr = x.pop("proof") + if not (isinstance(pr, dict) and set(pr) == {"index", "siblings"} and is_index(pr["index"]) and isinstance(pr["siblings"], list) + and all(isinstance(h, str) and hex64.fullmatch(h) for h in pr["siblings"])): + raise Refuse("malformed", []) + proof = (pr["index"], [bytes.fromhex(h) for h in pr["siblings"]]) if decode: if not isinstance(x, dict) or set(x) != {"receipt", "codestream", "frames"} or not isinstance(x["receipt"], str) \ or not isinstance(x["codestream"], str) or not hexs.fullmatch(x["codestream"]) \ @@ -671,7 +707,7 @@ def job_source(s, version): raise Refuse("output_invalid", ["outputs", i, "frames", k]) outputs.append((IMR.receipt_hash(r), r["work"])) if "output-delivered" not in SKIP: - if nxt >= len(stated) or stated[nxt] != content_hash(anim): + if not holds(content_hash(anim), proof, nxt): raise Refuse("output_not_delivered", ["outputs", i, "frames"]) nxt += 1 continue @@ -699,12 +735,12 @@ def job_source(s, version): raise Refuse("output_invalid", ["outputs", i]) obj = bytes.fromhex(x["codestream"]) outputs.append((IMR.receipt_hash(r), r["work"])) - if delivered is not None: + if held: h = content_hash(obj) - if h not in delivered or h in seen: + if not holds(h, proof, None) or h in seen: raise Refuse("output_not_delivered", ["outputs", i]) seen.add(h) - if decode and "output-delivered" not in SKIP and nxt != len(stated): + if decode and "output-delivered" not in SKIP and nxt != (count if committed else len(stated)): raise Refuse("output_not_delivered", ["outputs"]) # §4.8, 3: an object past the animations return {"kind": JOB, "digest": bytes.fromhex(RRV.digest(rec)), "router": bytes.fromhex(rec["signer"]), "job": rec["job"], "operation": rec["operation"].encode("utf-8"), "accepted": rec["accepted"], "hops": [oer_identity(a["receipt"]) for a in rec["attempts"]], "billed": billed, @@ -718,7 +754,7 @@ def verify_source(s, signers, version=1): """§5.1: the source verified by its own extension, a stitched source with `signers`, a job source under a tariff of version 2 or 3, or Refuse with that extension's place.""" key = json.dumps([s, sorted(k.hex() for k in signers), version if isinstance(s, dict) and s.get("kind") == "job" else version in JOB_VERSIONS, - sorted(SKIP & {"job-figure", "output", "output-delivered", "unbilled-hops", "run-work", "decode-frames"})], sort_keys=True) + sorted(SKIP & {"job-figure", "output", "output-delivered", "unbilled-hops", "run-work", "decode-frames", "output-proof"})], sort_keys=True) if key not in _SOURCES: try: _SOURCES[key] = read_source(s, signers, version) @@ -1364,6 +1400,16 @@ def mutations(doc): m = copy.deepcopy(doc) m["sources"]["job_v5_decode"]["outputs"][0]["frames"] = doc["sources"][other]["outputs"][0]["frames"] out.append((f"job_v5_decode: {what}", m)) + if "job_v3r_encode" in doc["sources"]: # §5.1: an output proved at its place + m = copy.deepcopy(doc) + m["sources"]["job_v3r_encode"]["outputs"][0]["proof"]["index"] = 0 + out.append(("job_v3r_encode: its proof stating another place", m)) + m = copy.deepcopy(doc) + m["sources"]["job_v3r_encode"]["outputs"][0]["proof"]["siblings"][0] = "00" * 32 + out.append(("job_v3r_encode: its proof's sibling replaced", m)) + m = copy.deepcopy(doc) + m["sources"]["package_run_v3r"]["outputs"][0]["proof"]["index"] = 1 + out.append(("package_run_v3r: its receipt proved at the second place", m)) for k, v in enumerate(doc["vectors"]): if v["outcome"]["outcome"] == "refuse": m = copy.deepcopy(doc) @@ -1377,7 +1423,7 @@ CHECKS = ["signatures", "buyer-signature", "tariff-rules", "invoice-rules", "row "previous-given", "previous-overlap", "scope", "conflict", "period", "duplicate", "overlap", "rebilled", "quantity", "summed", "citations", "mismatch", "job-figure", "output", "job-duplicate", "private-kind", "operation", "output-once", "output-delivered", "unbilled-hops", "storage-held", "package-again", "run-work", "bytes-out", "conflict-bytes", - "decode-frames"] + "decode-frames", "output-proof"] def main(corpus_dir): diff --git a/wai/live-conformance/route_record_verify.py b/wai/live-conformance/route_record_verify.py index 6b8e71d48..8821bbf2b 100644 --- a/wai/live-conformance/route_record_verify.py +++ b/wai/live-conformance/route_record_verify.py @@ -21,7 +21,11 @@ else is here: cost and time to first byte per successful job and the ranking that reads them (§4.2, §4.4), a record's version held to its price book's, and the served hop's receipt held to the outputs the record states, their commitment computed with ../claim-conformance/_blake3.py - (BLAKE3 written from its specification) as oer-receipts §3 *Output* defines it. + (BLAKE3 written from its specification) as oer-receipts §3 *Output* defines it; +- version 3 of the record (§3.4), on a price book of version 2: what the served hop delivered + stated by its count and root, the served hop's receipt held to the root; and an output's + inclusion proof (§6.1, `inclusion_proof`), which the receipt ledger's verifier checks a job + source's outputs with. For every vector it requires the outcome the corpus states; of the corpus, that every reason of §8 and every code it reuses appears in it, that §8 names every reason it raises, and that no @@ -71,6 +75,11 @@ ATTEMPT = ["hop", "endpoint", "outcome", "error", "start", "end", "billed", "not LEAF, NODE = b"moq-jwp:merkle-leaf\x01", b"moq-jwp:merkle-node\x01" # jwp-receipts §2.2 +def book_of(version): + """§3.4: the price book version a record of `version` rests on: 1, or 2 for versions 2 and 3.""" + return 2 if version in (2, 3) else 1 + + def candidate_members(version): """§5.1: an entry's members, the five a candidate adds, and in version 2 the expected two.""" return (ENTRY_2 if version == 2 else ENTRY) + ["via_fallback", "cost", "energy", "removed", "rank"] \ @@ -558,11 +567,23 @@ def outputs_form(a): return 1 <= len(xs) <= 1024 if a["outcome"] == "served" else not xs +def delivered_form(a): + """§5.2, version 3: a served attempt's count, at least 1, and the root of what it delivered, + 64 lowercase hexadecimal digits; a failed one's, 0 and 64 zeros.""" + d = a["delivered"] + if not (exactly(d, ["count", "root"]) and is_int(d["count"]) and is_hex(d["root"], 64)): + return False + return d["count"] >= 1 if a["outcome"] == "served" else d["count"] == 0 and d["root"] == "00" * 32 + + def attempt_form(i, a, version=1): - if not exactly(a, ATTEMPT + (["outputs"] if version == 2 else [])) or a["outcome"] not in ("served", "failed"): + extra = {2: ["outputs"], 3: ["delivered"]}.get(version, []) + if not exactly(a, ATTEMPT + extra) or a["outcome"] not in ("served", "failed"): return False if version == 2 and on("outputs-form") and not outputs_form(a): return False + if version == 3 and on("delivered-form") and not delivered_form(a): + return False served = a["outcome"] == "served" error_ok = a["error"] is None if served else a["error"] in ERRORS return (is_int(a["hop"]) and a["hop"] == i + 1 and is_token(a["endpoint"]) and error_ok and is_int(a["start"]) @@ -574,7 +595,7 @@ def record_form(r): if not exactly(r, RECORD): return False v = r["version"] - return (is_int(v) and v in (1, 2) and is_token(r["job"]) and isinstance(r["operation"], str) + return (is_int(v) and v in (1, 2, 3) and is_token(r["job"]) and isinstance(r["operation"], str) and OPERATION.match(r["operation"]) is not None and is_cap(r["capability"]) and null_or(r["fallback"], is_cap) and quantities_ok(r["quantities"]) and is_hex(r["request"], 64) and exactly(r["policy"], ["name", "version", "digest"]) and is_token(r["policy"]["name"]) @@ -582,7 +603,7 @@ def record_form(r): and exactly(r["pricebook"], ["digest", "currency", "issued"]) and is_hex(r["pricebook"]["digest"], 64) and isinstance(r["pricebook"]["currency"], str) and CURRENCY.match(r["pricebook"]["currency"]) is not None and is_int(r["pricebook"]["issued"]) - and isinstance(r["candidates"], list) and len(r["candidates"]) <= 1024 and all(candidate_form(c, v) for c in r["candidates"]) + and isinstance(r["candidates"], list) and len(r["candidates"]) <= 1024 and all(candidate_form(c, book_of(v)) for c in r["candidates"]) and isinstance(r["order"], list) and len(r["order"]) <= 1024 and all(is_token(x) for x in r["order"]) and exactly(r["decision"], ["decided_by", "runner_up"]) and r["decision"]["decided_by"] in DECIDED_BY and null_or(r["decision"]["runner_up"], is_token) @@ -640,7 +661,7 @@ def verify_steps(doc): rec = read_document(doc["record"]) if not isinstance(rec, dict) or rec.get("kind") != "wai-route-record": raise Refuse("malformed", ["record"]) - if on("version") and is_int(rec.get("version")) and rec["version"] not in (1, 2): + if on("version") and is_int(rec.get("version")) and rec["version"] not in (1, 2, 3): raise Refuse("unknown_version", ["record", "version"]) if on("record-form") and not record_form(rec): raise Refuse("record_invalid", ["record"]) @@ -658,7 +679,7 @@ def verify_steps(doc): raise Refuse("request_mismatch", ["record", m]) if on("binding-policy") and not same(rec["policy"], {"name": pol["name"], "version": pol["version"], "digest": digest(pol)}): raise Refuse("policy_mismatch", ["record", "policy"]) - if on("record-version") and not same(rec["version"], book_version(book)): + if on("record-version") and not book_of(rec["version"]) == book_version(book): raise Refuse("pricebook_mismatch", ["record", "version"]) if on("binding-pricebook") and not same(rec["pricebook"], {"digest": digest(book), "currency": book["currency"], "issued": book["issued"]}): raise Refuse("pricebook_mismatch", ["record", "pricebook"]) @@ -720,7 +741,8 @@ def verify_steps(doc): "operation": req["operation"], "served": None if served_attempt is None else dict( {"endpoint": served_attempt["endpoint"], "hop": served_attempt["hop"]}, - **({"outputs": served_attempt["outputs"]} if "outputs" in served_attempt else {})), + **({"outputs": served_attempt["outputs"]} if "outputs" in served_attempt else {}), + **({"delivered": served_attempt["delivered"]} if "delivered" in served_attempt else {})), "billed": billed_hop, "deadline": dl, "order": order, @@ -745,6 +767,22 @@ def commitment(outputs): return level[0].hex() if level else "00" * 32 +def inclusion_proof(h, index, siblings, count, root): + """§6.1: whether `siblings` proves the object whose content hash is `h` (bytes) the one at + `index` of `count` objects delivered under `root` (bytes): `index` below `count`, exactly + ceil(log2 count) siblings (none for one object, whose root is its content hash), and the walk + from its unlabelled leaf, the sibling on the left where bit i of `index` is 1, ends at + `root`.""" + if not (0 <= index < count) or len(siblings) != (count - 1).bit_length(): + return False + if count == 1: + return h == root + node = blake3(LEAF + h) + for i, sib in enumerate(siblings): + node = blake3(NODE + sib + node) if (index >> i) & 1 else blake3(NODE + node + sib) + return node == root + + def hop_receipts(rec, texts, keys): """§6: each attempt held to its hop's OER/2 receipt. The hops whose receipts state the unmetered marker.""" @@ -775,6 +813,11 @@ def hop_receipts(rec, texts, keys): subject = r.get("subject") if isinstance(r.get("subject"), dict) else {} if subject.get("output") != commitment(a["outputs"]): raise Refuse("receipt_output_mismatch", at) + # Version 3 (§6): it names the root the attempt states. + if on("receipt-root") and a["outcome"] == "served" and "delivered" in a: + subject = r.get("subject") if isinstance(r.get("subject"), dict) else {} + if subject.get("output") != a["delivered"]["root"]: + raise Refuse("receipt_output_mismatch", at) if OER.is_unmetered(r): unmetered.append(a["hop"]) return unmetered @@ -851,6 +894,10 @@ def mutations(doc): copy_with("its stated outputs reversed and one more", k, lambda x: x["outcome"]["served"].__setitem__( "outputs", list(reversed(o["served"]["outputs"])) + ["00" * 32])) copy_with("its served hop's outputs dropped from the outcome", k, lambda x: x["outcome"]["served"].pop("outputs")) + if o["served"] and "delivered" in o["served"]: + copy_with("its stated count one more", k, lambda x: x["outcome"]["served"]["delivered"].__setitem__("count", o["served"]["delivered"]["count"] + 1)) + copy_with("its stated root another", k, lambda x: x["outcome"]["served"]["delivered"].__setitem__("root", "00" * 32)) + copy_with("its served hop's delivered dropped from the outcome", k, lambda x: x["outcome"]["served"].pop("delivered")) copy_with("its stated deadline changed", k, lambda x: x["outcome"].__setitem__("deadline", "met" if o["deadline"] != "met" else "missed")) copy_with("its stated order reversed", k, lambda x: x["outcome"].__setitem__("order", list(reversed(o["order"])) + ["x"])) copy_with("its stated decision changed", k, lambda x: x["outcome"]["decision"].__setitem__("decided_by", "price" if o["decision"]["decided_by"] != "price" else "ttfb")) @@ -865,7 +912,8 @@ CHECKS = ["request_invalid", "pricebook_invalid", "policy_invalid", "version", " "allowed", "removed", "in-order", "served-last", "times", "billing", "complete", "receipt-given", "receipt-verifies", "receipt-matches", "pricebook-version", "failures-relations", "operation-candidates", "thin-basis", "unbounded", "expected-price", - "expected-ttfb", "expected-targets", "record-version", "outputs-form", "receipt-output", + "expected-ttfb", "expected-targets", "record-version", "outputs-form", "receipt-output", "delivered-form", + "receipt-root", "limit-policy", "limit-unit", "limit-region", "limit-residency", "limit-training", "limit-retention", "limit-ga", "limit-consent", "limit-unit-price", "limit-spend"] diff --git a/wai/live-conformance/routes/README.md b/wai/live-conformance/routes/README.md index 5b6f0ae68..4195e3f75 100644 --- a/wai/live-conformance/routes/README.md +++ b/wai/live-conformance/routes/README.md @@ -17,7 +17,10 @@ a price book that prices each operation of an endpoint and states its measured f ranking by the expected cost and time to first byte per successful job, and the served hop's outputs, to which its receipt is held. The outputs are the content hashes of fixed byte strings standing for the envelopes a hop delivered; the verifier reads only their content -hashes. +hashes. Then those of version 3 (§3.4), on version 2's price book, whose names begin `v3_` but +for the control that pairs one with a price book of version 1: the served hop's outputs stated +by their count and root, to which its receipt is held, 5,000 of them in one record the size of +the others. ```sh # wai-rs: regenerates byte for byte, and every vector gets its outcome diff --git a/wai/live-conformance/routes/vectors.json b/wai/live-conformance/routes/vectors.json index 9b7b17b6b..29fa8c07c 100644 --- a/wai/live-conformance/routes/vectors.json +++ b/wai/live-conformance/routes/vectors.json @@ -1550,12 +1550,12 @@ } }, { - "name": "record_version_3", + "name": "record_version_4", "document": { "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-0001\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[{\"divisor\":1,\"price\":150000000,\"unit\":\"seconds\"}],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"ga\":true,\"needs_consent\":false,\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.beta\",\"energy_class\":null,\"energy_uj\":null,\"ga\":true,\"needs_consent\":false,\"price\":200000000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":400,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"ga\":true,\"needs_consent\":false,\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"ga\":false,\"needs_consent\":false,\"price\":20000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":null,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"ga\":true,\"needs_consent\":false,\"price\":5000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"frames\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.excluded\",\"energy_class\":null,\"energy_uj\":null,\"ga\":true,\"needs_consent\":false,\"price\":10000,\"provider\":\"prov-x\",\"quality\":990,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"ga\":true,\"needs_consent\":false,\"price\":15000,\"provider\":\"prov-gamma\",\"quality\":null,\"region\":\"us-east\",\"residency\":null,\"retention_days\":30,\"trains_on_inputs\":null,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":\"Estimator\",\"energy_uj\":700000,\"ga\":true,\"needs_consent\":null,\"price\":45000,\"provider\":\"prov-zeta\",\"quality\":800,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":350,\"unit\":\"subpixels\"},{\"capability\":\"wai.audio.opus\",\"divisor\":1,\"endpoint\":\"opus.alpha\",\"energy_class\":null,\"energy_uj\":null,\"ga\":true,\"needs_consent\":false,\"price\":1000,\"provider\":\"prov-alpha\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":50,\"unit\":\"seconds\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\"}", "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", - "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:e38c842892cf82c49224632e33ba5b9e22ae36d2df3bbc08f90791e148b0cda8\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"ga\":true,\"needs_consent\":false,\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.av1\",\"cost\":800000000,\"divisor\":1,\"endpoint\":\"av1.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"ga\":true,\"needs_consent\":false,\"price\":200000000,\"provider\":\"prov-beta\",\"quality\":900,\"rank\":null,\"region\":\"eu-west\",\"removed\":[{\"limit\":\"unit_price\",\"value\":200000000}],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":400,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"ga\":true,\"needs_consent\":false,\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":691200,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"ga\":false,\"needs_consent\":false,\"price\":20000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":null,\"region\":\"eu-west\",\"removed\":[{\"limit\":\"retention\",\"value\":null},{\"limit\":\"ga\",\"value\":false}],\"residency\":\"eu\",\"retention_days\":null,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":null,\"divisor\":1,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"ga\":true,\"needs_consent\":false,\"price\":5000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":null,\"region\":\"eu-west\",\"removed\":[{\"limit\":\"unit\",\"value\":\"frames\"},{\"limit\":\"spend\",\"value\":null}],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"frames\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":345600,\"divisor\":1000000,\"endpoint\":\"im.excluded\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"ga\":true,\"needs_consent\":false,\"price\":10000,\"provider\":\"prov-x\",\"quality\":990,\"rank\":null,\"region\":\"eu-west\",\"removed\":[{\"limit\":\"policy\",\"value\":\"prov-x\"}],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":518400,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"ga\":true,\"needs_consent\":false,\"price\":15000,\"provider\":\"prov-gamma\",\"quality\":null,\"rank\":null,\"region\":\"us-east\",\"removed\":[{\"limit\":\"region\",\"value\":\"us-east\"},{\"limit\":\"residency\",\"value\":null},{\"limit\":\"training\",\"value\":null},{\"limit\":\"retention\",\"value\":30}],\"residency\":null,\"retention_days\":30,\"trains_on_inputs\":null,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1555200,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":24192000,\"energy_class\":\"Estimator\",\"energy_uj\":700000,\"ga\":true,\"needs_consent\":null,\"price\":45000,\"provider\":\"prov-zeta\",\"quality\":800,\"rank\":null,\"region\":\"eu-central\",\"removed\":[{\"limit\":\"consent\",\"value\":null}],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":350,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"av1.alpha\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-0001\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"af132fd169de93674a59d1735c840e539f9144f3a26dc18bee089efe57bcf108\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"84f9305c1a97b1fe8c4c865a604e9509743d39b6c5fe4daf715b0e4fc69c2139\",\"sig\":\"f74d3481ad2b7dfd266942d40ad37b0b7c8c6682b4145758bba929d77eaf792f667ed56e138582b1eae18c57f02d03d210271f33974f99d5696e19f8d7125904\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:e38c842892cf82c49224632e33ba5b9e22ae36d2df3bbc08f90791e148b0cda8\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"ga\":true,\"needs_consent\":false,\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.av1\",\"cost\":800000000,\"divisor\":1,\"endpoint\":\"av1.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"ga\":true,\"needs_consent\":false,\"price\":200000000,\"provider\":\"prov-beta\",\"quality\":900,\"rank\":null,\"region\":\"eu-west\",\"removed\":[{\"limit\":\"unit_price\",\"value\":200000000}],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":400,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"ga\":true,\"needs_consent\":false,\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":691200,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"ga\":false,\"needs_consent\":false,\"price\":20000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":null,\"region\":\"eu-west\",\"removed\":[{\"limit\":\"retention\",\"value\":null},{\"limit\":\"ga\",\"value\":false}],\"residency\":\"eu\",\"retention_days\":null,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":null,\"divisor\":1,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"ga\":true,\"needs_consent\":false,\"price\":5000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":null,\"region\":\"eu-west\",\"removed\":[{\"limit\":\"unit\",\"value\":\"frames\"},{\"limit\":\"spend\",\"value\":null}],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"frames\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":345600,\"divisor\":1000000,\"endpoint\":\"im.excluded\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"ga\":true,\"needs_consent\":false,\"price\":10000,\"provider\":\"prov-x\",\"quality\":990,\"rank\":null,\"region\":\"eu-west\",\"removed\":[{\"limit\":\"policy\",\"value\":\"prov-x\"}],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":518400,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"ga\":true,\"needs_consent\":false,\"price\":15000,\"provider\":\"prov-gamma\",\"quality\":null,\"rank\":null,\"region\":\"us-east\",\"removed\":[{\"limit\":\"region\",\"value\":\"us-east\"},{\"limit\":\"residency\",\"value\":null},{\"limit\":\"training\",\"value\":null},{\"limit\":\"retention\",\"value\":30}],\"residency\":null,\"retention_days\":30,\"trains_on_inputs\":null,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1555200,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":24192000,\"energy_class\":\"Estimator\",\"energy_uj\":700000,\"ga\":true,\"needs_consent\":null,\"price\":45000,\"provider\":\"prov-zeta\",\"quality\":800,\"rank\":null,\"region\":\"eu-central\",\"removed\":[{\"limit\":\"consent\",\"value\":null}],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":350,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"av1.alpha\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-0001\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"af132fd169de93674a59d1735c840e539f9144f3a26dc18bee089efe57bcf108\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"84f9305c1a97b1fe8c4c865a604e9509743d39b6c5fe4daf715b0e4fc69c2139\",\"sig\":\"bbeb928a6c48f01fc4118ff50f8241676a5dfab00ce85e98dbabc7b77a7fbb0ad228db42477a9c41ac395a1bde8ca1124485b84143675f4aff3eef5a7c0fca04\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":4}", "receipts": [ "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:e38c842892cf82c49224632e33ba5b9e22ae36d2df3bbc08f90791e148b0cda8\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:0d69497c0597b96e23e625790c9c89527c1e1d50744c9acc9b901a0694060588\"],\"output\":\"blake3:8c05ad23f29dac4fa0cb00b9cb758eab315e7cbd6458cb04ad8eaaae24ae67d5\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"31.104\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"31.104\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:519736649ceb37a7bec8a0db6c87cb6e80fdb7e6a079fc7bd990aaddd7152a3b\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"80569744db45809f85f0d80de50d473419cbdfa6603e02a44f3c060be515e9d9579baee9eedd7c1162dcce2817d2b941a854b7930290edc77a51b2dbde1d1508\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" ], @@ -3790,6 +3790,556 @@ "receipt" ] } + }, + { + "name": "v3_served_one_output", + "document": { + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-3001\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"d539f18519d0fc035c8eafefe62e7f28e8583ae0e89f16a1c989aa9c8a238560\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:e1f44831600776ecdc4779cf4a4535bf6a8fa276488edafa191d6bff0cdae04a\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-3001\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"889abf45e6a9ae51a0adb6b3f582bf66ae06cde717416578ea9117fe030ed061\",\"sig\":\"26aa9da51a6ef0d8f45dbcd155e23d24079d9a49fdfaca431d0d62cbacb5b1be7e0e91fec45153f7834f33b8af92d708fa60741a69b3d1f4e42b710f237a2904\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:e1f44831600776ecdc4779cf4a4535bf6a8fa276488edafa191d6bff0cdae04a\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:8c4548f5a0e497ae6257f82ab35a19c91a7e1489007119c03e4a299dbc0471c0\"],\"output\":\"d539f18519d0fc035c8eafefe62e7f28e8583ae0e89f16a1c989aa9c8a238560\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"31.104\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"31.104\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:81f50cc0b65d3fd2a63977f1a9e86475ac3bb894d88a3b69a9cc6307d03ab021\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"6da04c240c2393eb08c71533eeb10488737f8a64a78654876379d3e95cfc49b1c01a0210a3d22b43d578c4ef3e7ce21590a1f422278444eb7fa241b2bfcbc300\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + } + }, + "outcome": { + "outcome": "accept", + "digest": "318edb7daa5ea3f285f4ca29311409f9257d743679635bfbf058b09adaba73e7", + "job": "job-3001", + "operation": "media.encode", + "served": { + "endpoint": "im.alpha", + "hop": 1, + "delivered": { + "count": 1, + "root": "d539f18519d0fc035c8eafefe62e7f28e8583ae0e89f16a1c989aa9c8a238560" + } + }, + "billed": 1, + "deadline": "met", + "order": [ + "im.alpha", + "im.eta", + "im.iota", + "im.beta", + "im.zeta", + "im.theta", + "im.gamma", + "im.epsilon", + "im.delta", + "av1.alpha" + ], + "decision": { + "decided_by": "price", + "runner_up": "im.eta" + }, + "removed": [], + "receipts": "checked", + "unmetered": [] + } + }, + { + "name": "v3_served_three_outputs", + "document": { + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-3002\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":3,\"root\":\"95059a494160afecb6928caf3c03fdeb10ec814fc683c693f246d2ff62c4cefd\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:361451a65db5f9149a1291b46a8a625b0a7bc83e7cc835f897a16bbfd49ff816\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-3002\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"b4c28d18a789b7446b60f16ab6a18f6b7f1a09a2e9bf1259962be058e23091a9\",\"sig\":\"f62d25fcc04904352179ee6d612699175f397470b1e8c679c5a29f6cc5fc26021dbc0fce8c52cd74dbba254d8d5ce7ec8ef6b0f6b2cef82eb64bdcc457638d0d\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:361451a65db5f9149a1291b46a8a625b0a7bc83e7cc835f897a16bbfd49ff816\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:7a4435badd60289af7f1f56f4165c16653c5ba7a4ada20ed423d5534eeb1f240\"],\"output\":\"95059a494160afecb6928caf3c03fdeb10ec814fc683c693f246d2ff62c4cefd\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"31.104\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"31.104\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:aae431d96b68976581d08a03044addfd424b54284433cec2aded08f928a82ff6\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"e9860985bf8dde5d634444fe5e34b20bf91e1dbed93bee355418af225e17e08cd6ec7bf5262ac9aef6b308c37518d9f258a8380e48199604e84ec5d1af612105\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + } + }, + "outcome": { + "outcome": "accept", + "digest": "f83072500fe5a2539af6262891b5f59c890840ae8fc926e8f3283451c99d7b70", + "job": "job-3002", + "operation": "media.encode", + "served": { + "endpoint": "im.alpha", + "hop": 1, + "delivered": { + "count": 3, + "root": "95059a494160afecb6928caf3c03fdeb10ec814fc683c693f246d2ff62c4cefd" + } + }, + "billed": 1, + "deadline": "met", + "order": [ + "im.alpha", + "im.eta", + "im.iota", + "im.beta", + "im.zeta", + "im.theta", + "im.gamma", + "im.epsilon", + "im.delta", + "av1.alpha" + ], + "decision": { + "decided_by": "price", + "runner_up": "im.eta" + }, + "removed": [], + "receipts": "checked", + "unmetered": [] + } + }, + { + "name": "v3_served_more_outputs_than_a_list_holds", + "document": { + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-3003\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":5000,\"root\":\"c5ce33d1e90710399ec578d8d297e16a01672d6d820bc320d93300bf379eb0d8\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:cbfe1fbe72113143abc9d13b4f0f8d6e46948de3020c6340d86aec45e61a94e1\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-3003\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"204a375ae7a067ceac094cf8551a7cb8d43ff8511927d05e384ae515b5eacbc8\",\"sig\":\"6453dca25abdb4a7fd6bc7aaaa68eb5c58b9c71bccfdfb06247e2f50726a6cce55e98035903a8fce06eb7f678cb1fca8079d03c6ec1be94dac66f692b8d83c01\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:cbfe1fbe72113143abc9d13b4f0f8d6e46948de3020c6340d86aec45e61a94e1\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:264780af8f8d6630e8eefd2aefeb88c06f931c9148d7209e58165c71470c7570\"],\"output\":\"c5ce33d1e90710399ec578d8d297e16a01672d6d820bc320d93300bf379eb0d8\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"31.104\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"31.104\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:e28529ff4e067bb83a9e599b2dcec0bfed5976a6b0719322045eafc4eee14303\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"a82733294abfedee25a4a6903eee376eda19b7a00eac5186367c0ab9ca87a4a591f197bb8552caba41587a2f4ac95a6cd8ba8ef5c6b9d5e97575344b6bfde80a\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + } + }, + "outcome": { + "outcome": "accept", + "digest": "f61bc4fec50404760ea0ef3e7e587887b3e7908a92680660f99e4ff51667c7db", + "job": "job-3003", + "operation": "media.encode", + "served": { + "endpoint": "im.alpha", + "hop": 1, + "delivered": { + "count": 5000, + "root": "c5ce33d1e90710399ec578d8d297e16a01672d6d820bc320d93300bf379eb0d8" + } + }, + "billed": 1, + "deadline": "met", + "order": [ + "im.alpha", + "im.eta", + "im.iota", + "im.beta", + "im.zeta", + "im.theta", + "im.gamma", + "im.epsilon", + "im.delta", + "av1.alpha" + ], + "decision": { + "decided_by": "price", + "runner_up": "im.eta" + }, + "removed": [], + "receipts": "checked", + "unmetered": [] + } + }, + { + "name": "v3_failover_whose_failed_hop_delivered_nothing", + "document": { + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-3004\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":false,\"delivered\":{\"count\":0,\"root\":\"0000000000000000000000000000000000000000000000000000000000000000\"},\"end\":1793000002000000,\"endpoint\":\"im.alpha\",\"error\":\"server_error\",\"hop\":1,\"not_billed\":\"failed\",\"outcome\":\"failed\",\"receipt\":\"sha256:10138fc5172d04ff44930caf7eee267ac692c5d0c71c62a43ef85bd2f97e25db\",\"start\":1793000000001000},{\"billed\":true,\"delivered\":{\"count\":2,\"root\":\"de1d716c24e6c05b6e5c86195f7be70d055418f3f94cb7a73bb0d62d6339e0d9\"},\"end\":1793000009000000,\"endpoint\":\"im.eta\",\"error\":null,\"hop\":2,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:7b12c20f3545f6f5bfdbae17d9c381e0c6639a1c82937a0c69f01d1bea25272f\",\"start\":1793000002000100}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-3004\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"1b27ea8deb0f5a89738ba984af9ac7c9e360cd11cd337ba4ca6a0995143ca46e\",\"sig\":\"90391299ec6497d6dd201b3b7757d5ae096f87eb0e860a0a528fdf0d4a671d19084b5cf0ab820d0f41b7176b15807899bf7948084699857a8cba0a2ec651c009\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:10138fc5172d04ff44930caf7eee267ac692c5d0c71c62a43ef85bd2f97e25db\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:0526dc7051f436b1ee1ac207076380913c993395ccce1338b9da33882aff38c6\"],\"output\":\"\"},\"work\":{\"status\":-1,\"outcome\":\"failed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":null,\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":null,\"movement_j\":null,\"idle_alloc_j\":null,\"shared_alloc_j\":null,\"upstream_j\":null},\"method\":\"unmetered\",\"temperature_k\":\"300\"},\"provenance\":{\"how\":\"projected\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"projected\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:bea91fb5c2fdbb65dcffff07daa83b1d93a1fb7571bf81df6961cac49951f69e\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"68f1285d3060bf3998a524501bd787be3d5ad063ca7fc693788e223dd3dd464f4189b162efd1c5e35ebd4d10a94c328238663c931feccf9edfc044ff111d1c08\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}", + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:7b12c20f3545f6f5bfdbae17d9c381e0c6639a1c82937a0c69f01d1bea25272f\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:4ad9ebde2204dd355726990a98af1e517fec1daf8bb202fdfc98d4f6cdd7b6fa\"],\"output\":\"de1d716c24e6c05b6e5c86195f7be70d055418f3f94cb7a73bb0d62d6339e0d9\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"10.0\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"10.0\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"ModelBased\"}},\"provenance\":{\"how\":\"derived\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"derived\",\"input\":\"im.eta\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:0b63bd9901ecc1c9681b99f9361dcb4cb5ae29128d9d34d3de368e61a3042504\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"d148ed597be049ef5e14b91dd16eb2cd5e7a886e29d74663e2fb0cea81ac14b4e0c3ef673414583ea886559d7fd1c25edef9fe28a0139e0cd2da6265c011d00a\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + } + }, + "outcome": { + "outcome": "accept", + "digest": "f6c2fd9562c8517d523a6fef18a25430fe58898ecf644cfbda28ff79f0760293", + "job": "job-3004", + "operation": "media.encode", + "served": { + "endpoint": "im.eta", + "hop": 2, + "delivered": { + "count": 2, + "root": "de1d716c24e6c05b6e5c86195f7be70d055418f3f94cb7a73bb0d62d6339e0d9" + } + }, + "billed": 2, + "deadline": "met", + "order": [ + "im.alpha", + "im.eta", + "im.iota", + "im.beta", + "im.zeta", + "im.theta", + "im.gamma", + "im.epsilon", + "im.delta", + "av1.alpha" + ], + "decision": { + "decided_by": "price", + "runner_up": "im.eta" + }, + "removed": [], + "receipts": "checked", + "unmetered": [ + 1 + ] + } + }, + { + "name": "v3_served_after_the_deadline", + "document": { + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-3005\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":false,\"delivered\":{\"count\":1,\"root\":\"2d7a021ba50e02c0d7f31908a7ebd2bd966f88ceaf8de5e310df463803e3fc0c\"},\"end\":1793000031000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":\"deadline_missed\",\"outcome\":\"served\",\"receipt\":\"sha256:e0cb7d69673d5d92c683e8896df28919d527ff98f9ef1fc2f15b3af2061cfbd2\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-3005\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"221ae75392cf6478c26b5ad77827261216180439021f1c0af5939310a4284670\",\"sig\":\"569d2da79f7955ea7c1a11a38b4d1fdf2a119ba35bcb9fa67326778bd44ffcf917e8318156d374352f5718f6f51695dba8fa5dca4736a0cae408131cf613c004\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:e0cb7d69673d5d92c683e8896df28919d527ff98f9ef1fc2f15b3af2061cfbd2\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:1420588290ca1c06ee2e41760d1ab9938d26b04001d32d560632ba0693a8b695\"],\"output\":\"2d7a021ba50e02c0d7f31908a7ebd2bd966f88ceaf8de5e310df463803e3fc0c\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"31.104\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"31.104\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:a3650d0b0d186992adc0cc1eee4620f112f213632a8444c0631bb1e573c22b37\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"a200e454beaacf9039892ecbf5a08dca06f1c095447a0c4d9435434ddd11ed112b559dd53b1646a0c26d1e5063b55b385c1607ec62a5640da70d4d51acc74a0a\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + } + }, + "outcome": { + "outcome": "accept", + "digest": "0bee7efcd376c8d7dda6eba25b9f99833a4606d8d4f085d213e360ac28468543", + "job": "job-3005", + "operation": "media.encode", + "served": { + "endpoint": "im.alpha", + "hop": 1, + "delivered": { + "count": 1, + "root": "2d7a021ba50e02c0d7f31908a7ebd2bd966f88ceaf8de5e310df463803e3fc0c" + } + }, + "billed": null, + "deadline": "missed", + "order": [ + "im.alpha", + "im.eta", + "im.iota", + "im.beta", + "im.zeta", + "im.theta", + "im.gamma", + "im.epsilon", + "im.delta", + "av1.alpha" + ], + "decision": { + "decided_by": "price", + "runner_up": "im.eta" + }, + "removed": [], + "receipts": "checked", + "unmetered": [] + } + }, + { + "name": "v3_receipts_not_checked", + "document": { + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-3001\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"d539f18519d0fc035c8eafefe62e7f28e8583ae0e89f16a1c989aa9c8a238560\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:e1f44831600776ecdc4779cf4a4535bf6a8fa276488edafa191d6bff0cdae04a\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-3001\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"889abf45e6a9ae51a0adb6b3f582bf66ae06cde717416578ea9117fe030ed061\",\"sig\":\"26aa9da51a6ef0d8f45dbcd155e23d24079d9a49fdfaca431d0d62cbacb5b1be7e0e91fec45153f7834f33b8af92d708fa60741a69b3d1f4e42b710f237a2904\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": null, + "keys": null + }, + "outcome": { + "outcome": "accept", + "digest": "318edb7daa5ea3f285f4ca29311409f9257d743679635bfbf058b09adaba73e7", + "job": "job-3001", + "operation": "media.encode", + "served": { + "endpoint": "im.alpha", + "hop": 1, + "delivered": { + "count": 1, + "root": "d539f18519d0fc035c8eafefe62e7f28e8583ae0e89f16a1c989aa9c8a238560" + } + }, + "billed": 1, + "deadline": "met", + "order": [ + "im.alpha", + "im.eta", + "im.iota", + "im.beta", + "im.zeta", + "im.theta", + "im.gamma", + "im.epsilon", + "im.delta", + "av1.alpha" + ], + "decision": { + "decided_by": "price", + "runner_up": "im.eta" + }, + "removed": [], + "receipts": "not_checked", + "unmetered": null + } + }, + { + "name": "v3_served_with_a_count_of_0", + "document": { + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-3001\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":0,\"root\":\"d539f18519d0fc035c8eafefe62e7f28e8583ae0e89f16a1c989aa9c8a238560\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:e1f44831600776ecdc4779cf4a4535bf6a8fa276488edafa191d6bff0cdae04a\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-3001\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"889abf45e6a9ae51a0adb6b3f582bf66ae06cde717416578ea9117fe030ed061\",\"sig\":\"260364689744be1bff8beaef13e326fa325668de65aefdb56c2f2354a071af43ac005813752f182db5d3e2392ef224668042dc2259c2231c528151fa5f716c02\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:e1f44831600776ecdc4779cf4a4535bf6a8fa276488edafa191d6bff0cdae04a\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:8c4548f5a0e497ae6257f82ab35a19c91a7e1489007119c03e4a299dbc0471c0\"],\"output\":\"d539f18519d0fc035c8eafefe62e7f28e8583ae0e89f16a1c989aa9c8a238560\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"31.104\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"31.104\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:81f50cc0b65d3fd2a63977f1a9e86475ac3bb894d88a3b69a9cc6307d03ab021\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"6da04c240c2393eb08c71533eeb10488737f8a64a78654876379d3e95cfc49b1c01a0210a3d22b43d578c4ef3e7ce21590a1f422278444eb7fa241b2bfcbc300\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + } + }, + "outcome": { + "outcome": "refuse", + "reason": "record_invalid", + "at": [ + "record" + ] + } + }, + { + "name": "v3_a_failed_hop_with_a_count", + "document": { + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-3004\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":false,\"delivered\":{\"count\":1,\"root\":\"0000000000000000000000000000000000000000000000000000000000000000\"},\"end\":1793000002000000,\"endpoint\":\"im.alpha\",\"error\":\"server_error\",\"hop\":1,\"not_billed\":\"failed\",\"outcome\":\"failed\",\"receipt\":\"sha256:10138fc5172d04ff44930caf7eee267ac692c5d0c71c62a43ef85bd2f97e25db\",\"start\":1793000000001000},{\"billed\":true,\"delivered\":{\"count\":2,\"root\":\"de1d716c24e6c05b6e5c86195f7be70d055418f3f94cb7a73bb0d62d6339e0d9\"},\"end\":1793000009000000,\"endpoint\":\"im.eta\",\"error\":null,\"hop\":2,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:7b12c20f3545f6f5bfdbae17d9c381e0c6639a1c82937a0c69f01d1bea25272f\",\"start\":1793000002000100}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-3004\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"1b27ea8deb0f5a89738ba984af9ac7c9e360cd11cd337ba4ca6a0995143ca46e\",\"sig\":\"1a7443b68c03fdbee5a413d5e005785c84cf8c451b76bb68c156796f2495e0fb0f59494ed4aa1c96a8ec0e8cf3d1df1620643719056733b8290c24929af6f60b\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:10138fc5172d04ff44930caf7eee267ac692c5d0c71c62a43ef85bd2f97e25db\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:0526dc7051f436b1ee1ac207076380913c993395ccce1338b9da33882aff38c6\"],\"output\":\"\"},\"work\":{\"status\":-1,\"outcome\":\"failed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":null,\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":null,\"movement_j\":null,\"idle_alloc_j\":null,\"shared_alloc_j\":null,\"upstream_j\":null},\"method\":\"unmetered\",\"temperature_k\":\"300\"},\"provenance\":{\"how\":\"projected\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"projected\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:bea91fb5c2fdbb65dcffff07daa83b1d93a1fb7571bf81df6961cac49951f69e\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"68f1285d3060bf3998a524501bd787be3d5ad063ca7fc693788e223dd3dd464f4189b162efd1c5e35ebd4d10a94c328238663c931feccf9edfc044ff111d1c08\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}", + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:7b12c20f3545f6f5bfdbae17d9c381e0c6639a1c82937a0c69f01d1bea25272f\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:4ad9ebde2204dd355726990a98af1e517fec1daf8bb202fdfc98d4f6cdd7b6fa\"],\"output\":\"de1d716c24e6c05b6e5c86195f7be70d055418f3f94cb7a73bb0d62d6339e0d9\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"10.0\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"10.0\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"ModelBased\"}},\"provenance\":{\"how\":\"derived\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"derived\",\"input\":\"im.eta\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:0b63bd9901ecc1c9681b99f9361dcb4cb5ae29128d9d34d3de368e61a3042504\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"d148ed597be049ef5e14b91dd16eb2cd5e7a886e29d74663e2fb0cea81ac14b4e0c3ef673414583ea886559d7fd1c25edef9fe28a0139e0cd2da6265c011d00a\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + } + }, + "outcome": { + "outcome": "refuse", + "reason": "record_invalid", + "at": [ + "record" + ] + } + }, + { + "name": "v3_a_failed_hop_with_a_root", + "document": { + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-3004\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":false,\"delivered\":{\"count\":0,\"root\":\"de1d716c24e6c05b6e5c86195f7be70d055418f3f94cb7a73bb0d62d6339e0d9\"},\"end\":1793000002000000,\"endpoint\":\"im.alpha\",\"error\":\"server_error\",\"hop\":1,\"not_billed\":\"failed\",\"outcome\":\"failed\",\"receipt\":\"sha256:10138fc5172d04ff44930caf7eee267ac692c5d0c71c62a43ef85bd2f97e25db\",\"start\":1793000000001000},{\"billed\":true,\"delivered\":{\"count\":2,\"root\":\"de1d716c24e6c05b6e5c86195f7be70d055418f3f94cb7a73bb0d62d6339e0d9\"},\"end\":1793000009000000,\"endpoint\":\"im.eta\",\"error\":null,\"hop\":2,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:7b12c20f3545f6f5bfdbae17d9c381e0c6639a1c82937a0c69f01d1bea25272f\",\"start\":1793000002000100}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-3004\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"1b27ea8deb0f5a89738ba984af9ac7c9e360cd11cd337ba4ca6a0995143ca46e\",\"sig\":\"251c9a790e71108ed17e3df41637424d22f577fcffd8af09250fd5d2f29408ce2e4718ec2616b07cf1ba745b610efddcbb38cc1e38c8b769eae995b412dd4803\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:10138fc5172d04ff44930caf7eee267ac692c5d0c71c62a43ef85bd2f97e25db\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:0526dc7051f436b1ee1ac207076380913c993395ccce1338b9da33882aff38c6\"],\"output\":\"\"},\"work\":{\"status\":-1,\"outcome\":\"failed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":null,\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":null,\"movement_j\":null,\"idle_alloc_j\":null,\"shared_alloc_j\":null,\"upstream_j\":null},\"method\":\"unmetered\",\"temperature_k\":\"300\"},\"provenance\":{\"how\":\"projected\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"projected\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:bea91fb5c2fdbb65dcffff07daa83b1d93a1fb7571bf81df6961cac49951f69e\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"68f1285d3060bf3998a524501bd787be3d5ad063ca7fc693788e223dd3dd464f4189b162efd1c5e35ebd4d10a94c328238663c931feccf9edfc044ff111d1c08\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}", + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:7b12c20f3545f6f5bfdbae17d9c381e0c6639a1c82937a0c69f01d1bea25272f\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:4ad9ebde2204dd355726990a98af1e517fec1daf8bb202fdfc98d4f6cdd7b6fa\"],\"output\":\"de1d716c24e6c05b6e5c86195f7be70d055418f3f94cb7a73bb0d62d6339e0d9\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"10.0\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"10.0\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"ModelBased\"}},\"provenance\":{\"how\":\"derived\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"derived\",\"input\":\"im.eta\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:0b63bd9901ecc1c9681b99f9361dcb4cb5ae29128d9d34d3de368e61a3042504\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"d148ed597be049ef5e14b91dd16eb2cd5e7a886e29d74663e2fb0cea81ac14b4e0c3ef673414583ea886559d7fd1c25edef9fe28a0139e0cd2da6265c011d00a\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + } + }, + "outcome": { + "outcome": "refuse", + "reason": "record_invalid", + "at": [ + "record" + ] + } + }, + { + "name": "v3_a_root_in_capitals", + "document": { + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-3001\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"D539F18519D0FC035C8EAFEFE62E7F28E8583AE0E89F16A1C989AA9C8A238560\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:e1f44831600776ecdc4779cf4a4535bf6a8fa276488edafa191d6bff0cdae04a\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-3001\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"889abf45e6a9ae51a0adb6b3f582bf66ae06cde717416578ea9117fe030ed061\",\"sig\":\"35083cfb21fe6be3a44d1b05cdb25ac90d410d10db7fe30b80e81f5bebdffe256174043f2d9af479755deffbd94085a91807d810950a00dd7972dee6ccfbae02\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:e1f44831600776ecdc4779cf4a4535bf6a8fa276488edafa191d6bff0cdae04a\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:8c4548f5a0e497ae6257f82ab35a19c91a7e1489007119c03e4a299dbc0471c0\"],\"output\":\"d539f18519d0fc035c8eafefe62e7f28e8583ae0e89f16a1c989aa9c8a238560\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"31.104\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"31.104\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:81f50cc0b65d3fd2a63977f1a9e86475ac3bb894d88a3b69a9cc6307d03ab021\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"6da04c240c2393eb08c71533eeb10488737f8a64a78654876379d3e95cfc49b1c01a0210a3d22b43d578c4ef3e7ce21590a1f422278444eb7fa241b2bfcbc300\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + } + }, + "outcome": { + "outcome": "refuse", + "reason": "record_invalid", + "at": [ + "record" + ] + } + }, + { + "name": "v3_a_count_as_text", + "document": { + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-3002\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":\"3\",\"root\":\"95059a494160afecb6928caf3c03fdeb10ec814fc683c693f246d2ff62c4cefd\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:361451a65db5f9149a1291b46a8a625b0a7bc83e7cc835f897a16bbfd49ff816\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-3002\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"b4c28d18a789b7446b60f16ab6a18f6b7f1a09a2e9bf1259962be058e23091a9\",\"sig\":\"819da4b83fdd20c7e22bc4f3cdd0d80a3b1eff438e5349285d86fd38ba78781bd83da2da21f566be7bc61c2ce4fc7e1f6c6f130eea9f7ce06bdd8434809a680a\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:361451a65db5f9149a1291b46a8a625b0a7bc83e7cc835f897a16bbfd49ff816\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:7a4435badd60289af7f1f56f4165c16653c5ba7a4ada20ed423d5534eeb1f240\"],\"output\":\"95059a494160afecb6928caf3c03fdeb10ec814fc683c693f246d2ff62c4cefd\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"31.104\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"31.104\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:aae431d96b68976581d08a03044addfd424b54284433cec2aded08f928a82ff6\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"e9860985bf8dde5d634444fe5e34b20bf91e1dbed93bee355418af225e17e08cd6ec7bf5262ac9aef6b308c37518d9f258a8380e48199604e84ec5d1af612105\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + } + }, + "outcome": { + "outcome": "refuse", + "reason": "record_invalid", + "at": [ + "record" + ] + } + }, + { + "name": "v3_a_member_besides_the_count_and_the_root", + "document": { + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-3002\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":3,\"outputs\":3,\"root\":\"95059a494160afecb6928caf3c03fdeb10ec814fc683c693f246d2ff62c4cefd\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:361451a65db5f9149a1291b46a8a625b0a7bc83e7cc835f897a16bbfd49ff816\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-3002\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"b4c28d18a789b7446b60f16ab6a18f6b7f1a09a2e9bf1259962be058e23091a9\",\"sig\":\"320f63b2e26da50b2d667ba3e5549fa1939e6e442cf27fca3ff96608aec58e43ffefe96962378a7d461509bc9327097e4cf075129c7acdb4aa53e0662c912b0a\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:361451a65db5f9149a1291b46a8a625b0a7bc83e7cc835f897a16bbfd49ff816\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:7a4435badd60289af7f1f56f4165c16653c5ba7a4ada20ed423d5534eeb1f240\"],\"output\":\"95059a494160afecb6928caf3c03fdeb10ec814fc683c693f246d2ff62c4cefd\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"31.104\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"31.104\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:aae431d96b68976581d08a03044addfd424b54284433cec2aded08f928a82ff6\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"e9860985bf8dde5d634444fe5e34b20bf91e1dbed93bee355418af225e17e08cd6ec7bf5262ac9aef6b308c37518d9f258a8380e48199604e84ec5d1af612105\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + } + }, + "outcome": { + "outcome": "refuse", + "reason": "record_invalid", + "at": [ + "record" + ] + } + }, + { + "name": "v3_outputs_listed_as_version_2_lists_them", + "document": { + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-3001\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"outputs\":[\"d539f18519d0fc035c8eafefe62e7f28e8583ae0e89f16a1c989aa9c8a238560\"],\"receipt\":\"sha256:e1f44831600776ecdc4779cf4a4535bf6a8fa276488edafa191d6bff0cdae04a\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-3001\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"889abf45e6a9ae51a0adb6b3f582bf66ae06cde717416578ea9117fe030ed061\",\"sig\":\"98eb46861f5237854da8d82cf4a2408ee458d76858779d9e608ca0966adc6af85d6c700108b173f2bfeb458eb05b2b510de61ec0539b8117102eabbf62a0670b\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:e1f44831600776ecdc4779cf4a4535bf6a8fa276488edafa191d6bff0cdae04a\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:8c4548f5a0e497ae6257f82ab35a19c91a7e1489007119c03e4a299dbc0471c0\"],\"output\":\"d539f18519d0fc035c8eafefe62e7f28e8583ae0e89f16a1c989aa9c8a238560\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"31.104\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"31.104\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:81f50cc0b65d3fd2a63977f1a9e86475ac3bb894d88a3b69a9cc6307d03ab021\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"6da04c240c2393eb08c71533eeb10488737f8a64a78654876379d3e95cfc49b1c01a0210a3d22b43d578c4ef3e7ce21590a1f422278444eb7fa241b2bfcbc300\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + } + }, + "outcome": { + "outcome": "refuse", + "reason": "record_invalid", + "at": [ + "record" + ] + } + }, + { + "name": "v3_delivered_in_a_record_of_version_2", + "document": { + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-3001\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"d539f18519d0fc035c8eafefe62e7f28e8583ae0e89f16a1c989aa9c8a238560\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:e1f44831600776ecdc4779cf4a4535bf6a8fa276488edafa191d6bff0cdae04a\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-3001\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"889abf45e6a9ae51a0adb6b3f582bf66ae06cde717416578ea9117fe030ed061\",\"sig\":\"4b60f9a7950b986d286b877c8642baaab2203b4547b48b6482ec688ddc60a2c02efdbc830fe6dc59d27c04ed01a4f94d7ca00512801ffce0460fc897dbfde900\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":2}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:e1f44831600776ecdc4779cf4a4535bf6a8fa276488edafa191d6bff0cdae04a\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:8c4548f5a0e497ae6257f82ab35a19c91a7e1489007119c03e4a299dbc0471c0\"],\"output\":\"d539f18519d0fc035c8eafefe62e7f28e8583ae0e89f16a1c989aa9c8a238560\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"31.104\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"31.104\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:81f50cc0b65d3fd2a63977f1a9e86475ac3bb894d88a3b69a9cc6307d03ab021\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"6da04c240c2393eb08c71533eeb10488737f8a64a78654876379d3e95cfc49b1c01a0210a3d22b43d578c4ef3e7ce21590a1f422278444eb7fa241b2bfcbc300\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + } + }, + "outcome": { + "outcome": "refuse", + "reason": "record_invalid", + "at": [ + "record" + ] + } + }, + { + "name": "a_record_of_version_3_on_a_price_book_of_version_1", + "document": { + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-3001\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"ga\":true,\"needs_consent\":false,\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.beta\",\"energy_class\":null,\"energy_uj\":null,\"ga\":true,\"needs_consent\":false,\"price\":200000000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":400,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"ga\":true,\"needs_consent\":false,\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"ga\":false,\"needs_consent\":false,\"price\":20000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":null,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"ga\":true,\"needs_consent\":false,\"price\":5000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"frames\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.excluded\",\"energy_class\":null,\"energy_uj\":null,\"ga\":true,\"needs_consent\":false,\"price\":10000,\"provider\":\"prov-x\",\"quality\":990,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"ga\":true,\"needs_consent\":false,\"price\":15000,\"provider\":\"prov-gamma\",\"quality\":null,\"region\":\"us-east\",\"residency\":null,\"retention_days\":30,\"trains_on_inputs\":null,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":\"Estimator\",\"energy_uj\":700000,\"ga\":true,\"needs_consent\":null,\"price\":45000,\"provider\":\"prov-zeta\",\"quality\":800,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":350,\"unit\":\"subpixels\"},{\"capability\":\"wai.audio.opus\",\"divisor\":1,\"endpoint\":\"opus.alpha\",\"energy_class\":null,\"energy_uj\":null,\"ga\":true,\"needs_consent\":false,\"price\":1000,\"provider\":\"prov-alpha\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":50,\"unit\":\"seconds\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\"}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"d539f18519d0fc035c8eafefe62e7f28e8583ae0e89f16a1c989aa9c8a238560\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:e1f44831600776ecdc4779cf4a4535bf6a8fa276488edafa191d6bff0cdae04a\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-3001\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"af132fd169de93674a59d1735c840e539f9144f3a26dc18bee089efe57bcf108\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"889abf45e6a9ae51a0adb6b3f582bf66ae06cde717416578ea9117fe030ed061\",\"sig\":\"02cd60511fd7e243c24221f7c5d4b773dbabee2447a595c7461dbd99c76d5b09ee806196331effb549bcbd179ef5298117a6cfd3b3104fa483bea93b7e606709\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:e1f44831600776ecdc4779cf4a4535bf6a8fa276488edafa191d6bff0cdae04a\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:8c4548f5a0e497ae6257f82ab35a19c91a7e1489007119c03e4a299dbc0471c0\"],\"output\":\"d539f18519d0fc035c8eafefe62e7f28e8583ae0e89f16a1c989aa9c8a238560\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"31.104\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"31.104\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:81f50cc0b65d3fd2a63977f1a9e86475ac3bb894d88a3b69a9cc6307d03ab021\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"6da04c240c2393eb08c71533eeb10488737f8a64a78654876379d3e95cfc49b1c01a0210a3d22b43d578c4ef3e7ce21590a1f422278444eb7fa241b2bfcbc300\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + } + }, + "outcome": { + "outcome": "refuse", + "reason": "pricebook_mismatch", + "at": [ + "record", + "version" + ] + } + }, + { + "name": "v3_a_receipt_moved_from_another_job", + "document": { + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-3001\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"d539f18519d0fc035c8eafefe62e7f28e8583ae0e89f16a1c989aa9c8a238560\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:7b12c20f3545f6f5bfdbae17d9c381e0c6639a1c82937a0c69f01d1bea25272f\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-3001\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"889abf45e6a9ae51a0adb6b3f582bf66ae06cde717416578ea9117fe030ed061\",\"sig\":\"494e39dd34da1f54d906a722831528d420d79a294f61bd6d2cb16ce6aed55be97195590a6dccecfd83a5669491700c549f2fb95a5affb7fb3f656ed81a19f30b\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:7b12c20f3545f6f5bfdbae17d9c381e0c6639a1c82937a0c69f01d1bea25272f\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:4ad9ebde2204dd355726990a98af1e517fec1daf8bb202fdfc98d4f6cdd7b6fa\"],\"output\":\"de1d716c24e6c05b6e5c86195f7be70d055418f3f94cb7a73bb0d62d6339e0d9\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"10.0\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"10.0\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"ModelBased\"}},\"provenance\":{\"how\":\"derived\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"derived\",\"input\":\"im.eta\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:0b63bd9901ecc1c9681b99f9361dcb4cb5ae29128d9d34d3de368e61a3042504\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"d148ed597be049ef5e14b91dd16eb2cd5e7a886e29d74663e2fb0cea81ac14b4e0c3ef673414583ea886559d7fd1c25edef9fe28a0139e0cd2da6265c011d00a\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + } + }, + "outcome": { + "outcome": "refuse", + "reason": "receipt_output_mismatch", + "at": [ + "record", + "attempts", + 0, + "receipt" + ] + } + }, + { + "name": "v3_a_root_not_the_receipts", + "document": { + "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-3002\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.av1\",\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":300000,\"failures\":{\"billed_price\":0,\"failed\":10,\"failed_ms\":500,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":12000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.decode\",\"price\":10000,\"provider\":\"prov-beta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy_class\":null,\"energy_uj\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\"},{\"capability\":\"wai.video.int_motion\",\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy_class\":null,\"energy_uj\":null,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"region\":\"eu-west\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":3,\"root\":\"2d8d339de6f4774975dc715c9e5e6ff3ca91a74aaf04e09a1facd342b0e88e5b\"},\"end\":1793000004000000,\"endpoint\":\"im.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:361451a65db5f9149a1291b46a8a625b0a7bc83e7cc835f897a16bbfd49ff816\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.av1\",\"cost\":480000000,\"divisor\":1,\"endpoint\":\"av1.alpha\",\"energy\":10000000,\"energy_class\":\"ModelBased\",\"energy_uj\":2500000,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":120000000,\"provider\":\"prov-alpha\",\"quality\":820,\"rank\":10,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":900,\"unit\":\"seconds\",\"via_fallback\":true},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.alpha\",\"energy\":31104000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":900000,\"expected_cost\":1036800,\"expected_ttfb_ms\":300,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":300,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1036800,\"divisor\":1000000,\"endpoint\":\"im.beta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1296000,\"expected_ttfb_ms\":700,\"failures\":{\"billed_price\":30000,\"failed\":200,\"failed_ms\":2000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":4,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":200,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":967680,\"divisor\":1000000,\"endpoint\":\"im.delta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":99,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":28000,\"provider\":\"prov-delta\",\"quality\":900,\"rank\":9,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":898560,\"divisor\":1000000,\"endpoint\":\"im.epsilon\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":30000,\"from\":1790404400000000,\"hops\":500,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":26000,\"provider\":\"prov-epsilon\",\"quality\":900,\"rank\":8,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":250,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1054080,\"divisor\":1000000,\"endpoint\":\"im.eta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1054080,\"expected_ttfb_ms\":10100,\"failures\":{\"billed_price\":0,\"failed\":500,\"failed_ms\":10000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":30500,\"provider\":\"prov-eta\",\"quality\":950,\"rank\":2,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":100,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":864000,\"divisor\":1000000,\"endpoint\":\"im.gamma\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":null,\"expected_ttfb_ms\":null,\"failures\":null,\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":25000,\"provider\":\"prov-gamma\",\"quality\":900,\"rank\":7,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":150,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1071360,\"divisor\":1000000,\"endpoint\":\"im.iota\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1071360,\"expected_ttfb_ms\":280,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":100,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":31000,\"provider\":\"prov-iota\",\"quality\":900,\"rank\":3,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":280,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":1382400,\"divisor\":1000000,\"endpoint\":\"im.theta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1382400,\"expected_ttfb_ms\":240,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":40000,\"provider\":\"prov-theta\",\"quality\":900,\"rank\":6,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":240,\"unit\":\"subpixels\",\"via_fallback\":false},{\"capability\":\"wai.video.int_motion\",\"cost\":933120,\"divisor\":1000000,\"endpoint\":\"im.zeta\",\"energy\":null,\"energy_class\":null,\"energy_uj\":null,\"expected_cost\":1333028,\"expected_ttfb_ms\":648,\"failures\":{\"billed_price\":27000,\"failed\":300,\"failed_ms\":1000,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.encode\",\"price\":27000,\"provider\":\"prov-zeta\",\"quality\":900,\"rank\":5,\"region\":\"eu-west\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":220,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.video.int_motion\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"price\",\"runner_up\":\"im.eta\"},\"fallback\":\"wai.video.av1\",\"job\":\"job-3002\",\"kind\":\"wai-route-record\",\"operation\":\"media.encode\",\"order\":[\"im.alpha\",\"im.eta\",\"im.iota\",\"im.beta\",\"im.zeta\",\"im.theta\",\"im.gamma\",\"im.epsilon\",\"im.delta\",\"av1.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"3fe0b709d0a08b368ae357c7451507dbed9d5634a8b38dde1167efb3d9399c16\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}],\"request\":\"b4c28d18a789b7446b60f16ab6a18f6b7f1a09a2e9bf1259962be058e23091a9\",\"sig\":\"2ac3285c50ab63946c209f6480a5d5bcdc804887b129ae5961b8304cbd7a4260b86392c3210f15c5ff9fa161297a98d8bab64f8270cc482092fd4c09a6d9ed07\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:361451a65db5f9149a1291b46a8a625b0a7bc83e7cc835f897a16bbfd49ff816\",\"kind\":\"job\",\"capability\":\"oer.job.media.encode\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:7a4435badd60289af7f1f56f4165c16653c5ba7a4ada20ed423d5534eeb1f240\"],\"output\":\"95059a494160afecb6928caf3c03fdeb10ec814fc683c693f246d2ff62c4cefd\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"31.104\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"31.104\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"im.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:aae431d96b68976581d08a03044addfd424b54284433cec2aded08f928a82ff6\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"e9860985bf8dde5d634444fe5e34b20bf91e1dbed93bee355418af225e17e08cd6ec7bf5262ac9aef6b308c37518d9f258a8380e48199604e84ec5d1af612105\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + } + }, + "outcome": { + "outcome": "refuse", + "reason": "receipt_output_mismatch", + "at": [ + "record", + "attempts", + 0, + "receipt" + ] + } } ] } diff --git a/wai/wai-rs/src/receipt_ledger.rs b/wai/wai-rs/src/receipt_ledger.rs index e9b208418..6bba54be8 100644 --- a/wai/wai-rs/src/receipt_ledger.rs +++ b/wai/wai-rs/src/receipt_ledger.rs @@ -1471,6 +1471,48 @@ fn decode_output(x: &Map, i: usize) -> Result), + /// Their count and root (version 3): each output gives its inclusion proof + /// (route-record §6.1). + Committed { count: u64, root: [u8; 32] }, +} + +impl Delivered { + /// Whether `object` (a content hash) is one the hop delivered, at `place` where the rule + /// holds it to one: in a list, by its place in it; under a root, by its proof. + fn holds(&self, object: &[u8; 32], proof: Option<&(u64, Vec<[u8; 32]>)>, place: Option) -> bool { + match self { + Delivered::Listed(d) => match place { + Some(k) => d.get(k) == Some(object), + None => d.contains(object), + }, + Delivered::Committed { count, root } => { + proof.is_some_and(|(index, siblings)| place.is_none_or(|k| *index == k as u64) && crate::route_record::verify_output_proof(object, *index, siblings, *count, root)) + } + } + } + + /// How many objects it delivered. + fn count(&self) -> u64 { + match self { + Delivered::Listed(d) => d.len() as u64, + Delivered::Committed { count, .. } => *count, + } + } +} + +/// An output's inclusion proof (route-record §6.1): exactly `index`, an integer, and `siblings`, +/// content hashes as 64 lowercase hexadecimal digits. +fn read_proof(v: &Value) -> Option<(u64, Vec<[u8; 32]>)> { + let o = v.as_object().filter(|o| has_exactly(o, &["index", "siblings"]))?; + let index = o["index"].as_u64().filter(|i| *i <= crate::jcs::MAX_INTEGER)?; + let siblings = o["siblings"].as_array()?.iter().map(|h| h.as_str().filter(|h| h.len() == 64).and_then(unhex).and_then(|b| b.try_into().ok())).collect::>>()?; + Some((index, siblings)) +} + fn job_source(o: &Map, version: u8) -> Result { use crate::route_record as rr; if !has_exactly(o, &["kind", "request", "pricebook", "policy", "record", "receipts", "keys", "outputs"]) { @@ -1507,23 +1549,25 @@ fn job_source(o: &Map, version: u8) -> Result { unbilled.push(job_figure(&texts[j]).ok_or((Reason::JobFigureInvalid.code(), json!(["receipts", j])))?); } } - // What the hop that served states it delivered (route-record §5.2, version 2), by content - // hash, in its order; a record of version 1 states nothing, and under a tariff of version 4 - // or 5 holds its outputs to nothing (§5.1). Under version 3 a record of version 1's outputs - // are read as before. - let delivered: Option> = if record["version"] == 2 { - Some( - attempts - .iter() - .filter(|a| a["outcome"] == "served") - .flat_map(|a| a["outputs"].as_array().expect("a list").iter().map(|h| unhex(h.as_str().expect("a hash")).expect("hex").try_into().expect("32 bytes"))) - .collect(), - ) - } else if bills_spending(version) { - Some(Vec::new()) - } else { - None + // What the hop that served states it delivered (route-record §5.2): in version 2 by content + // hash, in its order; in version 3 by its count and root, each output proving its place; a + // record of version 1 states nothing, and under a tariff of version 4 or 5 holds its outputs + // to nothing (§5.1), as one no attempt served does. Under version 3 a record of version 1's + // outputs are read as before. + let served_attempt = attempts.iter().find(|a| a["outcome"] == "served"); + let delivered: Option = match (record["version"].as_u64(), served_attempt) { + (Some(rr::VERSION_3), Some(a)) => Some(Delivered::Committed { + count: a["delivered"]["count"].as_u64().expect("a count"), + root: unhex(a["delivered"]["root"].as_str().expect("a root")).expect("hex").try_into().expect("32 bytes"), + }), + (Some(rr::VERSION_3), None) => Some(Delivered::Listed(Vec::new())), + (Some(rr::VERSION_2), a) => Some(Delivered::Listed( + a.into_iter().flat_map(|a| a["outputs"].as_array().expect("a list").iter().map(|h| unhex(h.as_str().expect("a hash")).expect("hex").try_into().expect("32 bytes"))).collect(), + )), + _ if bills_spending(version) => Some(Delivered::Listed(Vec::new())), + _ => None, }; + let committed = matches!(delivered, Some(Delivered::Committed { .. })); // Under a tariff of version 5 a decode delivers its reconstruction, one animation of its // frames, and its codestream is what it read (§4.8). let decode = holds_decode_to_frames(version) && record["operation"] == DECODE; @@ -1535,11 +1579,21 @@ fn job_source(o: &Map, version: u8) -> Result { for (i, x) in outputs.iter().enumerate() { let bad = || (Reason::OutputInvalid.code(), json!(["outputs", i])); let x = x.as_object().ok_or_else(bad_source)?; + // With a record of version 3 each output also gives its inclusion proof, and with one of + // version 1 or 2 none (§5.1). + let (x, proof) = if committed { + let mut m = x.clone(); + let proof = m.remove("proof").as_ref().and_then(read_proof).ok_or_else(bad_source)?; + (m, Some(proof)) + } else { + (x.clone(), None) + }; + let x = &x; if decode { let out = decode_output(x, i)?; outs.push(out.receipt); // The animation is the object the record states at its place (§4.8, 3). - if delivered.as_deref().unwrap_or(&[]).get(next) != Some(&out.object) { + if !delivered.as_ref().is_some_and(|d| d.holds(&out.object, proof.as_ref(), Some(next))) { return Err((Reason::OutputNotDelivered.code(), json!(["outputs", i, "frames"]))); } next += 1; @@ -1567,14 +1621,14 @@ fn job_source(o: &Map, version: u8) -> Result { // The output is its object: one the served hop delivered, once. if let Some(d) = &delivered { let h = rr::content_hash(&object); - if !d.contains(&h) || !seen.insert(h) { + if !d.holds(&h, proof.as_ref(), None) || !seen.insert(h) { return Err((Reason::OutputNotDelivered.code(), json!(["outputs", i]))); } } } // A decode delivered its animations and nothing else: an object the record states past them, // the codestream it read among them, is one its hop did not deliver (§4.8, 3). - if decode && delivered.as_ref().is_some_and(|d| d.len() != next) { + if decode && delivered.as_ref().is_some_and(|d| d.count() != next as u64) { return Err((Reason::OutputNotDelivered.code(), json!(["outputs"]))); } Ok(Facts::Job(JobFacts { diff --git a/wai/wai-rs/src/receipt_ledger/corpus.rs b/wai/wai-rs/src/receipt_ledger/corpus.rs index 817d90473..e532f27e0 100644 --- a/wai/wai-rs/src/receipt_ledger/corpus.rs +++ b/wai/wai-rs/src/receipt_ledger/corpus.rs @@ -666,6 +666,77 @@ pub fn generate(wai: &Path) -> Result { cs.remove(last); })); + // Jobs routed under the route record's version 3 (route-record §3.4): the hop that served + // states what it delivered by its count and root, and each output proves its place by its + // inclusion proof (§6.1). An encode whose hop delivered a sidecar and its clip, the clip + // second; a decode of version 5, its animation at its place; and a package's run whose hop + // delivered the package's receipt among 1,500 more objects, standing for the package's own, + // more than a list of version 2 holds. Then an output given without its proof; a proof given + // under a record of version 2; a proof that is not one; a proof of another place; one past + // the count, its walk the clip's own (the index's bits below the depth are the place's); a + // proof a sibling short; an output its hop did not deliver, proved in another tree; one output given + // twice; a decode's animation proved at another place than its own; a decode with an + // object past its animation; and an output of a job no hop served, which delivered nothing. + let proved = |x: &Value, objects: &[[u8; 32]], index: usize| -> Value { + let mut x = x.clone(); + let siblings = crate::route_record::output_proof(objects, index).expect("a place"); + x["proof"] = json!({"index": index, "siblings": siblings.iter().map(|h| hex(h)).collect::>()}); + x + }; + let routed_3 = |job: &str, operation: &str, hops: &[rr::Hop], objects: &[[u8; 32]], given: Vec| routed(rr::job_document_3(job, operation, accepted, hops, objects), given); + let with_outputs_of = |source: &Value, outputs: Vec| { + let mut j = source.clone(); + j["outputs"] = Value::Array(outputs); + j + }; + let sidecar = rr_hash(b"wai receipt-ledger corpus: job-6001, a sidecar"); + let enc_objects = [sidecar, rr_hash(&clip)]; + let enc_out = out("job-6001").remove(0); + let encode_3 = routed_3("job-6001", ENC, &[served("im.alpha", rr::hop_receipt(ENC, "job-6001", "im.alpha", Some("30.5")))], &enc_objects, vec![proved(&enc_out, &enc_objects, 1)]); + pool.insert("job_v3r_encode", encode_3.clone()); + let dec_hop = |job: &str| served("im.alpha", rr::hop_receipt(DEC, job, "im.alpha", Some("12.0"))); + let anim_object = [rr_hash(&anim)]; + pool.insert("job_v3r_decode", routed_3("job-6002", DEC, &[dec_hop("job-6002")], &anim_object, vec![proved(&output_5("job-6002", &anim)[0], &anim_object, 0)])); + let mut pack_objects = vec![base_object[0]]; + pack_objects.extend((0..1_500).map(|i| rr_hash(format!("wai receipt-ledger corpus: pack-0002, object {i}").as_bytes()))); + pool.insert( + "package_run_v3r", + routed(rr::package_job_document_3("pack-0002", accepted, &[pack_hop(1_000, rr::hop_receipt("package.build", "pack-0002", "pack.alpha", Some("4.75")))], &pack_objects), vec![proved(&base_output, &pack_objects, 0)]), + ); + pool.insert("job_v3r_without_its_proof", with_outputs_of(&encode_3, vec![enc_out.clone()])); + let encode_2_listed = pool["job_v2_encode"].clone(); + pool.insert("job_v2_given_a_proof", with_outputs_of(&encode_2_listed, vec![proved(&out("job-3001")[0], &[rr_hash(&clip)], 0)])); + let mut not_one = proved(&enc_out, &enc_objects, 1); + not_one["proof"]["index"] = json!("1"); + pool.insert("job_v3r_a_proof_that_is_not_one", with_outputs_of(&encode_3, vec![not_one])); + pool.insert("job_v3r_a_proof_of_another_place", with_outputs_of(&encode_3, vec![proved(&enc_out, &enc_objects, 0)])); + let mut short = proved(&enc_out, &enc_objects, 1); + short["proof"]["siblings"].as_array_mut().ok_or("siblings")?.pop(); + pool.insert("job_v3r_a_proof_a_sibling_short", with_outputs_of(&encode_3, vec![short])); + let mut past = proved(&enc_out, &enc_objects, 1); + past["proof"]["index"] = json!(3); + pool.insert("job_v3r_a_proof_past_the_count", with_outputs_of(&encode_3, vec![past])); + pool.insert("job_v3r_an_output_its_hop_did_not_deliver", with_outputs_of(&encode_3, vec![proved(&output_of(&other_clip, &other_clip, "job-6001"), &[sidecar, rr_hash(&other_clip)], 1)])); + pool.insert("job_v3r_an_output_twice", with_outputs_of(&encode_3, vec![proved(&enc_out, &enc_objects, 1), proved(&enc_out, &enc_objects, 1)])); + let clip_then_anim = [rr_hash(&clip), rr_hash(&anim)]; + pool.insert("job_v3r_a_decode_at_another_place", routed_3("job-6003", DEC, &[dec_hop("job-6003")], &clip_then_anim, vec![proved(&output_5("job-6003", &anim)[0], &clip_then_anim, 1)])); + let anim_then_clip = [rr_hash(&anim), rr_hash(&clip)]; + pool.insert("job_v3r_a_decode_with_an_object_past_it", routed_3("job-6004", DEC, &[dec_hop("job-6004")], &anim_then_clip, vec![proved(&output_5("job-6004", &anim)[0], &anim_then_clip, 0)])); + pool.insert( + "job_v3r_no_hop_served", + routed_3( + "job-6005", + ENC, + &[ + failed("im.alpha", 1_000, 2_000_000, rr::failed_hop_receipt(ENC, "job-6005", "im.alpha", Some("1.5"))), + failed("im.eta", 2_000_100, 3_000_000, rr::failed_hop_receipt(ENC, "job-6005", "im.eta", None)), + failed("im.iota", 3_000_100, 4_000_000, rr::failed_hop_receipt(ENC, "job-6005", "im.iota", Some("0.75"))), + ], + &[], + out("job-6005"), + ), + ); + // The rooms' prices are the lesson receipts'; the tariff's scope is every party of the // accepted invoices. let room_prices = { @@ -1024,6 +1095,27 @@ pub fn generate(wai: &Path) -> Result { Vector { name: "version_4_invoice_under_a_version_5_tariff", about: "an invoice of version 4 naming a tariff of version 5", tariff: t5b.clone(), invoice: sealed_after(&t_5, None, (MONTH.0, mid), MONTH.0, mid, &refs(&day_5), |i| i.version = VERSION_4).to_bytes(), previous: None, sources: day_5.to_vec() }, ]); + // Jobs routed under the route record's version 3 (route-record §3.4), under the tariff of + // version 5: each output proved among what its hop delivered by its inclusion proof (§5.1). + let day_r3 = ["job_v3r_encode", "job_v3r_decode", "package_run_v3r"]; + let inv_r3 = make_invoice(&seller, &t_5, None, MONTH.0, mid, &src(&day_r3)).map_err(|e| format!("invoice of records of version 3: {e:?}"))?; + let ar3 = inv_r3.to_bytes(); + let refused_r3 = |name: &'static str, about: &'static str, source: &'static str| Vector { name, about, tariff: t5b.clone(), invoice: ar3.clone(), previous: None, sources: vec![source] }; + vectors.extend([ + Vector { name: "route_record_3_outputs_proved_among_what_was_delivered", about: "jobs whose route records are of version 3, stating what each served hop delivered by its count and root: an encode whose clip is the second of two objects, a decode of version 5 whose animation is its one object, and a package's run whose receipt is the first of 1,501 objects, each output proved at its place by its inclusion proof, billed under version 5", tariff: t5b.clone(), invoice: ar3.clone(), previous: None, sources: day_r3.to_vec() }, + refused_r3("route_record_3_an_output_without_its_proof", "a job whose route record is of version 3, its output given without its inclusion proof", "job_v3r_without_its_proof"), + refused_r3("route_record_2_an_output_given_a_proof", "a job whose route record is of version 2, which lists what its hop delivered, its output given an inclusion proof", "job_v2_given_a_proof"), + refused_r3("route_record_3_a_proof_that_is_not_one", "a job whose route record is of version 3, its output's proof stating its index as text", "job_v3r_a_proof_that_is_not_one"), + refused_r3("route_record_3_a_proof_of_another_place", "a job whose route record is of version 3, its output proved with the siblings of another object's place", "job_v3r_a_proof_of_another_place"), + refused_r3("route_record_3_a_proof_past_the_count", "a job whose route record is of version 3, its output's proof at index 3 of 2 objects, whose walk is that of its place, 1", "job_v3r_a_proof_past_the_count"), + refused_r3("route_record_3_a_proof_a_sibling_short", "a job whose route record is of version 3, its output's proof one sibling short", "job_v3r_a_proof_a_sibling_short"), + refused_r3("route_record_3_an_output_its_hop_did_not_deliver", "a job whose route record is of version 3, its output another clip, proved in another tree than the root its hop delivered under", "job_v3r_an_output_its_hop_did_not_deliver"), + refused_r3("route_record_3_an_output_twice", "a job whose route record is of version 3, its one output given twice, each proved", "job_v3r_an_output_twice"), + refused_r3("route_record_3_a_decode_at_another_place", "a decode of version 5 whose route record is of version 3 and states the codestream it read before its animation, the animation proved at its own place, the second", "job_v3r_a_decode_at_another_place"), + refused_r3("route_record_3_a_decode_with_an_object_past_it", "a decode of version 5 whose route record is of version 3 and states the codestream it read after its animation, the animation proved at the first place", "job_v3r_a_decode_with_an_object_past_it"), + refused_r3("route_record_3_an_output_of_a_job_no_hop_served", "a job whose route record is of version 3 and whose every allowed hop failed, given an output, which no hop delivered", "job_v3r_no_hop_served"), + ]); + let mut sources = Map::new(); for (n, v) in &pool { sources.insert((*n).into(), v.clone()); diff --git a/wai/wai-rs/src/route_record.rs b/wai/wai-rs/src/route_record.rs index de1ea6882..83f2e5b41 100644 --- a/wai/wai-rs/src/route_record.rs +++ b/wai/wai-rs/src/route_record.rs @@ -17,6 +17,12 @@ //! by [`output_commitment`] (§6). [`seal_delivered`] writes a record of its price book's //! version. Version 1 reads, routes and verifies exactly as before. //! +//! Version 3 of the record (§3.4), on a price book of version 2: the attempt that served states +//! what it delivered by its count and root (`delivered`), the commitment its hop's receipt +//! names, so a record is the same size whatever a hop delivered; [`seal_committed`] writes one. +//! An object is shown to be one of them by its inclusion proof ([`output_proof`], +//! [`verify_output_proof`], §6.1). +//! //! The corpus `live-conformance/routes/` is written by [`corpus::generate`] and checked by //! [`corpus::verify`] here, and by `live-conformance/route_record_verify.py`, which shares no //! code with this module. @@ -37,9 +43,12 @@ pub const CAPABILITY: &str = "wai.route.record"; pub const VERSION: u64 = 1; /// The second version of the price book and the record (§3.4). pub const VERSION_2: u64 = 2; +/// The third version of the record (§3.4), on a price book of version 2: the attempt that served +/// states what it delivered by its count and root. +pub const VERSION_3: u64 = 3; /// The fewest hops a failure basis may count and still mean anything (§3.2.1). pub const MIN_BASIS_HOPS: u64 = 100; -/// The most outputs an attempt states (§5.2). +/// The most outputs an attempt of a record of version 2 states (§5.2). pub const MAX_OUTPUTS: usize = 1024; /// The content hash's domain (jwp-receipts §2.1). pub const CONTENT_DOMAIN: &[u8] = b"moq-jwp:object\x01"; @@ -974,6 +983,26 @@ pub fn seal_delivered(key: &SigningKey, r: &Request, b: &PriceBook, p: &Policy, sign(body, key) } +/// [`seal`], writing a record of version 3 on a price book of version 2 (§3.4): the attempt that +/// served states `delivered`, the count of `outputs` (the content hashes of what it delivered, in +/// their order) and their commitment ([`output_commitment`]), and a failed attempt a count of 0 +/// and a root of zeros (§5.2). On a price book of version 1 it writes version 1's record, as +/// [`seal`] does. +pub fn seal_committed(key: &SigningKey, r: &Request, b: &PriceBook, p: &Policy, accepted: u64, attempts: &[Attempt], outputs: &[[u8; 32]]) -> Value { + let mut record = seal_delivered(key, r, b, p, accepted, attempts, outputs); + if b.version != VERSION_2 { + return record; + } + let root = hex(&output_commitment(outputs)); + for a in record["attempts"].as_array_mut().expect("a list") { + let served = a["outcome"] == "served"; + a.as_object_mut().expect("an attempt").remove("outputs"); + a["delivered"] = if served { json!({"count": outputs.len(), "root": root}) } else { json!({"count": 0, "root": hex(&[0; 32])}) }; + } + record["version"] = json!(VERSION_3); + resign(record, key) +} + /// The members of a record (§5.1). pub const RECORD_MEMBERS: [&str; 18] = [ "kind", "version", "job", "operation", "capability", "fallback", "quantities", "request", "policy", "pricebook", "candidates", "order", "decision", "accepted", @@ -983,12 +1012,18 @@ pub const RECORD_MEMBERS: [&str; 18] = [ /// The members of an attempt (§5.2). pub const ATTEMPT_MEMBERS: [&str; 9] = ["hop", "endpoint", "outcome", "error", "start", "end", "billed", "not_billed", "receipt"]; -/// The candidate's members: its entry's and the five §5.1 adds, and in version 2 the two -/// expected figures. +/// The version of the price book a record of `version` rests on (§3.4): 1 for version 1, 2 for +/// versions 2 and 3. +pub fn book_version(version: u64) -> u64 { + if version >= VERSION_2 { VERSION_2 } else { VERSION } +} + +/// The candidate's members: its entry's and the five §5.1 adds, and on a price book of version 2 +/// the two expected figures. fn candidate_members(version: u64) -> Vec<&'static str> { - let mut m = entry_members(version); + let mut m = entry_members(book_version(version)); m.extend(["via_fallback", "cost", "energy", "removed", "rank"]); - if version == VERSION_2 { + if book_version(version) == VERSION_2 { m.extend(["expected_cost", "expected_ttfb_ms"]); } m @@ -1035,12 +1070,77 @@ pub fn output_commitment(outputs: &[[u8; 32]]) -> [u8; 32] { } } +/// The inclusion proof (§6.1) of the output at `index` among `outputs`, in their order: the +/// sibling at each level of the tree [`output_commitment`] builds, from the leaves up, the last +/// node of an odd level paired with itself; none for one output. `None` past the last. +pub fn output_proof(outputs: &[[u8; 32]], index: usize) -> Option> { + if index >= outputs.len() { + return None; + } + let b3 = |parts: &[&[u8]]| -> [u8; 32] { + let mut h = blake3::Hasher::new(); + for p in parts { + h.update(p); + } + *h.finalize().as_bytes() + }; + let mut siblings = Vec::new(); + if outputs.len() == 1 { + return Some(siblings); + } + let mut level: Vec<[u8; 32]> = outputs.iter().map(|o| b3(&[LEAF_DOMAIN, o])).collect(); + let mut at = index; + while level.len() > 1 { + if !level.len().is_multiple_of(2) { + level.push(*level.last().expect("a node")); + } + siblings.push(level[at ^ 1]); + level = level.as_chunks::<2>().0.iter().map(|[l, r]| b3(&[NODE_DOMAIN, l, r])).collect(); + at /= 2; + } + Some(siblings) +} + +/// Whether `siblings` proves the object whose content hash is `output` the one at `index` of +/// `count` outputs committed to by `root` (§6.1): `index` below `count`, exactly ⌈log₂ `count`⌉ +/// siblings (none for one output, whose commitment is its content hash), and the walk from its +/// leaf, node by node, each sibling on the side `index`'s bit at that level gives, ends at +/// `root`. The count and the bits fix the position, so the last node of an odd level, paired +/// with itself, is proved at one index only. +pub fn verify_output_proof(output: &[u8; 32], index: u64, siblings: &[[u8; 32]], count: u64, root: &[u8; 32]) -> bool { + if index >= count { + return false; + } + let depth = if count <= 1 { 0 } else { 64 - (count - 1).leading_zeros() as usize }; + if siblings.len() != depth { + return false; + } + if count == 1 { + return output == root; + } + let b3 = |parts: &[&[u8]]| -> [u8; 32] { + let mut h = blake3::Hasher::new(); + for p in parts { + h.update(p); + } + *h.finalize().as_bytes() + }; + let mut node = b3(&[LEAF_DOMAIN, output]); + for (i, s) in siblings.iter().enumerate() { + node = if (index >> i) & 1 == 1 { b3(&[NODE_DOMAIN, s, &node]) } else { b3(&[NODE_DOMAIN, &node, s]) }; + } + &node == root +} + fn record_form(v: &Value) -> bool { let version = v.get("version").and_then(int).unwrap_or(0); let mut attempt_members = ATTEMPT_MEMBERS.to_vec(); if version == VERSION_2 { attempt_members.push("outputs"); } + if version == VERSION_3 { + attempt_members.push("delivered"); + } let Some(o) = exactly(v, &RECORD_MEMBERS) else { return false }; let hexn = |v: &Value, n: usize| v.as_str().is_some_and(|s| s.len() == n && s.bytes().all(|c| c.is_ascii_digit() || (b'a'..=b'f').contains(&c))); let cap_or_null = |v: &Value| v.is_null() || v.as_str().is_some_and(capability); @@ -1050,7 +1150,7 @@ fn record_form(v: &Value) -> bool { let scalar = |v: &Value| !(v.is_array() || v.is_object()); let candidate = |c: &Value| -> bool { let Some(c) = exactly(c, &candidate_members(version)) else { return false }; - let v2 = version != VERSION_2 + let v2 = book_version(version) != VERSION_2 || (c["operation"].as_str().is_some_and(operation) && (c["failures"].is_null() || Failures::form(&c["failures"]).is_some()) && int_or_null(&c["expected_cost"]) @@ -1095,7 +1195,15 @@ fn record_form(v: &Value) -> bool { let distinct = xs.iter().filter_map(Value::as_str).collect::>().len() == xs.len(); xs.iter().all(content_hash_text) && distinct && if served { (1..=MAX_OUTPUTS).contains(&xs.len()) } else { xs.is_empty() } }); + // Version 3 (§5.2): a served attempt's count, at least 1, and the root of what it + // delivered; a failed attempt's, 0 and zeros. + let delivered_ok = version != VERSION_3 + || exactly(&a["delivered"], &["count", "root"]).is_some_and(|d| { + let zero = d["root"].as_str() == Some(hex(&[0; 32]).as_str()); + content_hash_text(&d["root"]) && int(&d["count"]).is_some_and(|n| if served { n >= 1 } else { n == 0 && zero }) + }); outputs_ok + && delivered_ok && int(&a["hop"]) == Some(i as u64 + 1) && tok(&a["endpoint"]).is_some() && error_ok @@ -1105,7 +1213,7 @@ fn record_form(v: &Value) -> bool { && (a["not_billed"].is_null() || a["not_billed"].as_str().is_some_and(|x| x == "failed" || x == "deadline_missed")) && a["receipt"].as_str().is_some_and(receipt_id) }; - (version == VERSION || version == VERSION_2) + (version == VERSION || version == VERSION_2 || version == VERSION_3) && tok(&o["job"]).is_some() && o["operation"].as_str().is_some_and(operation) && o["capability"].as_str().is_some_and(capability) @@ -1138,8 +1246,11 @@ pub struct Accepted { /// `(endpoint, hop)` of the attempt that served. pub served: Option<(String, u64)>, /// In a record of version 2, the content hashes of the served attempt's outputs, in their - /// order; `None` in version 1 and for a job no hop served. + /// order; `None` in versions 1 and 3 and for a job no hop served. pub outputs: Option>, + /// In a record of version 3, the count and root of what the served attempt delivered; + /// `None` in versions 1 and 2 and for a job no hop served. + pub delivered: Option<(u64, String)>, pub billed: Option, /// `none`, `met` or `missed`. pub deadline: &'static str, @@ -1206,6 +1317,7 @@ pub fn verify_document(d: &Document<'_>) -> Result { if let Some(v) = rec.get("version").and_then(int) && v != VERSION && v != VERSION_2 + && v != VERSION_3 { return Err(Refusal::new(Reason::UnknownVersion, at(&[json!("record"), json!("version")]))); } @@ -1240,7 +1352,9 @@ pub fn verify_document(d: &Document<'_>) -> Result { if rec["policy"] != json!({"name": p.name, "version": p.version, "digest": hex(&p.digest)}) { return Err(Refusal::new(Reason::PolicyMismatch, field("policy"))); } - if rec["version"] != json!(b.version) { + // A record of version 1 rests on a price book of version 1, and one of version 2 or 3 on a + // price book of version 2 (§3.4). + if book_version(rec["version"].as_u64().expect("a version")) != b.version { return Err(Refusal::new(Reason::PricebookMismatch, field("version"))); } if rec["pricebook"] != json!({"digest": hex(&b.digest), "currency": b.currency, "issued": b.issued}) { @@ -1322,6 +1436,7 @@ pub fn verify_document(d: &Document<'_>) -> Result { let outputs = served_hop .and_then(|a| a.get("outputs")) .map(|xs| xs.as_array().expect("a list").iter().map(|x| x.as_str().expect("a content hash").to_string()).collect()); + let delivered = served_hop.and_then(|a| a.get("delivered")).map(|d| (d["count"].as_u64().expect("a count"), d["root"].as_str().expect("a root").to_string())); let billed = attempts.iter().find(|a| a["billed"] == true).map(|a| a["hop"].as_u64().expect("a hop")); let deadline_verdict = match (deadline, served_hop) { (Some(dl), Some(a)) => if a["end"].as_u64().expect("a time") > dl { "missed" } else { "met" }, @@ -1333,6 +1448,7 @@ pub fn verify_document(d: &Document<'_>) -> Result { operation: r.operation.clone(), served, outputs, + delivered, billed, deadline: deadline_verdict, order: routed.order_endpoints(), @@ -1375,6 +1491,13 @@ fn check_receipts(rec: &Value, texts: &[&str], keys: &Map) -> Res return Err(Refusal::new(Reason::ReceiptOutputMismatch, here)); } } + // Version 3: the served hop's receipt names the root the attempt states (§6). + if let Some(d) = a.get("delivered").filter(|_| a["outcome"] == "served") { + let named = r.get("subject").and_then(|s| s.get("output")).and_then(Value::as_str); + if named != d["root"].as_str() { + return Err(Refusal::new(Reason::ReceiptOutputMismatch, here)); + } + } if crate::oer::is_unmetered(r) { unmetered.push(a["hop"].as_u64().expect("a hop")); } @@ -1391,9 +1514,10 @@ pub fn outcome_json(r: &Result) -> Value { "digest": hex(&a.digest), "job": a.job, "operation": a.operation, - "served": a.served.as_ref().map(|(e, h)| match &a.outputs { - Some(o) => json!({"endpoint": e, "hop": h, "outputs": o}), - None => json!({"endpoint": e, "hop": h}), + "served": a.served.as_ref().map(|(e, h)| match (&a.outputs, &a.delivered) { + (Some(o), _) => json!({"endpoint": e, "hop": h, "outputs": o}), + (None, Some((count, root))) => json!({"endpoint": e, "hop": h, "delivered": {"count": count, "root": root}}), + (None, None) => json!({"endpoint": e, "hop": h}), }), "billed": a.billed, "deadline": a.deadline, @@ -1410,6 +1534,48 @@ pub fn outcome_json(r: &Result) -> Value { mod tests { use super::*; + /// An output's inclusion proof (§6.1) closes at the commitment for every output of every count + /// to 37, and nowhere else: not at another index or one past the last, not with a sibling + /// changed, more or fewer, not for another object or under a count of another depth; one + /// output's root is its content hash. The last node of an odd level, paired with itself, is proved at its + /// own index only. + #[test] + fn an_outputs_inclusion_proof_closes_at_its_commitment_and_nowhere_else() { + for n in 1..=37usize { + let outs: Vec<[u8; 32]> = (0..n).map(|i| content_hash(format!("output {i}").as_bytes())).collect(); + let (root, c) = (output_commitment(&outs), n as u64); + if n == 1 { + assert_eq!(root, outs[0]); + } + for (i, o) in outs.iter().enumerate() { + let p = output_proof(&outs, i).unwrap(); + let at = i as u64; + assert!(verify_output_proof(o, at, &p, c, &root), "{n}: {i}"); + assert!(!verify_output_proof(o, at + c, &p, c, &root), "{n}: {i} past the last"); + assert!(!verify_output_proof(&content_hash(b"another object"), at, &p, c, &root), "{n}: {i} another object"); + let mut more = p.clone(); + more.push(root); + assert!(!verify_output_proof(o, at, &more, c, &root), "{n}: {i} a sibling more"); + assert!(!verify_output_proof(o, at, &p, 2 * c + 1, &root), "{n}: {i} a count of another depth"); + if n > 1 { + assert!(!verify_output_proof(o, ((i + 1) % n) as u64, &p, c, &root), "{n}: {i} another index"); + assert!(!verify_output_proof(o, at, &p[..p.len() - 1], c, &root), "{n}: {i} a sibling fewer"); + let mut changed = p.clone(); + changed[0][0] ^= 1; + assert!(!verify_output_proof(o, at, &changed, c, &root), "{n}: {i} a sibling changed"); + } + } + assert!(output_proof(&outs, n).is_none()); + } + let outs: Vec<[u8; 32]> = (0u8..5).map(|i| content_hash(&[i])).collect(); + let root = output_commitment(&outs); + let p = output_proof(&outs, 4).unwrap(); + assert!(verify_output_proof(&outs[4], 4, &p, 5, &root)); + for at in [5u64, 6, 7] { + assert!(!verify_output_proof(&outs[4], at, &p, 5, &root), "the paired node at {at}"); + } + } + #[test] fn a_document_is_read_strictly_and_held_to_the_subset() { assert!(read_document(r#"{"a":1}"#).is_some()); diff --git a/wai/wai-rs/src/route_record/corpus.rs b/wai/wai-rs/src/route_record/corpus.rs index 6419ccf9b..55c891070 100644 --- a/wai/wai-rs/src/route_record/corpus.rs +++ b/wai/wai-rs/src/route_record/corpus.rs @@ -8,8 +8,9 @@ //! refused at: [`generate`] refuses to write a corpus whose control reaches another, so a //! control cannot be mistaken for the defect it names. The hop receipts are OER/2 receipts //! of minor version 1 (oer-receipts §3.1), sealed here under the published hop key. The -//! vectors of version 2 (§3.4) follow those of version 1, which are unchanged but for the -//! control of an unknown version. +//! vectors of version 2 (§3.4) follow those of version 1, and those of version 3 follow +//! version 2's; each version's are unchanged by the next but for the control of an unknown +//! version. use ed25519_dalek::{Signer, SigningKey}; use serde_json::{json, Value}; @@ -408,7 +409,7 @@ fn vectors() -> Vec { let mut req_float = d.clone(); req_float["request"] = json!(canonical(&b.request).replacen("\"deadline_us\":30000000", "\"deadline_us\":3e7", 1)); v.push(refuse("request_with_an_exponent", req_float, "malformed", json!(["request"]))); - v.push(refuse("record_version_3", b.edited(|r| r["version"] = json!(3)).document(), "unknown_version", rec(&[json!("version")]))); + v.push(refuse("record_version_4", b.edited(|r| r["version"] = json!(4)).document(), "unknown_version", rec(&[json!("version")]))); // ── refused: the documents ── let mut x = d.clone(); @@ -666,8 +667,33 @@ pub(crate) fn package_job_document(job: &str, accepted: u64, attempts: &[Hop], o routed_2(request, pricebook_2_of(vec![entry]), accepted, attempts, outputs) } +/// [`job_document_2`], its record of version 3 (§3.4): the attempt that served states the count +/// and root of `outputs`, which its receipt names, and a holder proves each output among them by +/// [`super::output_proof`]. +#[cfg(feature = "receipt_ledger")] +pub(crate) fn job_document_3(job: &str, operation: &str, accepted: u64, attempts: &[Hop], outputs: &[[u8; 32]]) -> Value { + routed(request_2(job, operation, no_preference()), pricebook_2(), accepted, attempts, outputs, true) +} + +/// [`package_job_document`], its record of version 3. +#[cfg(feature = "receipt_ledger")] +pub(crate) fn package_job_document_3(job: &str, accepted: u64, attempts: &[Hop], outputs: &[[u8; 32]]) -> Value { + let mut request = request_2(job, "package.build", no_preference()); + request["capability"] = json!(PACKAGE); + request["fallback"] = Value::Null; + request["quantities"] = json!([{"unit": "packages", "quantity": 1}]); + let entry = entry_2("pack.alpha", "package.build", "prov-alpha", PACKAGE, EU_C, ("packages", 1, 400_000), Some(500), Some((4_500_000, "OnChipCounter")), Some(950), failures(1_000, 0, 0, 0)); + routed(request, pricebook_2_of(vec![entry]), accepted, attempts, outputs, true) +} + #[cfg(feature = "receipt_ledger")] fn routed_2(request: Value, pricebook: Value, accepted: u64, attempts: &[Hop], outputs: &[[u8; 32]]) -> Value { + routed(request, pricebook, accepted, attempts, outputs, false) +} + +/// A job routed under `pricebook`, its record of version 2, or of version 3 when `committed`. +#[cfg(feature = "receipt_ledger")] +fn routed(request: Value, pricebook: Value, accepted: u64, attempts: &[Hop], outputs: &[[u8; 32]], committed: bool) -> Value { let r = Request::read(&canonical(&request)).expect("the request reads"); let b = PriceBook::read(&canonical(&pricebook)).expect("the price book reads"); let p = Policy::read(&canonical(&policy(3))).expect("the policy reads"); @@ -688,7 +714,7 @@ fn routed_2(request: Value, pricebook: Value, accepted: u64, attempts: &[Hop], o .zip(&receipts) .map(|(h, rc)| Attempt { endpoint: h.endpoint.to_string(), error: h.error, start: accepted + h.start, end: accepted + h.end, receipt: id(rc) }) .collect(); - let record = super::seal_delivered(&router(), &r, &b, &p, accepted, &atts, outputs); + let record = if committed { super::seal_committed(&router(), &r, &b, &p, accepted, &atts, outputs) } else { super::seal_delivered(&router(), &r, &b, &p, accepted, &atts, outputs) }; json!({ "request": canonical(&request), "pricebook": canonical(&pricebook), @@ -702,7 +728,7 @@ fn routed_2(request: Value, pricebook: Value, accepted: u64, attempts: &[Hop], o /// The corpus, as `vectors.json` holds it. pub fn generate() -> Result { let mut out = Vec::new(); - for vec in vectors().into_iter().chain(vectors_2()) { + for vec in vectors().into_iter().chain(vectors_2()).chain(vectors_3()) { let got = outcome_json(&verify(&vec.document)); if let Some((reason, at)) = &vec.expect && (got["outcome"] != "refuse" || got["reason"] != *reason || got["at"] != *at) @@ -1028,3 +1054,85 @@ fn vectors_2() -> Vec { v.push(refuse("v2_three_outputs_named_by_the_first", three.with_receipt(0, naming(three.receipts.as_ref().unwrap()[0].clone(), first)).document(), "receipt_output_mismatch", ro(0))); v } + +// ───────────────────────────── version 3 (§3.4) ───────────────────────────── + +impl Job { + /// A job whose record is of version 3: as [`Job::new_2`], its record sealed by + /// [`super::seal_committed`], the served attempt stating the count and root of `outputs`. + fn new_3(request: Value, attempts: &[(&str, Option<&'static str>, u64, u64, Value)], outputs: &[[u8; 32]], receipts: bool) -> Job { + let j = Job::new_2(request, pricebook_2(), policy(3), attempts, outputs, receipts); + let r = Request::read(&canonical(&j.request)).expect("the request reads"); + let b = PriceBook::read(&canonical(&j.pricebook)).expect("the price book reads"); + let p = Policy::read(&canonical(&j.policy)).expect("the policy reads"); + let atts: Vec = j.record["attempts"] + .as_array() + .expect("a list") + .iter() + .map(|a| Attempt { + endpoint: a["endpoint"].as_str().expect("a token").to_string(), + error: attempts[a["hop"].as_u64().expect("a hop") as usize - 1].1, + start: a["start"].as_u64().expect("a time"), + end: a["end"].as_u64().expect("a time"), + receipt: a["receipt"].as_str().expect("an id").to_string(), + }) + .collect(); + let record = super::seal_committed(&router(), &r, &b, &p, ACCEPTED, &atts, outputs); + Job { record, ..j } + } +} + +fn vectors_3() -> Vec { + let mut v = Vec::new(); + let rec = |p: &[Value]| { + let mut a = vec![json!("record")]; + a.extend_from_slice(p); + Value::Array(a) + }; + let alpha = || ("im.alpha", None, 1_000, 4_000_000, metered("im.alpha")); + + // ── accepted ── + // One output, whose root is its content hash; three; and more than a list of version 2 holds + // (§5.2), its record the size of the others. + let one = Job::new_3(request_2("job-3001", ENC, no_preference()), &[alpha()], &delivered("job-3001", 1), true); + v.push(accept("v3_served_one_output", &one)); + let three = Job::new_3(request_2("job-3002", ENC, no_preference()), &[alpha()], &delivered("job-3002", 3), true); + v.push(accept("v3_served_three_outputs", &three)); + v.push(accept("v3_served_more_outputs_than_a_list_holds", &Job::new_3(request_2("job-3003", ENC, no_preference()), &[alpha()], &delivered("job-3003", 5_000), true))); + let fo = Job::new_3( + request_2("job-3004", ENC, no_preference()), + &[("im.alpha", Some("server_error"), 1_000, 2_000_000, failed("im.alpha")), ("im.eta", None, 2_000_100, 9_000_000, model("im.eta"))], + &delivered("job-3004", 2), + true, + ); + v.push(accept("v3_failover_whose_failed_hop_delivered_nothing", &fo)); + v.push(accept("v3_served_after_the_deadline", &Job::new_3(request_2("job-3005", ENC, no_preference()), &[("im.alpha", None, 1_000, 31_000_000, metered("im.alpha"))], &delivered("job-3005", 1), true))); + v.push(accept("v3_receipts_not_checked", &Job::new_3(request_2("job-3001", ENC, no_preference()), &[alpha()], &delivered("job-3001", 1), false))); + + // ── refused: the form of what was delivered ── + let invalid = |name: &'static str, j: &Job, f: &dyn Fn(&mut Value)| refuse(name, j.edited(|r| f(r)).document(), "record_invalid", json!(["record"])); + v.push(invalid("v3_served_with_a_count_of_0", &one, &|r| r["attempts"][0]["delivered"]["count"] = json!(0))); + v.push(invalid("v3_a_failed_hop_with_a_count", &fo, &|r| r["attempts"][0]["delivered"]["count"] = json!(1))); + v.push(invalid("v3_a_failed_hop_with_a_root", &fo, &|r| r["attempts"][0]["delivered"]["root"] = r["attempts"][1]["delivered"]["root"].clone())); + v.push(invalid("v3_a_root_in_capitals", &one, &|r| r["attempts"][0]["delivered"]["root"] = json!(r["attempts"][0]["delivered"]["root"].as_str().unwrap().to_uppercase()))); + v.push(invalid("v3_a_count_as_text", &three, &|r| r["attempts"][0]["delivered"]["count"] = json!("3"))); + v.push(invalid("v3_a_member_besides_the_count_and_the_root", &three, &|r| r["attempts"][0]["delivered"]["outputs"] = json!(3))); + v.push(invalid("v3_outputs_listed_as_version_2_lists_them", &one, &|r| { + let a = r["attempts"][0].as_object_mut().unwrap(); + a.remove("delivered"); + a.insert("outputs".into(), json!([hex(&delivered("job-3001", 1)[0])])); + })); + v.push(invalid("v3_delivered_in_a_record_of_version_2", &one, &|r| r["version"] = json!(2))); + + // ── refused: the record's version against its price book's ── + let mut three_on_one = one.edited(|r| r["pricebook"] = json!({"digest": hex(&super::digest(&pricebook())), "currency": "EUR", "issued": pricebook()["issued"]})); + three_on_one.pricebook = pricebook(); + v.push(refuse("a_record_of_version_3_on_a_price_book_of_version_1", three_on_one.document(), "pricebook_mismatch", rec(&[json!("version")]))); + + // ── refused: a receipt held to the root ── + let ro = |i: usize| rec(&[json!("attempts"), json!(i), json!("receipt")]); + v.push(refuse("v3_a_receipt_moved_from_another_job", one.with_receipt(0, fo.receipts.as_ref().unwrap()[1].clone()).document(), "receipt_output_mismatch", ro(0))); + let two_of_three = hex(&super::output_commitment(&delivered("job-3002", 3)[..2])); + v.push(refuse("v3_a_root_not_the_receipts", three.edited(|r| r["attempts"][0]["delivered"]["root"] = json!(two_of_three)).document(), "receipt_output_mismatch", ro(0))); + v +}