From e45e844303e04947cf6591fb46b43bf8a7bc5356 Mon Sep 17 00:00:00 2001 From: CubeJerry <80299683+CubeJerry@users.noreply.github.com> Date: Tue, 10 Nov 2026 00:00:19 +0800 Subject: [PATCH] research: prove source-bound common precision for odd native caller --- .../EXPECTED-BOUNDS.json | 43 ++ .../INDEPENDENT-BOUNDS.json | 36 ++ .../INDEPENDENT-REVIEW.md | 134 +++++ research/odd-native-common-grid/NOTICE.md | 20 + .../odd-native-common-grid/PR-DESCRIPTION.md | 65 ++ research/odd-native-common-grid/PROOF.md | 241 ++++++++ research/odd-native-common-grid/README.md | 115 ++++ research/odd-native-common-grid/RESULT.json | 47 ++ .../odd-native-common-grid/SOURCE-BYTES.json | 46 ++ research/odd-native-common-grid/SOURCES.json | 24 + research/odd-native-common-grid/TASK.json | 100 ++++ .../odd-native-common-grid/VERIFICATION.md | 41 ++ research/odd-native-common-grid/VERIFY.json | 30 + .../odd-native-common-grid/audit_bounds.py | 213 +++++++ .../odd-native-common-grid/audit_controls.py | 119 ++++ .../independent_bounds.py | 267 +++++++++ .../odd-native-common-grid/source/LICENSE | 201 +++++++ research/odd-native-common-grid/source/NOTICE | 5 + .../odd-native-common-grid/source/check.py | 563 ++++++++++++++++++ .../source/data/caller.json | 1 + .../source/data/word.json.gz | Bin 0 -> 348400 bytes research/odd-native-common-grid/verify.py | 98 +++ 22 files changed, 2409 insertions(+) create mode 100644 research/odd-native-common-grid/EXPECTED-BOUNDS.json create mode 100644 research/odd-native-common-grid/INDEPENDENT-BOUNDS.json create mode 100644 research/odd-native-common-grid/INDEPENDENT-REVIEW.md create mode 100644 research/odd-native-common-grid/NOTICE.md create mode 100644 research/odd-native-common-grid/PR-DESCRIPTION.md create mode 100644 research/odd-native-common-grid/PROOF.md create mode 100644 research/odd-native-common-grid/README.md create mode 100644 research/odd-native-common-grid/RESULT.json create mode 100644 research/odd-native-common-grid/SOURCE-BYTES.json create mode 100644 research/odd-native-common-grid/SOURCES.json create mode 100644 research/odd-native-common-grid/TASK.json create mode 100644 research/odd-native-common-grid/VERIFICATION.md create mode 100644 research/odd-native-common-grid/VERIFY.json create mode 100644 research/odd-native-common-grid/audit_bounds.py create mode 100644 research/odd-native-common-grid/audit_controls.py create mode 100644 research/odd-native-common-grid/independent_bounds.py create mode 100644 research/odd-native-common-grid/source/LICENSE create mode 100644 research/odd-native-common-grid/source/NOTICE create mode 100644 research/odd-native-common-grid/source/check.py create mode 100644 research/odd-native-common-grid/source/data/caller.json create mode 100644 research/odd-native-common-grid/source/data/word.json.gz create mode 100644 research/odd-native-common-grid/verify.py diff --git a/research/odd-native-common-grid/EXPECTED-BOUNDS.json b/research/odd-native-common-grid/EXPECTED-BOUNDS.json new file mode 100644 index 0000000000..10a6bfdfd7 --- /dev/null +++ b/research/odd-native-common-grid/EXPECTED-BOUNDS.json @@ -0,0 +1,43 @@ +{ + "caller": { + "coarse_height": 1240, + "coarse_mass_bits": 4362, + "denominator_height": 163, + "events": 3221, + "mass_bits": 126, + "maximum_mass": "16246698892210214036146399419475929893435/256", + "operations": { + "ADD": 2198, + "IDLE_ONE": 100, + "J": 18, + "LAMBDA": 206, + "QUERY": 10, + "SCALE": 180, + "SWAP": 509 + }, + "pre_joint_height": 154, + "pre_joint_mass_bits": 124 + }, + "word": { + "coefficient_numerator_bits": 24, + "coefficient_visits": 14060742, + "dyadic_height": 24, + "events": 71069, + "mass_witness": [ + 63297, + "stored add" + ], + "maximum_scaled_mass": "1636447290138225/16384", + "odd_scale": 1125, + "operations": { + "ADD": 60978, + "CLEAR": 54, + "COPY": 1, + "INIT": 54, + "MOVE": 6330, + "SCALE": 3652 + }, + "public_fields": 1452, + "scaled_mass_bits": 37 + } +} diff --git a/research/odd-native-common-grid/INDEPENDENT-BOUNDS.json b/research/odd-native-common-grid/INDEPENDENT-BOUNDS.json new file mode 100644 index 0000000000..653c1cbbd2 --- /dev/null +++ b/research/odd-native-common-grid/INDEPENDENT-BOUNDS.json @@ -0,0 +1,36 @@ +{ + "caller": { + "denominator_height": 163, + "maximum_mass": "16246698892210214036146399419475929893435/256", + "pre_joint_height": 154, + "pre_joint_mass": "758143798823020519902612486795530419693/64" + }, + "negative_scales": { + "225": "integer grid rejection at event 1101: denominator 250", + "375": "integer grid rejection at event 36915: denominator 48" + }, + "source_sha256": { + "caller.json": "5489eee96950881b0dd8fdecd6c02a3f663c60ba5bed0d5e5cbeed50fb9ae5fb", + "word.json.gz": "1cb1dd9acac7cc13dd5ef58162c9b89ac07215bf0364170db6940191d3605af5" + }, + "threshold": { + "357Kstar_bits": 14075, + "H": 1339210000000000000, + "Kstar_bits": 14066, + "gap_denominator": 10000000000000, + "integer_threshold_index": 133921, + "logarithm_power": 2224, + "source_check_sha256": "f1d6831810200ae6b677a32fc0e7fcf2c8bd9f033ae9fca7f8b1918ea5ed9f28" + }, + "word": { + "coefficient_visits": 14060742, + "dyadic_height": 24, + "mass_witness": [ + 63297, + "stored add" + ], + "maximum_scaled_mass": "1636447290138225/16384", + "numerator_bits": 24, + "odd_scale_lcm": 1125 + } +} diff --git a/research/odd-native-common-grid/INDEPENDENT-REVIEW.md b/research/odd-native-common-grid/INDEPENDENT-REVIEW.md new file mode 100644 index 0000000000..3c23f8560f --- /dev/null +++ b/research/odd-native-common-grid/INDEPENDENT-REVIEW.md @@ -0,0 +1,134 @@ +# Independent review of the odd native common-grid draft + +Reviewer: same-session research subagent, with substantial OpenAI assistance. +This is author-side independent-method review, not a human or formal-kernel +acceptance. No root-owned files were modified. + +## Frozen scope + +The reviewer froze the pre-clarification draft during the run. Its SHA-256 pins were: + +- `PROOF.md`: `0a3b37c82869c37afbcea50ed1e440a8c8e6e9f01f3a84476c004586c1bec82e` +- `audit_bounds.py`: `1e859d997e667514864871fd64e2b01039107708a848ddfec340e3947d0bbbcb` + +The exact source word/caller and threshold source are recorded in +`SOURCE-BYTES.json` and the executed `INDEPENDENT-BOUNDS.json`. Canonical base remains +`7c49fe32c55de02c2c873655c804b16e4c3fef0a`. The source-specific mathematical +claim is the per-call scale-1125 precision implication for candidate #6934, +not a proof of the candidate's native maps, physical supplier or complete bill. + +## Verdict + +No mathematical counterexample or blocking gap was found within the stated +ideal endpoint, same-root-factor, ownership, scheduling and source interfaces. +The conclusion remains conditional on those interfaces. The independent +integer engines reproduce the finite bounds used in the all-size argument. + +Two wording clarifications would improve the proof and make the inherited +scope harder to misread: + +1. Section 2's fresh helper mass 1 and height 0 are **relative to the current + raw-call entrance**. A helper introduced inside a nested compiler call + carries its actual entrance expansion in original root inputs; its root + mass/debt is not reset to 1/0. Section 3 and the credited #6901 proof imply + this interpretation, but the present short sentence should say so. +2. Interface 1 should explicitly say **Gaussian-dyadic Clifford**, including + absolute phase. A generic Clifford with an arbitrary global phase would + not imply the stated binary grid. The source construction is in the + Gaussian-dyadic subgroup; no extension to arbitrary global phases follows. + +It is also useful to state the short compiler size check: 153<2^8 and +8*1920=0 and D>=1. Finite external row counts, dirty public inputs, correlations +and spectators are arbitrary. Root preprocessing must supply p,h and layouts. + +## 2. Exact finite source envelopes + +The independent rational row interpreter treats MOVE as a chart change, +INIT as owned zero, CLEAR as lifetime completion, and ADD/COPY/SCALE as +literal row operations. It checks common-frame use and completed frames. +All stored rows and separate pre-ADD products, multiplied by S=1125, are +dyadic; completed public rows themselves are dyadic. The full scan visits +14,060,742 coefficients and obtains: + +| Local property | Exact bound | +|---|---:| +| Dyadic denominator height after scaling | 24 | +| Maximum scaled row/product l1 mass | 1636447290138225/16384 <2^37 | +| Scalar numerator bit length | 24 | + +Input scaling is included because S<2^37. These are finite source +certificates, not an independent native-map or all-size proof. + +A separate caller recurrence majorizes expansions in **products of Clifford +operators**, without commuting the products or substituting numerical +characters. For ADD, use M_t+|q|M_s and +max(H_t,H_s+v2(den(q))). SCALE, SWAP and QUERY use their literal rules. +IDLE is a Clifford product. LAMBDA is expanded as +((1+s i)I+(1-s i)Q^2)/2 for s=+-1. With Gaussian coefficient mass +|Re|+|Im|, its safe update is M<-2M and H<-H+1. + +At a joint event use the two actual type-A shear endpoints and type-B +(x-Qy,(Q^-1 x+y)/2), followed by the relevant Clifford. Their roles are +disjoint; both old B bounds are read before either is updated. The complete +current caller gives: + +| Cut | Dyadic height | Coefficient mass | +|---|---:|---:| +| Any completed caller event | <=163 | <=16246698892210214036146399419475929893435/256 <2^126 | +| Entrance of any joint call | <=154 | <=2^124 | + +Fresh productive helpers have mass1 and height0 relative to the current +raw-call entrance. A nested helper retains its actual entrance expansion and +all inherited debt relative to the original root inputs. During a local +call, composition with its scaled word adds the local bounds. Therefore, +including both caller-only and local-interior cuts, the raw caller has + +A=max(163,154+24)=178 exterior denominator bits, +B=max(126,124+37)=161 coefficient-mass bits, per unfinished context. + +A separate whole-stream product bound gives caller height1240 and mass +below2^4362. It cross-checks the eventwise numerical result using a different, +coarser aggregation. The written induction on these source operations is the +proof; endpoint norms alone would be insufficient. + +## 3. Per-call odd clearing and recursive reset + +For formal input row R and current chart D_v, the scaled local word holds +D_v(S R x). The source certificate makes its exterior coefficients dyadic. +The same certificate covers a pre-ADD product. Thus the odd part of each +divisor divides the stored integer numerator on every sufficiently fine +binary grid. At completion the unscaled endpoint is dyadic, so final +division by S is exact too. + +Each nested invocation scales its own actual entrances, runs the word and +unscales its completed outputs. Unfinished contexts accumulate mass and +binary denominator debt. A completed positive Gaussian endpoint resets the +**extra exterior debt relative to its entrance**, retaining all debt already +present at that entrance. Its Gaussian action joins the Clifford factor. +No numerical grid is reset. + +One S is charged per unfinished local context. Completed siblings add no +persistent debt. Scaling once by S at the outer boundary is a different +program and cannot replace arbitrary nesting: the boundary-only program +needs S raised to a proved depth bound, as #104 prescribes. The verifier +includes a nested exact-division countercontrol to this mistaken shortcut. + +This is a formal linear expansion in original complete root inputs, so no +independence of their values is needed. The expansion is proof state, not a +runtime data structure. Exterior scalars stay outside tensor powers. + +## 4. Current compiler depth and the integer threshold + +The candidate parameters are v=1920, carrier153, separated paid ceiling11^v, +productive floor12^v and m=153^v. In particular r_max=2. +These apply to the separated rule, not the unpowered raw rank-one targets. + +The retained compiler has complement n-s<(1-1/m)n and deepest-exit ratio +at most (r_max/m)(r_max/k_min)^G <=1-1/m. Its path has at most +m(1+floor(log2 n)) nonbase frames, each carrying at most +v(1+floor(log2 n)) raw contexts. Thus the credited recurrence specializes to + +K(n) <= v m (1+floor(log2 n))^2. + +Independently regenerate the written threshold from the source's exact +candidate/tested rationals and logarithm power2224: +H=1,339,210,000,000,000,000, N=2^H, and +K_star=1920*153^1920*(H+1)^2. +K_star has14066 bits; 357K_star has14075 bits, so 357K_star<2^H. +The threshold search has one crossing: with L=2224 and step=10^13, +(step*j+1)^L>2^j for j<=2L. For j>=2L the ratio of successive +((step*j+1)^L/2^j) values is strictly below +(1+1/j)^L/2 < 1/(2(1-L/j)) <=1. Thus checking the adjacent +integer indices justifies the regenerated threshold. +No floating logarithm or construction of N is used. Also153<2^8 and +8*1920=1, N ell<=N^ell<=D; for ell=0, t=0. Therefore 356t None: + if not ok: + raise ValueError(message) + + +def ceil_log2(q: Fraction | int) -> int: + q = Fraction(q) + require(q > 0, "positive logarithm argument") + k = q.numerator.bit_length() - q.denominator.bit_length() + if k >= 0: + if q.numerator > q.denominator << k: + k += 1 + elif q.numerator << -k > q.denominator: + k += 1 + return k + + +def v2(n: int) -> int: + require(n > 0, "positive denominator") + return (n & -n).bit_length() - 1 + + +def word_bounds(word: dict, scale: int = 1125) -> dict: + n = len(word["initial"]) + rows = [{i: Fraction(1)} for i in range(n)] + [dict() for _ in range(word["owned_fields"])] + frames = list(word["initial"]) + [None] * word["owned_fields"] + active = set() + maximum_mass = Fraction(scale) + height = 0 + max_numerator_bits = 0 + visits = 0 + witness = None + operations = Counter() + + def visit(row: dict, event: int, kind: str) -> None: + nonlocal maximum_mass, height, visits, witness + mass = Fraction(0) + for value in row.values(): + value *= scale + require(value.denominator == 1 << v2(value.denominator), + f"odd clearing fails at event {event} ({kind})") + height = max(height, v2(value.denominator)) + mass += abs(value) + visits += 1 + if mass > maximum_mass: + maximum_mass, witness = mass, (event, kind) + + for index, event in enumerate(word["program"]): + op, target = event[:2] + operations[op] += 1 + if op == "INIT": + require(target >= n and target not in active, "fresh owned INIT") + active.add(target) + frames[target] = event[2] + rows[target] = {} + elif op == "CLEAR": + require(target in active and frames[target] == event[2], "owned CLEAR") + active.remove(target) + frames[target] = None + rows[target] = {} + elif op == "MOVE": + require(frames[target] == event[2], "MOVE source frame") + frames[target] = event[3] + elif op == "SCALE": + factor = Fraction(event[2]) + require(frames[target] == event[3], "SCALE frame") + max_numerator_bits = max(max_numerator_bits, abs(factor.numerator).bit_length()) + rows[target] = {key: factor * value for key, value in rows[target].items() if factor * value} + visit(rows[target], index, "scale") + elif op in ("ADD", "COPY"): + source, factor = event[2], Fraction(event[3]) + require(source != target and frames[source] == frames[target] == event[4], "ADD common frame") + require(op != "COPY" or target in active and not rows[target], "COPY into owned zero") + max_numerator_bits = max(max_numerator_bits, abs(factor.numerator).bit_length()) + product = {key: factor * value for key, value in rows[source].items() if factor * value} + visit(product, index, "pre-add product") + new = rows[target].copy() + for key, value in product.items(): + new[key] = new.get(key, Fraction(0)) + value + if not new[key]: + del new[key] + rows[target] = new + visit(new, index, "stored add") + else: + raise ValueError("unknown word opcode " + op) + require(not active, "all owned lifetimes complete") + require(frames[:n] == word["final"], "public endpoint frames") + require(all(value.denominator == 1 << v2(value.denominator) + for row in rows[:n] for value in row.values()), "public endpoint dyadic") + require(all(not row for row in rows[n:]), "owned endpoint zero") + return {"events": len(word["program"]), "public_fields": n, "odd_scale": scale, + "dyadic_height": height, "maximum_scaled_mass": str(maximum_mass), + "scaled_mass_bits": ceil_log2(maximum_mass), "mass_witness": witness, + "coefficient_numerator_bits": max_numerator_bits, "coefficient_visits": visits, + "operations": dict(sorted(operations.items()))} + + +def caller_bounds(caller: dict) -> dict: + """Majorize the noncommutative expansion in Clifford words, not a character. + + Each complete native/idle/query Clifford has coefficient mass one. LAMBDA + is expanded as ((1+s*i) I + (1-s*i) Q^2)/2. Gaussian coefficient mass is + |Re|+|Im|; both coefficients therefore have mass one. No commutativity + or cancellation is used in this bound. + """ + count = caller["roles"] + masses = [Fraction(1) for _ in range(count)] + heights = [0 for _ in range(count)] + peak = Fraction(1) + peak_height = 0 + pre_joint_peak = Fraction(1) + pre_joint_height = 0 + crude_mass_bits = crude_height = 0 + operations = Counter() + + def note() -> None: + nonlocal peak, peak_height + peak = max(peak, *masses) + peak_height = max(peak_height, *heights) + + def combine(t: int, s: int, factor: Fraction) -> None: + nonlocal crude_mass_bits, crude_height + require(t != s, "caller aliases") + require(factor.denominator == 1 << v2(factor.denominator), "caller scalar must be dyadic") + masses[t] += abs(factor) * masses[s] + heights[t] = max(heights[t], heights[s] + v2(factor.denominator)) + + for event in caller["events"]: + if event[0] == "J": + operations["J"] += 1 + pre_joint_peak = max(pre_joint_peak, *masses) + pre_joint_height = max(pre_joint_height, *heights) + s, t, x, y = event[2] + require(len({s, t, x, y}) == 4, "four distinct A ports") + a2 = Fraction(caller["types"]["A"]["alpha2"]) + combine(t, s, Fraction(1)) + combine(x, y, a2) + bs, bt, al, be = event[3] + al, be = Fraction(al), Fraction(be) + require(bs != bt and {bs, bt}.isdisjoint({s, t, x, y}), "joint ports disjoint") + ms, mt, hs, ht = masses[bs], masses[bt], heights[bs], heights[bt] + require((al, be) == (Fraction(-1), Fraction(1, 2)), "retained B endpoint") + masses[bs] = ms + mt + masses[bt] = (ms + mt) / 2 + heights[bs] = max(hs, ht) + heights[bt] = max(hs, ht) + 1 + crude_mass_bits += max(1, ceil_log2(1 + abs(a2))) + crude_height += 1 + note() + continue + op = event[1] + operations[op] += 1 + t = event[2] + if op == "ADD": + q = Fraction(event[4]); combine(t, event[3], q) + crude_mass_bits += max(0, ceil_log2(1 + abs(q))) + crude_height += v2(q.denominator) + elif op == "SCALE": + q = Fraction(event[3]); require(q != 0, "nonzero SCALE") + require(q.denominator == 1 << v2(q.denominator), "dyadic SCALE") + masses[t] *= abs(q); heights[t] += v2(q.denominator) + crude_mass_bits += max(0, ceil_log2(abs(q))) + crude_height += v2(q.denominator) + elif op == "SWAP": + s = event[3]; require(s != t, "distinct SWAP") + masses[t], masses[s] = masses[s], masses[t] + heights[t], heights[s] = heights[s], heights[t] + elif op == "QUERY": + combine(t, event[3], Fraction(1)); crude_mass_bits += 1 + elif op == "LAMBDA": + require(event[3] in (-1, 1), "LAMBDA sign") + masses[t] *= 2; heights[t] += 1 + crude_mass_bits += 1; crude_height += 1 + elif op == "IDLE_ONE": + pass + else: + raise ValueError("unknown caller opcode " + op) + note() + require(peak <= 2**crude_mass_bits and peak_height <= crude_height, "independent coarse envelope") + return {"events": len(caller["events"]), "maximum_mass": str(peak), + "mass_bits": ceil_log2(peak), "denominator_height": peak_height, + "pre_joint_mass_bits": ceil_log2(pre_joint_peak), "pre_joint_height": pre_joint_height, + "coarse_mass_bits": crude_mass_bits, "coarse_height": crude_height, + "operations": dict(sorted(operations.items()))} + + +def main() -> None: + ap = argparse.ArgumentParser() + ap.add_argument("--source", type=Path, required=True) + args = ap.parse_args() + word = json.loads(gzip.decompress((args.source / "word.json.gz").read_bytes())) + caller = json.loads((args.source / "caller.json").read_text()) + result = {"word": word_bounds(word), "caller": caller_bounds(caller)} + print(json.dumps(result, indent=2, sort_keys=True)) + + +if __name__ == "__main__": + main() diff --git a/research/odd-native-common-grid/audit_controls.py b/research/odd-native-common-grid/audit_controls.py new file mode 100644 index 0000000000..9c1b99873c --- /dev/null +++ b/research/odd-native-common-grid/audit_controls.py @@ -0,0 +1,119 @@ +"""Adversarial controls on the theorem's scope, not a physical simulator. + +Prepared for @CubeJerry with substantial OpenAI assistance. Apache-2.0. +""" +from __future__ import annotations + +from copy import deepcopy +from fractions import Fraction as Q + +from audit_bounds import caller_bounds, ceil_log2, require, word_bounds + + +def rejects(call, phrase): + try: + call() + except ValueError as error: + require(phrase in str(error), "specific control rejection: " + str(error)) + return str(error) + raise ValueError("negative control unexpectedly accepted: " + phrase) + + +def controls(word, caller): + checks = {} + count = 0 + for a in range(1, 130): + for b in range(1, 130): + value = Q(a, b) + k = ceil_log2(value) + upper = Q(2) ** k + require(upper / 2 < value <= upper, "independent exact logarithm bracket") + count += 1 + checks["exact_logarithm_brackets"] = count + checks["too_small_S225"] = rejects(lambda: word_bounds(word, 225), "odd clearing fails at event 1101") + + tiny = {"initial": [0, 0], "final": [0, 0], "owned_fields": 0, + "program": [["ADD", 0, 1, "1/7", 0]]} + checks["unfunded_prime"] = rejects(lambda: word_bounds(tiny, 1125), "odd clearing fails") + tiny["program"] = [["ADD", 0, 1, "1", 1]] + checks["wrong_frame"] = rejects(lambda: word_bounds(tiny), "ADD common frame") + tiny["program"] = [["COPY", 0, 1, "1", 0]] + checks["copy_nonzero_public"] = rejects(lambda: word_bounds(tiny), "COPY into owned zero") + tiny["program"] = [["MOVE", 0, 1, 0, False]] + checks["wrong_move_source"] = rejects(lambda: word_bounds(tiny), "MOVE source frame") + tiny["program"] = [["SCALE", 0, "1/3", 0]] + checks["nondyadic_completed_endpoint"] = rejects(lambda: word_bounds(tiny), "public endpoint dyadic") + + bad = deepcopy(caller) + entry = next(e for e in bad["events"] if e[0] != "J" and e[1] == "ADD") + entry[4] = "1/3" + checks["odd_caller_scalar"] = rejects(lambda: caller_bounds(bad), "caller scalar must be dyadic") + bad = deepcopy(caller) + joint = next(e for e in bad["events"] if e[0] == "J") + joint[2][1] = joint[2][0] + checks["joint_alias"] = rejects(lambda: caller_bounds(bad), "four distinct A ports") + bad = deepcopy(caller) + joint = next(e for e in bad["events"] if e[0] == "J") + joint[3][3] = "1/3" + checks["changed_B_endpoint"] = rejects(lambda: caller_bounds(bad), "retained B endpoint") + + # An identity endpoint can still incur one odd division per unfinished + # context. A single outer scale3 funds depth1 and fails at depth2. + def once_scaled(depth, initial): + value = initial + for _ in range(depth): + require(value.denominator == 1 and value.numerator % 3 == 0, + "nested boundary-only odd remainder") + value /= 3 + for _ in range(depth): + value *= 3 + return value + + require(once_scaled(1, Q(3)) == 3, "one-level positive control") + checks["one_outer_scale_fails_at_depth_two"] = rejects( + lambda: once_scaled(2, Q(3)), "nested boundary-only odd remainder") + + def per_call(depth, x): + scaled = 3*x + require(scaled.denominator == 1 and scaled.numerator % 3 == 0, + "per-call exact odd division") + middle = scaled/3 + if depth: + middle = per_call(depth-1, middle) + scaled_out = 3*middle + require(scaled_out.numerator % 3 == 0, "per-call exact return division") + return scaled_out/3 + + for depth in range(21): + for x in range(-5, 6): + require(per_call(depth, Q(x)) == x, "per-call scaled nested identity") + checks["per_call_nested_signed_cases"] = 21*11 + value = Q(1) + for _ in range(100): + value = per_call(0, value) + require(value == 1, "completed siblings preserve entrance debt") + checks["completed_siblings"] = 100 + + # D=1 and P=diag(1,0): (P C P)^3 has (-1+i)/4, exceeding the + # Clifford denominator cap 2^ceil(D/2). Thus active selection is excluded. + def cmul(a, b): + return (a[0]*b[0]-a[1]*b[1], a[0]*b[1]+a[1]*b[0]) + z = (Q(1), Q(0)) + for _ in range(3): + z = cmul(z, (Q(1,2), Q(1,2))) + require(z == (Q(-1,4), Q(1,4)) and max(x.denominator for x in z) > 2, + "active projection destroys fixed-root Clifford denominator cap") + checks["active_projector_counterexample"] = [str(x) for x in z] + + # The text proves the quantified inequalities; this detects off-by-one + # mistakes at finite boundary cases and is not their universal proof. + samples = 0 + for D in range(1, 2001): + for t in {0, (D-1)//356}: + require(356*t < D, "boundary depth sample") + require((D+1)//2+178*t <= D, "fractional format boundary") + require((D+2)//2+161*t+1 <= D+2, "magnitude format boundary") + samples += 1 + checks["format_integer_boundary_samples"] = samples + checks["universal_proof_from_finite_sweep"] = False + return checks diff --git a/research/odd-native-common-grid/independent_bounds.py b/research/odd-native-common-grid/independent_bounds.py new file mode 100644 index 0000000000..8fe729386f --- /dev/null +++ b/research/odd-native-common-grid/independent_bounds.py @@ -0,0 +1,267 @@ +"""Read-only author-side audit of the odd-grid package. + +Independent fixed-grid integer word engine and positive transfer matrix caller +engine. This does not prove native/endpoint identities or run a physical tape. +Prepared for @CubeJerry with substantial OpenAI assistance. +""" +from __future__ import annotations + +from collections import Counter +from hashlib import sha256 +from math import gcd, lcm +from pathlib import Path +import ast +import gzip +import json + +ROOT = Path(__file__).resolve().parent +SOURCE = ROOT / "source/data" + + +def need(ok, message): + if not ok: + raise ValueError(message) + + +def rational(text): + bits = str(text).split("/") + return (int(bits[0]), int(bits[1]) if len(bits) == 2 else 1) + + +def height(n): + need(n > 0 and n & (n - 1) == 0, "dyadic denominator") + return n.bit_length() - 1 + + +def reduced(n, d): + g = gcd(n, d) + return str(n // g) if d // g == 1 else f"{n//g}/{d//g}" + + +def word_run(word, scale=1125, frac=24): + """Store every formal row on the *one fixed* scale*2^frac integer grid.""" + n = len(word["initial"]) + unit = 1 << frac + rows = [{i: scale * unit} for i in range(n)] + rows += [{} for _ in range(word["owned_fields"])] + frames = list(word["initial"]) + [None] * word["owned_fields"] + live = set() + peak, odd_lcm, high, visits = scale * unit, 1, 0, 0 + numerator_bits = 0 + witness = None + + def observe(row, index, kind): + nonlocal peak, odd_lcm, high, visits, witness + mass = sum(abs(value) for value in row.values()) + if mass > peak: + peak, witness = mass, (index, kind) + for value in row.values(): + if not value: + continue + odd_lcm = lcm(odd_lcm, scale // gcd(value, scale)) + trailing = (abs(value) & -abs(value)).bit_length() - 1 + high = max(high, frac - trailing) + visits += 1 + + def multiply(row, q, index): + a, b = rational(q) + result = {} + for key, value in row.items(): + quotient, residue = divmod(value * a, b) + need(residue == 0, f"integer grid rejection at event {index}: denominator {b}") + if quotient: + result[key] = quotient + return result + + for index, event in enumerate(word["program"]): + op, target = event[:2] + if op == "INIT": + need(target >= n and target not in live, "fresh owner") + live.add(target); rows[target] = {}; frames[target] = event[2] + elif op == "CLEAR": + need(target in live and frames[target] == event[2], "owner clear") + live.remove(target); rows[target] = {}; frames[target] = None + elif op == "MOVE": + need(frames[target] == event[2], "source chart") + frames[target] = event[3] + elif op == "SCALE": + need(frames[target] == event[3], "scale chart") + numerator_bits = max(numerator_bits, abs(rational(event[2])[0]).bit_length()) + rows[target] = multiply(rows[target], event[2], index) + observe(rows[target], index, "scale") + elif op in ("ADD", "COPY"): + source = event[2] + need(target != source and frames[target] == frames[source] == event[4], "common chart") + need(op != "COPY" or target in live and not rows[target], "copy zero") + numerator_bits = max(numerator_bits, abs(rational(event[3])[0]).bit_length()) + product = multiply(rows[source], event[3], index) + observe(product, index, "pre-add product") + result = rows[target].copy() + for key, value in product.items(): + result[key] = result.get(key, 0) + value + if not result[key]: + del result[key] + rows[target] = result + observe(result, index, "stored add") + else: + raise ValueError(op) + need(not live and frames[:n] == word["final"], "completed owned/frame endpoints") + need(all(value % scale == 0 for row in rows[:n] for value in row.values()), "unscaled public rows dyadic") + need(all(not row for row in rows[n:]), "private rows gone") + return dict(odd_scale_lcm=odd_lcm, dyadic_height=high, + maximum_scaled_mass=reduced(peak, unit), mass_witness=witness, + numerator_bits=numerator_bits, coefficient_visits=visits) + + +def caller_run(caller): + """Propagate all 78 positive input contributions on a common integer grid. + + Matrix entries count triangle-inequality contributions; they do not commute + Clifford words or evaluate numerical characters. The common scale only + grows and all divisions below are integer-exact after that scale change. + """ + count = caller["roles"] + rows = [[int(i == j) for j in range(count)] for i in range(count)] + debts = [0] * count + scale = 0 + maximum = pre_joint = (1, 0) + maximum_debt = joint_debt = 0 + + def larger(pair, candidate): + a, k = pair; b, ell = candidate + return candidate if (b << k) > (a << ell) else pair + + def denominator(bits): + nonlocal scale, rows + if bits: + rows = [[value << bits for value in row] for row in rows] + scale += bits + + for event in caller["events"]: + if event[0] == "J": + pre_joint = larger(pre_joint, (max(map(sum, rows)), scale)) + joint_debt = max(joint_debt, *debts) + s, t, x, y = event[2] + bs, bt, alpha, beta = event[3] + need(len({s, t, x, y, bs, bt}) == 6, "joint owner separation") + need(rational(alpha) == (-1, 1) and rational(beta) == (1, 2), "actual B pair") + a, b = rational(caller["types"]["A"]["alpha2"]) + need(b == 1, "actual A integer shear") + denominator(1) + rows[t] = [u + v for u, v in zip(rows[t], rows[s])] + rows[x] = [u + abs(a) * v for u, v in zip(rows[x], rows[y])] + combo = [u + v for u, v in zip(rows[bs], rows[bt])] + need(all(v % 2 == 0 for v in combo), "B integer halving") + rows[bs], rows[bt] = combo, [v // 2 for v in combo] + debts[t], debts[x] = max(debts[t], debts[s]), max(debts[x], debts[y]) + newdebt = max(debts[bs], debts[bt]) + debts[bs], debts[bt] = newdebt, newdebt + 1 + else: + op, t = event[1:3] + if op in ("ADD", "SCALE"): + a, b = rational(event[4] if op == "ADD" else event[3]) + k = height(b); denominator(k) + if op == "ADD": + source = event[3] + need(all(abs(a) * v % b == 0 for v in rows[source]), "ADD integer grid") + rows[t] = [u + abs(a) * v // b for u, v in zip(rows[t], rows[source])] + debts[t] = max(debts[t], debts[source] + k) + else: + need(all(abs(a) * v % b == 0 for v in rows[t]), "SCALE integer grid") + rows[t] = [abs(a) * v // b for v in rows[t]] + debts[t] += k + elif op == "QUERY": + source = event[3] + rows[t] = [u + v for u, v in zip(rows[t], rows[source])] + debts[t] = max(debts[t], debts[source]) + elif op == "SWAP": + source = event[3] + rows[t], rows[source] = rows[source], rows[t] + debts[t], debts[source] = debts[source], debts[t] + elif op == "LAMBDA": + rows[t] = [2 * v for v in rows[t]] + debts[t] += 1 + elif op != "IDLE_ONE": + raise ValueError(op) + maximum = larger(maximum, (max(map(sum, rows)), scale)) + maximum_debt = max(maximum_debt, *debts) + return dict(maximum_mass=reduced(maximum[0], 1 << maximum[1]), + pre_joint_mass=reduced(pre_joint[0], 1 << pre_joint[1]), + denominator_height=maximum_debt, pre_joint_height=joint_debt) + + +def threshold_run(): + """Read source literals by AST and regenerate the threshold by integers.""" + check = SOURCE.parent / "check.py" + nodes = ast.parse(check.read_text()).body + values = {} + for node in nodes: + if not isinstance(node, ast.Assign) or len(node.targets) != 1: + continue + target = node.targets[0] + if isinstance(target, ast.Tuple) and all(isinstance(x, ast.Name) for x in target.elts): + names = [x.id for x in target.elts] + if names == ["KAPPA", "TESTED"]: + for name, value in zip(names, node.value.elts): + need(isinstance(value, ast.Call) and isinstance(value.args[0], ast.Constant), "price source literal") + digits = value.args[0].value + before, after = digits.split(".") + values[name] = (int((before or "0") + after), 10 ** len(after)) + elif names == ["LPMIN", "LP"]: + values["LP"] = node.value.elts[1].value + a, b = values["KAPPA"] + c, d = values["TESTED"] + numerator, denominator = c*b-a*d, 7*b*d + common = gcd(numerator, denominator) + need(numerator // common == 1, "unit exact source gap") + step = denominator // common + power = values["LP"] + def wins(j): + return pow(step*j+1, power) < 1 << j + lo, hi = 1, 2 + while not wins(hi): + lo, hi = hi, hi*2 + while hi-lo > 1: + mid = (hi+lo)//2 + if wins(mid): + hi = mid + else: + lo = mid + h = step*hi + need(wins(hi) and not wins(hi-1), "threshold neighbors") + kstar = 1920*pow(153, 1920)*pow(h+1, 2) + need(h == 1339210000000000000 and kstar.bit_length() == 14066 + and (357*kstar).bit_length() == 14075 < h, "symbolic threshold margin") + return {"H": h, "integer_threshold_index": hi, "gap_denominator": step, + "logarithm_power": power, "Kstar_bits": kstar.bit_length(), + "357Kstar_bits": (357*kstar).bit_length(), + "source_check_sha256": sha256(check.read_bytes()).hexdigest()} + + +def main(): + word = json.loads(gzip.decompress((SOURCE / "word.json.gz").read_bytes())) + caller = json.loads((SOURCE / "caller.json").read_text()) + result = {"source_sha256": {n: sha256((SOURCE/n).read_bytes()).hexdigest() + for n in ("word.json.gz", "caller.json")}, + "word": word_run(word), "caller": caller_run(caller), "negative_scales": {}} + for scale in (375, 225): + try: + word_run(word, scale=scale) + except ValueError as error: + result["negative_scales"][str(scale)] = str(error) + else: + raise ValueError("insufficient odd scale was accepted") + expected = json.loads((ROOT / "EXPECTED-BOUNDS.json").read_text()) + for key in ("dyadic_height", "maximum_scaled_mass", "coefficient_visits"): + need(result["word"][key] == expected["word"][key], "independent word agreement: " + key) + need(result["word"]["odd_scale_lcm"] == 1125, "minimal source-derived scale") + need(result["word"]["numerator_bits"] == 24, "literal numerator width") + for key in ("maximum_mass", "denominator_height", "pre_joint_height"): + need(result["caller"][key] == expected["caller"][key], "independent caller agreement: " + key) + result["threshold"] = threshold_run() + print(json.dumps(result, sort_keys=True, indent=2)) + print("PASS_INDEPENDENT_ODD_GRID_BOUNDS") + + +if __name__ == "__main__": + main() diff --git a/research/odd-native-common-grid/source/LICENSE b/research/odd-native-common-grid/source/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/odd-native-common-grid/source/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/odd-native-common-grid/source/NOTICE b/research/odd-native-common-grid/source/NOTICE new file mode 100644 index 0000000000..06a4064bf1 --- /dev/null +++ b/research/odd-native-common-grid/source/NOTICE @@ -0,0 +1,5 @@ +Hosted chain-nested root, hosted native word, caller replay and checks: DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. Apache-2.0. + +Retained, unchanged (native.py with the changes listed in README.md): retained/runtime (interval engines and outer ledger) and retained/native/clifford_exact.py, retained/native/native_verify.py and native.py (the exact native replay, Adapted from Ali Romman's independent-helper verifier, inventory and retiming extension by Jerry Chen / @CubeJerry) keep their original headers and lineage from the #6833 package. The native word run verbatim is the #6824 word (#6702 native source by DreamingOfClouds, helper-basis mechanism by Ali Romman, retiming and helper retirement by Jerry Chen / @CubeJerry with OpenAI Codex assistance). The caller line follows #6726 (zxv) and #6716 (thu-nmrc). + +Odd gate scalars: the grid with one numerator scale and exact division follows #104 (icekylinx, notes/stopped-product-complex.tex lines 75-106) and its merged notes. The type A constant blocks of the caller (data/caller_6912_after.json) are from #6912 (CubeJerry); check_caller_blocks.py and jclib.py check them, and check_a6.py with a6lib.py ports the owned-rise argument of #6914 (CubeJerry, with OpenAI Codex) and the width-2 phase test of #6930 (unpaidmoon, with Cursor Grok); this code is by DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. The verifier verify_host3_dyadic.py and its odd-scalar version verify_host3_odd.py, physical_exact.py, mutants.py, division_pass.py and controls.py: DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. Apache-2.0. The word of #6932 is the comparison word (data/prior_word_6932.json.gz). diff --git a/research/odd-native-common-grid/source/check.py b/research/odd-native-common-grid/source/check.py new file mode 100644 index 0000000000..acb43c64bb --- /dev/null +++ b/research/odd-native-common-grid/source/check.py @@ -0,0 +1,563 @@ +#!/usr/bin/env python3 +"""The shared odd-grid native word with gate scalars 1/3 and 1/5 (a declared framework change): exact replay of the word over A = Z[1/2, 1/3, 1/5] with the certificate S = 1125, both roots, the joint caller, +the complete invoice and the outer constants. Standard library only (plus the retained interval engines). +python3 -I -B check.py (writes nothing) +Steps: (1) event-by-event exact replay of data/word.json.gz with the endpoint of each port type, the alphabet A, the odd certificate S (every prefix row and every pre-ADD product), heights, scans; the odd verifier and its rejections; +(2) both roots with failing controls; (3) the joint caller (78 roles, block diagonal, one stage value per stage) at the four central characters, with wrong-root, wrong-port-type and swapped-assignment controls; +(4) the invoice recounted from the emitted events and rebuilt from the two roots, with the #6932, #6931, #6919, #6917 and #6911 words and #6833 as controls; (5) raw bound by three definitions, the LAMBDA recharge, the root-scale and +per-input scale readings, growth; (6) BIT pins, interval engines, strictification, compiler and outer ledger; departures. Prints PASS_P104_SHARED_ODD_NATIVE. +(physical.py, physical_exact.py, caller_physical.py, native_maps.py, second_engine.py, mutants.py, division_pass.py, controls.py, ordinary.py, check_caller_blocks.py and check_a6.py are the other commands.)""" +import gzip, json, os, sys, subprocess, importlib.util, random, hashlib, math, copy +from collections import Counter +from decimal import Decimal as D, getcontext +from fractions import Fraction as Q +getcontext().prec = 60 +HERE = os.path.dirname(os.path.abspath(__file__)) +def need(ok, msg): + if not ok: raise SystemExit('FAIL ' + msg) + print('PASS', msg, flush=True) +data = lambda n: os.path.join(HERE, 'data', n) +PIN = Q(376669, 100000000) # ordinary BIT saving of the open #6726 two-fragment admission (retained/bit/FRAGMENT-BIT-ADMISSION.json) +def ldmod(path, name): + s = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(s); sys.modules[name] = m; s.loader.exec_module(m); return m + +# ---- (1) replay of the word ------------------------------------------------------------------- +W = json.load(gzip.open(data('word.json.gz'), 'rt')) +def span(b): + s = {0} + for v in b: + if not (isinstance(v, int) and 0 < v < 512 and v not in s): raise SystemExit('FAIL dependent basis') + s |= {x ^ v for x in s} + return frozenset(s) +fr = W['frames']; sp = [span(b) for b in fr]; dim = [len(b) for b in fr] +n = len(W['initial']); NO = W['owned_fields']; NR = n + NO +cur = list(W['initial']) + [None] * NO; row = [({r: Q(1)} if r < n else {}) for r in range(NR)] +owned = set(); viol = Counter(); owned_up = Counter(); up_idx = []; paid = Counter(); peak = life = dirty = 0; maxq = Q(0); logq = 0.0; pmax = Q(0); dmaxb = 0; nbits = dbits = 0 +dy = lambda q: q.denominator & (q.denominator - 1) == 0 +def sm(m, ps=(2, 3, 5)): + m = abs(m) + for p_ in ps: + while m % p_ == 0: m //= p_ + return m == 1 +def oddpart(m): + m = abs(m) + while m % 2 == 0: m //= 2 + return m +SC = 1125 # the declared certificate: S = 3^2 * 5^3 +odd_dens = set(); v2max = 0; dmax = 1; mass = Q(0); odd_div = Counter(); odd_events = Counter(); bad_S = Counter() +def note(rw, tag): + global mass, v2max, dmax + m = Q(0) + for v in rw.values(): + d = v.denominator; v2max = max(v2max, (d & -d).bit_length() - 1); dmax = max(dmax, d) + if d & (d - 1): odd_dens.add(oddpart(d)) + if not dy(SC * v): bad_S[tag] += 1 + m += abs(SC * v) + if m > mass: mass = m +for i, e in enumerate(W['program']): + op, r = e[0], e[1] + if op == 'MOVE': + _, r, a, b, pv = e + if cur[r] != a or (r in owned) != bool(pv): viol['transport source or ownership'] += 1 + if pv: + if sp[a] < sp[b]: owned_up[dim[b] - dim[a]] += 1; up_idx.append(i) + elif not sp[b] < sp[a]: viol['owned move not nested'] += 1 + elif not sp[a] < sp[b]: viol['public move not strictly ascending'] += 1 + paid[abs(dim[b] - dim[a])] += 1; cur[r] = b + elif op == 'INIT': + if not (r >= n and r not in owned): viol['INIT'] += 1 + owned.add(r); life += 1; peak = max(peak, len(owned)); cur[r] = e[2]; row[r] = {} + elif op == 'CLEAR': + if not (r in owned and cur[r] == e[2]): viol['CLEAR'] += 1 + dirty += bool(row[r]); owned.discard(r); cur[r] = None; row[r] = {} + else: + q = Q(e[2] if op == 'SCALE' else e[3]); f = e[-1] + if q == 0 or not sm(q.denominator) or not abs(q) + 1 < 2 ** 16: viol['coefficient alphabet'] += 1 + if oddpart(q.denominator) > 1: odd_events[op] += 1 + maxq = max(maxq, abs(q)); nbits = max(nbits, abs(q.numerator).bit_length()); dbits = max(dbits, q.denominator.bit_length()) + if op != 'SCALE': logq += math.log2(1 + float(abs(q))) + if op == 'SCALE': + if cur[r] != f or not sm(q.numerator): viol['SCALE'] += 1 + row[r] = {k: v * q for k, v in row[r].items()}; note(row[r], 'scale row') + for v in row[r].values(): + if abs(v) > pmax: pmax = abs(v) + if v.denominator.bit_length() > dmaxb: dmaxb = v.denominator.bit_length() + else: + s = e[2] + if not (cur[r] == f == cur[s] and s != r): viol['common chart'] += 1 + if op == 'COPY': + if not (r in owned and not row[r]): viol['COPY'] += 1 + row[r] = {} + note({k: q * v for k, v in row[s].items()}, 'pre-ADD product') + for k, v in row[s].items(): + t = row[r].get(k, 0) + q * v + if t: + row[r][k] = t + if abs(t) > pmax: pmax = abs(t) + if t.denominator.bit_length() > dmaxb: dmaxb = t.denominator.bit_length() + else: row[r].pop(k, None) + note(row[r], 'ADD row') +need(not owned and cur[:n] == W['final'], 'owned all cleared; final frames as declared') +need(dict(viol) == {}, 'frame law, common chart, alphabet A = Z[1/2, 1/3, 1/5] with |q|+1 < 2^16, SCALE units of A, public ascent: no violation beyond the declared one') +up_mass = sum(k * v for k, v in owned_up.items()) +need(up_mass == 56 and sum(owned_up.values()) == 23, 'declared OWNED UP: %d events, rank mass %d (convention: owned ascent)' % (sum(owned_up.values()), up_mass)) +def verifier(name): + return subprocess.run([sys.executable, '-I', '-B', os.path.join(HERE, name), data('word.json.gz')], capture_output=True, text=True).stdout +os_, or_ = verifier('verify_strict.py'), verifier('verify_relaxed.py') +rej = [int(x) for x in os_.split('indices')[1].split('\n')[0].split()] +need(os_.strip().endswith('REJECTED_STRICT') and rej == up_idx and "['move nesting']" in os_, 'rejection control: the strict (predecessor) verifier rejects this word at exactly the %d owned-ascent events and nothing else' % len(rej)) +need(or_.strip().endswith('ACCEPTED_RELAXED'), 'relaxed verifier (only the owned-move direction rule changed, paid |delta dim| either way) accepts every event') +# ---- (1b) the odd grid (framework change): certificate, heights, odd divisions, scans, the odd verifier ------- +Smin = 1 +for d_ in odd_dens: Smin = Smin * d_ // math.gcd(Smin, d_) +def val_(m, p_): + c = 0 + while m % p_ == 0: m //= p_; c += 1 + return c +h3 = max([val_(d_, 3) for d_ in odd_dens] or [0]); h5 = max([val_(d_, 5) for d_ in odd_dens] or [0]) +need(Smin == SC == 1125 and not bad_S and all(sm(d_, (3, 5)) for d_ in odd_dens) and (h3, h5) == (2, 3), + 'certificate: S = 1125 = 3^2 5^3 times every prefix row and every pre-ADD product has dyadic entries (0 failures over %d odd denominators); the 3-adic and 5-adic heights are %d and %d and no other prime occurs; S is minimal (the least common multiple of the odd parts of all denominators is %d)' % (len(odd_dens), h3, h5, Smin)) +need(v2max == 24, 'width debt per unfinished context: 2-adic denominator height %d bits (odd part at most 1125, 10.1 bits), largest denominator of any row or product 2^%.2f; the coefficients are given by their own bit lengths below (numerators up to %d bits, denominators up to %d bits)' % (v2max, math.log2(dmax), nbits, dbits)) +need(all(any(s_ % d_ for d_ in odd_dens) for s_ in (375, 225, 75, 45, 15, 25, 9, 1)), 'S = 375 (= 1125/3), 225 (= 1125/5), 75, 45, 15, 25, 9 and 1 are each insufficient (some odd denominator does not divide them)') +oddfinal = sum(1 for r in range(NR) if not all(dy(v) for v in row[r].values())) +need(oddfinal == 0, 'every one of the %d final rows (public and owned) has dyadic entries: no odd denominator survives to an output' % NR) +n_odd = sum(odd_events.values()); scans = 2 * n_odd +need((odd_events['SCALE'], odd_events['ADD'], odd_events['COPY'], n_odd, scans) == (60, 4065, 0, 4125, 8250), + 'odd divisions per call: %d SCALE and %d ADD events have an odd denominator = %d divisions = %d scans (one multiply-and-check, one division, each a least-significant-bit-first pass), listed separately from the reviewed scalar count' % (odd_events['SCALE'], odd_events['ADD'], n_odd, scans)) +need(abs(math.log2(float(mass)) - 36.54) < 0.005 and 2 * (math.log2(10) + math.log2(float(mass))) < 80, 'largest l1 mass of S times a row or product at any prefix: 2^%.2f (the magnitude debt per unfinished context, scale included); 2 (log2 10 + %.2f) = %.2f < 80, so 80 t < d replaces the 82 t < d of the dyadic-caller-mass placeholder form' % (math.log2(float(mass)), math.log2(float(mass)), 2 * (math.log2(10) + math.log2(float(mass))))) +def vodd(*a): + return subprocess.run([sys.executable, '-I', '-B', os.path.join(HERE, 'verify_host3_odd.py'), data('word.json.gz')] + [str(x) for x in a], capture_output=True, text=True) +v1125, v375, v225, v1 = vodd(1125), vodd(375), vodd(225), vodd(1) +need('PASS_HOST3' in v1125.stdout, 'odd verifier (verify_host3_odd.py: A-membership, |q|+1 < 2^16, S certificate on every prefix row and pre-ADD product, public rows dyadic) accepts the word at S = 1125') +need(v375.returncode != 0 and v375.stderr.strip().endswith('AssertionError: 36915') and v225.returncode != 0 and v225.stderr.strip().endswith('AssertionError: 1101') and v1.returncode != 0 and v1.stderr.strip().endswith('AssertionError: 152'), 'odd verifier rejects S = 375 at event 36915 and S = 225 at event 1101 (the two divisors of 1125 by 3 and by 5), and S = 1 at event 152; controls.py runs the other rejections') +H = W['hosted']; al, be = Q(H['alpha']), Q(H['beta']); a2, b2 = Q(H['alpha2']), Q(H['beta2']); DP = H['Dports'] +live = W['live']; X = set(live); Y = {r + 112 for r in live}; X2 = H['X2']; Y2 = H['Y2']; X2s = set(X2); Y2s = set(Y2) +BP = [i for i in range(104) if i not in set(DP)]; dX = {live[i] for i in DP} +need(H['mode'] == 'mix-t0' and (al, be, a2, b2) == (-1, Q(1, 2), -1, 0) and len(DP) == len(set(DP)) == len(X2) == len(Y2) == 96 and len(BP) == 8 and not ((X2s | Y2s) & (X | Y)) and len(X2s | Y2s) == 192 and len(live) == len(W['ports']) == 104, + 'two port types: 96 ports in the two-chain form (second mains, plane 2 alpha2=%s beta2=%s) and 8 ports in the hosted form (pair alpha=%s beta=%s, t = %s, no second mains)' % (a2, b2, al, be, al * be)) +x2of = dict(zip(X2, Y2)); bad = 0 +for r in range(NR): + if r >= n: ex = {} + elif r in X: ex = {r: Q(1)} if r in dX else {r: Q(1), r + 112: al} + elif r in Y: ex = {r - 112: Q(1), r: Q(1)} if r - 112 in dX else {r - 112: be, r: 1 + al * be} + elif r in X2s: ex = {r: Q(1), x2of[r]: a2} + elif r in Y2s: ex = {r: Q(1)} + else: ex = {r: Q(1)} + bad += row[r] != ex +need(bad == 0, 'endpoint exact on all %d public and owned rows: two-chain ports X=x, Y=x+y, X2=x2-y2, Y2=y2; hosted ports X=x-y, Y=(x+y)/2; helpers identity, owned empty' % NR) +for i, (r, q) in enumerate(zip(live, W['ports'])): + if fr[W['initial'][r]] != [q] or dim[W['final'][r]] != 9 or dim[W['initial'][r + 112]] != 0 or sp[W['final'][r + 112]] != frozenset(x for x in range(512) if not (x & q).bit_count() % 2): raise SystemExit('FAIL main frames') +for i, x2, y2 in zip(DP, X2, Y2): + r = live[i] + if W['initial'][x2] != W['initial'][r] or W['final'][x2] != W['final'][r] or W['initial'][y2] != W['initial'][r + 112] or W['final'][y2] != W['final'][r + 112]: raise SystemExit('FAIL second main frames') +need(True, '104 literal central ports; the second mains of the 96 two-chain ports carry the same initial and final frame labels as the first mains (declared: same-label second mains)') +main = X | Y | X2s | Y2s +hel = Counter(dim[W['final'][r]] - dim[W['initial'][r]] for r in range(n) if r not in main) +need(min(hel) > 0 and all(sp[W['initial'][r]] < sp[W['final'][r]] for r in range(n) if r not in main), 'every helper strictly ascends (rank > 0); %d helpers, %d mains, %d public' % (sum(hel.values()), len(main), n)) +print(' events', len(W['program']), 'public', n, 'owned roles', NO, 'peak owned', peak, 'owned lifetimes', life, 'dirty owned erasures', dirty, 'max |coefficient|', maxq) +W19 = json.load(gzip.open(data('prior_word_6919.json.gz'), 'rt')); WB = json.load(gzip.open(data('prior_word_6932.json.gz'), 'rt')); W31 = json.load(gzip.open(data('prior_word_6931.json.gz'), 'rt')) +need(peak == 40 and len(W['program']) == 71069 and n == 1452 and sum(hel.values()) == 1052, 'peak owned fields %d; events %d; public %d; helpers %d (the #6932 word, data/prior_word_6932.json.gz: events %d, public %d, helpers %d)' % (peak, len(W['program']), n, sum(hel.values()), len(WB['program']), len(WB['initial']), len(WB['initial']) - 400)) +def lives_of(Wx): + st = {}; lf = Counter(); om = Counter() + for e_ in Wx['program']: + if e_[0] == 'INIT': st[e_[1]] = e_[2] + elif e_[0] == 'CLEAR': lf[(st.pop(e_[1]), e_[2])] += 1 + elif e_[0] == 'MOVE' and e_[4]: om[(e_[2], e_[3])] += 1 + return lf, om +lfn, omn = lives_of(W); lfo, omo = lives_of(WB) +pkWB = 0; lvWB = 0 +for e_ in WB['program']: + if e_[0] == 'INIT': lvWB += 1; pkWB = max(pkWB, lvWB) + elif e_[0] == 'CLEAR': lvWB -= 1 +need(W['frames'] == WB['frames'] and lfn == lfo and omn == omo and sum(lfn.values()) == 54 and W['owned_fields'] == WB['owned_fields'] == 51 and sum(omn.values()) == sum(omo.values()), + 'owned side against the #6932 word: the same frame table (%d frames), the same %d owned lifetimes as a multiset of (initial frame, clear frame), the same multiset of %d owned MOVEs (a, b), the same %d owned fields; only the timing differs, so the peak of concurrent owned fields is %d here and %d there (retiming only)' % (len(W['frames']), sum(lfn.values()), sum(omn.values()), W['owned_fields'], peak, pkWB)) +sc = [e for e in W['program'] if e[0] == 'SCALE'] +hX = {live[i] for i in BP}; gpos = {} +for k_, e in enumerate(W['program']): + if e[0] == 'SCALE' and e[1] in hX and e[1] not in gpos: gpos[e[1]] = (k_, Q(e[2])) +need(sorted(k for k, _ in gpos.values()) == list(range(8)) and {v for _, v in gpos.values()} == {Q(1, 2)} and len(gpos) == 8 and [e_[0] for e_ in W['program'][:8]] == ['SCALE'] * 8, 'gauge: the first 8 events of the word are the 8 SCALEs by 1/2 of the hosted-port mains X (events %d to %d), so the clause of the dyadic words \"the first 8 SCALEs are the hosted-port gauge\" holds literally for this word; the gauge is in any case covered by the exact endpoint X = x - y, Y = (x + y)/2' % (min(k for k, _ in gpos.values()), max(k for k, _ in gpos.values()))) + +# ---- (2) the roots ------------------------------------------------------------------------------ +RC = ldmod(os.path.join(HERE, 'root_check.py'), 'rootcheck') +RA = json.load(open(data('root_A.json'))); RB = json.load(open(data('root_B.json'))); RB0 = json.load(open(data('control_root_B_other_gauge.json'))) +need(RC.run(RA) == [], 'type A root (two #6833 chain roots, t = 0): 21/21 units of each chain regenerated, cross Gram 0, SPEC-level identities, each stage variable once and affine') +Rm = copy.deepcopy(RA); Rm['X'][5][3] = str(Q(Rm['X'][5][3]) + 1) +need(RC.blocks(Rm) != [] and RC.run(Rm) != [], 'wrong-root control A: a wrong X entry in the type A root FAILS (%s)' % RC.blocks(Rm)[:1]) +hsrc = open(os.path.join(HERE, 'root_check_hosted.py')).read() +def hosted_run(RR): + """root_check_hosted.py (the checker of the hosted root of #6889) executed on RR; returns its list of failed lines.""" + code = hsrc.replace("R=json.load(open(sys.argv[1] if len(sys.argv)>1 else os.path.join(os.path.dirname(os.path.abspath(__file__)),'data','root.json')))", 'R=_R').replace('sys.exit(1 if bad else 0)', '') + ns = {'_R': RR, 'sys': sys, '__file__': os.path.join(HERE, 'root_check_hosted.py'), 'print': lambda *a, **k: None} + exec(compile(code, 'root_check_hosted.py', 'exec'), ns) + return ns['bad'] +need(hosted_run(RB) == [], 'type B root (the hosted root of #6889, t = -1/2, n = 38, pairs (-1, 1/2)): every line of its checker passes') +Rm = copy.deepcopy(RB); Rm['X'][5][3] = str(Q(Rm['X'][5][3]) + 1) +need(hosted_run(Rm) != [], 'wrong-root control B: a wrong X entry in the hosted root FAILS its checker') +Rm = copy.deepcopy(RA); Rm['X'][7], Rm['X'][9] = Rm['X'][9], Rm['X'][7] +need(RC.run(Rm) != [], 'wrong-root control: two unit rows swapped in the type A root FAIL') + +# ---- (3) the joint caller ----------------------------------------------------------------------- +J = json.load(open(data('caller.json'))) +pM = 2147483629 +IM = next(pow(g, (pM - 1) // 4, pM) for g in range(2, 99) if pow(g, (pM - 1) // 2, pM) == pM - 1); HALF = (pM + 1) // 2 +fm = lambda x: (lambda f: f.numerator % pM * pow(f.denominator, pM - 2, pM) % pM)(Q(x)) +def root_pairs(root): + dot = lambda a_, b_: sum(Q(u) * Q(v) for u, v in zip(a_, b_) if Q(u) and Q(v)); out = {} + for k, s_ in enumerate(root['stages']): + u, v = s_['units']; out[k + 1] = (dot(root['Y'][u], root['X'][v]), dot(root['Y'][v], root['X'][u])) + return out +mask_inc = lambda root, c: [int(c in set(s['mask'])) for s in root['stages']] +PB = root_pairs(RB); TA, TB = J['types']['A'], J['types']['B'] +need(set(PB.values()) == {(al, be)} and len(PB) == 18, 'every one of the 18 hosted stages of root B has the word\'s pair (alpha,beta)=(%s,%s), read from the root' % (al, be)) +need(all(TA['diagonal'][c][2:] == mask_inc(RA, c) for c in range(40)) and all(TB['diagonal'][c][2:] == mask_inc(RB, c) for c in range(38)), 'caller target exponents equal the mask incidence of the root of their type, field by field and stage by stage (type A 40 roles, type B 38 roles)') +need(Q(TA['alpha2']) == a2 and Q(TA['beta2']) == b2 and all(str(e[3][2]) == str(al) and str(e[3][3]) == str(be) for e in J['events'] if e[0] == 'J'), 'type A plane-2 parameters and every joint contact\'s hosted pair equal the word\'s') +need(J['roles'] == 78 and J['stages'] == 18 and sum(e[0] == 'J' for e in J['events']) == 18, 'joint caller: 78 roles (type A 0-39, type B 40-77), 18 joint contacts (one per stage; HOST2 at the two-chain ports and HOST at the hosted ports in one event)') +need(sorted(TA['ports']) == sorted(DP) and sorted(TB['ports']) == BP and len(TA['ports']) == 96 and len(TB['ports']) == 8, 'port types of the caller equal the word\'s: type A = the 96 two-chain ports, type B = the 8 hosted ports') +Jp = copy.deepcopy(J); Jp['types']['A']['ports'][0], Jp['types']['B']['ports'][0] = Jp['types']['B']['ports'][0], Jp['types']['A']['ports'][0] +need(sorted(Jp['types']['A']['ports']) != sorted(DP) or sorted(Jp['types']['B']['ports']) != BP, 'swapped-assignment control: exchanging the types of one two-chain port and one hosted port in the caller breaks the match with the word') +NRr = J['roles'] +def target(Jc, role, qv, Dv): + t, off = (Jc['types']['A'], 0) if role < 40 else (Jc['types']['B'], 40); dg = t['diagonal'][role - off] + c = pow(qv, dg[0] % 4, pM) + for k, bit in enumerate(dg[2:]): + if bit: c = c * Dv[k + 1] % pM + return c +def replay(Jc, qv, Dv, a2_=a2, pairs=PB, types='AB'): + Rm_ = [[int(i == j) for j in range(NRr)] for i in range(NRr)]; qi = pow(qv, pM - 2, pM); seen = [] + for e in Jc['events']: + tag = e[0] + if tag == 'J': + st = e[1]; seen.append(st); d = Dv[st] + if 'A' in types: + src, dst, x2, y2 = e[2] + Rm_[dst] = [(a_ + qi * b_) % pM for a_, b_ in zip(Rm_[dst], Rm_[src])] + Rm_[x2] = [(a_ + fm(a2_) * qv % pM * b_) % pM for a_, b_ in zip(Rm_[x2], Rm_[y2])] + for r_ in (src, dst, x2, y2): Rm_[r_] = [a_ * d % pM for a_ in Rm_[r_]] + if 'B' in types: + src, dst = e[3][0], e[3][1]; a_, b_ = fm(pairs[st][0]), fm(pairs[st][1]); tt_ = a_ * b_ % pM + ns = [(x + a_ * qv % pM * y) % pM * d % pM for x, y in zip(Rm_[src], Rm_[dst])] + nd = [(b_ * qi % pM * x + (1 + tt_) * y) % pM * d % pM for x, y in zip(Rm_[src], Rm_[dst])] + Rm_[src], Rm_[dst] = ns, nd + continue + if tag not in types: continue + op = e[1] + if op == 'ADD': Rm_[e[2]] = [(a_ + fm(e[4]) * b_) % pM for a_, b_ in zip(Rm_[e[2]], Rm_[e[3]])] + elif op == 'SCALE': c = fm(e[3]); Rm_[e[2]] = [a_ * c % pM for a_ in Rm_[e[2]]] + elif op == 'SWAP': Rm_[e[2]], Rm_[e[3]] = Rm_[e[3]], Rm_[e[2]] + elif op == 'QUERY': c = pow(qv, e[4] % 4, pM); Rm_[e[2]] = [(a_ + c * b_) % pM for a_, b_ in zip(Rm_[e[2]], Rm_[e[3]])] + elif op == 'LAMBDA': + s_ = e[3]; c = ((1 + s_ * IM) * HALF + (1 - s_ * IM) * HALF * qv * qv) % pM; Rm_[e[2]] = [a_ * c % pM for a_ in Rm_[e[2]]] + elif op == 'IDLE_ONE': + c = 1 + for k in e[3]: c = c * Dv[k] % pM + Rm_[e[2]] = [a_ * c % pM for a_ in Rm_[e[2]]] + else: raise SystemExit('FAIL unknown caller event ' + op) + if seen != list(range(1, 19)): return 10 ** 6 + roles = [r for r in range(NRr) if ('A' in types and r < 40) or ('B' in types and r >= 40)] + return sum(Rm_[i][j] != (target(Jc, i, qv, Dv) if i == j else 0) for i in roles for j in range(NRr)) +rnd = random.Random(11); tot = cnt = 0 +for qv in (1, IM, pM - 1, pM - IM): + for _ in range(3): + Dv = {s_: rnd.randrange(2, pM) for s_ in range(1, 19)}; tot += replay(J, qv, Dv); cnt += 1 +need(tot == 0, 'composition: the ONE joint stream (78 roles, one stage value per stage common to both types) replays to the block-diagonal target at all four central characters (%d evaluations, 0 bad of %d entries each; all cross-type blocks are 0)' % (cnt, NRr * NRr)) +for ty in 'AB': + t2 = sum(replay(J, qv, {s_: rnd.randrange(2, pM) for s_ in range(1, 19)}, types=ty) for qv in (1, IM, pM - 1, pM - IM)) + need(t2 == 0, 'type %s alone replays to its own target at the four characters' % ty) +Dv = {s_: rnd.randrange(2, pM) for s_ in range(1, 19)} +def rej(Jc=J, **kw): return replay(Jc, IM, Dv, **kw) +def mut(f): + Jm = copy.deepcopy(J); f(Jm); return Jm +idx = lambda Jc, pred: next(i for i, e in enumerate(Jc['events']) if pred(e)) +first = lambda tag, op: (lambda e: e[0] == tag and e[1] == op) +ctr = [('type A wrong alpha2', rej(a2_=Q(1)))] +for nm, fn in (('type B alpha sign', lambda x: x.__setitem__(0, -x[0])), ('type B beta sign', lambda x: x.__setitem__(1, -x[1])), ('type B pair swapped', lambda x: x.reverse())): + pm = {k: list(v) for k, v in PB.items()}; fn(pm[13]); ctr.append((nm + ' at stage 13', rej(pairs=pm))) +ctr.append(('type B root in the other gauge', rej(pairs=root_pairs(RB0)))) +for ty in 'AB': + ctr.append(('type %s deleted idle' % ty, rej(mut(lambda Jm: Jm['events'].pop(idx(Jm, first(ty, 'IDLE_ONE'))))))) + ctr.append(('type %s deleted query' % ty, rej(mut(lambda Jm: Jm['events'].pop(idx(Jm, first(ty, 'QUERY'))))))) + def flip(Jm): + j0 = idx(Jm, lambda e: e[0] == 'J'); k = max(i for i in range(j0) if Jm['events'][i][0] == ty and Jm['events'][i][1] == 'LAMBDA'); Jm['events'][k][3] *= -1 + ctr.append(('type %s flipped LAMBDA before the first contact' % ty, rej(mut(flip)))) +for nm, b in ctr: print(' control %-52s -> %d bad' % (nm, b)) +need(all(b > 0 for _, b in ctr), 'controls: wrong alpha2, a wrong or other-gauge hosted pair, a deleted idle, a deleted query, a flipped LAMBDA at a contact, in each type: all rejected by the replay') +for ty, role in (('A', 3), ('B', 3)): + Jm = mut(lambda x: x['types'][ty]['diagonal'][role].__setitem__(2 + 4, x['types'][ty]['diagonal'][role][2 + 4] ^ 1)) + need(rej(Jm) > 0 and Jm['types'][ty]['diagonal'][role][2:] != (mask_inc(RA, role) if ty == 'A' else mask_inc(RB, role)), 'mask control, type %s: a wrong mask bit in the caller target fails the replay and the mask comparison' % ty) +need(rej(mut(lambda x: x['events'].insert(idx(x, lambda e: e[0] == 'J'), ['A', 'ADD', 5, 45, '1']))) > 0 and rej(mut(lambda x: x['events'].insert(idx(x, lambda e: e[0] == 'J'), ['B', 'ADD', 45, 5, '1']))) > 0, 'cross-type controls: one ADD from a type A role into a type B role, and the other way, are rejected: the types do not interact') +def swapst(x): + js = [e for e in x['events'] if e[0] == 'J']; js[0][1], js[1][1] = js[1][1], js[0][1] +def rot(x): + e = x['events'][idx(x, lambda e: e[0] == 'J')]; a = e[2]; e[2] = [a[0], a[1], a[3], a[2]] +need(rej(mut(swapst)) > 0 and rej(mut(rot)) > 0, 'controls: two joint contacts with exchanged stages, and exchanged second-plane roles in a contact, are rejected') +print(' note: the composition reads each root only through its masks and pairs; wrong X or Y entries are caught by the root checkers above') + +# ---- (4) invoice --------------------------------------------------------------------------------- +def kappa(T, P): + rs = sorted(set(T) | set(P)); ln = {r: D(r).ln() for r in rs} + e = lambda k: sum((D(T.get(r, 0)) - D(P.get(r, 0))) * (ln[r] * (1 - k)).exp() for r in rs) + lo, hi = D('1e-6'), D('0.05') + for _ in range(220): + m = (lo + hi) / 2 + if e(m) > 0: lo = m + else: hi = m + return lo +def root_fields(RR): + S_ = RR['stages']; Xr = RR['X']; Yr = RR['Y']; F = [] + for c in range(RR['n']): + ms = [k for k, s_ in enumerate(S_) if c in set(s_['mask'])] + F.append((ms, [k for k in ms if any(Q(Yr[u][c]) != 0 for u in S_[k]['units'])])) + dot = lambda a_, b_: sum(Q(u) * Q(v) for u, v in zip(a_, b_) if Q(u) and Q(v)); planes = [] + for s_ in S_: + u, v = s_['units']; planes.append(2 if dot(Yr[u], Xr[v]) == 0 and dot(Yr[v], Xr[u]) == 0 else 1) + return F, planes, RR['N'] - sum(len(s_['units']) for s_ in S_) +def outer(F, planes, thin, ports, nst=18): + T = Counter(); P = Counter(); hc = Counter() + for ms, host in F: + T[8 * len(ms) + 1] += ports + for k in host: hc[k] += 1 + run = 0; prev = None + for k in ms: + if k in host: + if run: P[8 * run] += ports + run = 0; prev = None; continue + if prev is not None and k == prev + 1: run += 1 + else: + if run: P[8 * run] += ports + run = 1 + prev = k + if run: P[8 * run] += ports + for k in range(nst): + if hc[k] > 2 * planes[k]: P[8] += ports * (hc[k] - 2 * planes[k]) + P[1] += ports * thin + return T, P +def census(Wx): + nx = len(Wx['initial']); lx = set(Wx['live']); mx = lx | {r_ + 112 for r_ in lx} + if Wx.get('hosted', {}).get('X2'): mx |= set(Wx['hosted']['X2']) | set(Wx['hosted']['Y2']) + dx = [len(b_) for b_ in Wx['frames']] + return (Counter(dx[Wx['final'][r_]] - dx[Wx['initial'][r_]] for r_ in range(nx) if r_ not in mx), Counter(abs(dx[e_[3]] - dx[e_[2]]) for e_ in Wx['program'] if e_[0] == 'MOVE')) +def invoice_roots(hel_, paid_, roots): + T = Counter(); P = Counter() + for RR, ports in roots: + F, pl, th = root_fields(RR); t_, p_ = outer(F, pl, th, ports); T.update(t_); P.update(p_) + for r, k in hel_.items(): T[r] += 18 * k + for r, k in paid_.items(): P[r] += 18 * k + return T, P +bi = json.load(open(data('base_invoice.json'))) +T0 = Counter({int(k): v for k, v in bi['targets'].items()}); P0 = Counter({int(k): v for k, v in bi['paid'].items()}) +chain = [(list(range(18)), list(range(18)))] + [(list(range(i, 9)), [i]) for i in range(9)] + [(list(range(9, 10 + m)), [9 + m]) for m in range(9)] + [([], [])] +Tc_, Pc_ = outer(chain, [1] * 18, 3, 104) +Tb, Pb = Counter(Tc_), Counter(Pc_) +for r_, k_ in bi['helpers'].items(): Tb[int(r_)] += 18 * k_ +for r_, k_ in bi['local_paid'].items(): Pb[int(r_)] += 18 * k_ +need(+Tb == T0 and +Pb == P0, 'control: the same code rebuilds the #6833 invoice term for term') +kb = kappa(T0, P0) +need(abs(kb - D(bi['kappa_literal'])) < D('1e-17'), 'control: #6833 kappa %s' % str(kb)[:20]) +nA, nB = len(TA['ports']), len(TB['ports']); cnt_ty = {'A': nA, 'B': nB} +T = Counter(); P = Counter(); nj = 0 +for e in J['events']: + if e[0] == 'J': nj += 1; T.update(hel); P.update(paid) + elif e[1] == 'QUERY': P[1] += cnt_ty[e[0]] + elif e[1] == 'IDLE_ONE': P[8 * len(e[3])] += cnt_ty[e[0]] +for ty, t in (('A', TA), ('B', TB)): + for dg in t['diagonal']: T[int(dg[0] % 2) + 8 * sum(dg[2:])] += cnt_ty[ty] +T2, P2 = invoice_roots(hel, paid, ((RA, nA), (RB, nB))) +need(nj == 18 and +T == +T2 and +P == +P2, 'the invoice recounted from the emitted joint events equals the invoice rebuilt from the TWO ROOTS (per type, per port count) plus the word, term for term (18 native calls, helpers and paid jobs once per call)') +kn = kappa(T, P); Tn, Pn = T, P +need(abs(kn - D('0.0036238597350766513')) < D('1e-17'), 'new kappa %s' % str(kn)[:26]) +S = sum(r * (Tn.get(r, 0) - Pn.get(r, 0)) for r in set(Tn) | set(Pn)) +need(S == 1520, 'rank-mass surplus S = %d (104*34 - 36*56, net of the 56 owned-ascent mass per call)' % S) +Wp = json.load(gzip.open(data('prior_word_6911.json.gz'), 'rt')); hp, pp = census(Wp) +Tp, Pp = invoice_roots(hp, pp, ((RA, nA), (RB, nB))); kp = kappa(Tp, Pp) +need(abs(kp - D('0.0035194870841667550646')) < D('1e-17'), 'control: the #6911 word through the two roots (96 + 8 ports) and the same code gives %s (its crossing)' % str(kp)[:26]) +W17 = json.load(gzip.open(data('prior_word_6917.json.gz'), 'rt')); h17, p17 = census(W17) +T17, P17 = invoice_roots(h17, p17, ((RA, nA), (RB, nB))); k17 = kappa(T17, P17) +need(abs(k17 - D('0.0035301044238995680260')) < D('1e-17'), 'control: the #6917 word through the two roots (96 + 8 ports) and the same code gives %s (its crossing)' % str(k17)[:26]) +h19, p19 = census(W19); T19, P19 = invoice_roots(h19, p19, ((RA, nA), (RB, nB))); k19 = kappa(T19, P19) +need(abs(k19 - D('0.0035952826938257874494')) < D('1e-17'), 'control: the #6919 word (data/prior_word_6919.json.gz) through the two roots (96 + 8 ports) and the same code gives %s (the crossing of #6919)' % str(k19)[:26]) +h31, p31 = census(W31); T31, P31 = invoice_roots(h31, p31, ((RA, nA), (RB, nB))); k31 = kappa(T31, P31) +need(abs(k31 - D('0.0036041048151080063894')) < D('1e-17'), 'control: the #6931 word (data/prior_word_6931.json.gz) through the two roots (96 + 8 ports) and the same code gives %s' % str(k31)[:26]) +h32, p32 = census(WB); Tb0, Pb0 = invoice_roots(h32, p32, ((RA, nA), (RB, nB))); kbase = kappa(Tb0, Pb0) +need(abs(kbase - D('0.0036210586137481460837')) < D('1e-17'), 'control: the #6932 word (data/prior_word_6932.json.gz, the word this one is compared with) through the two roots (96 + 8 ports) and the same code gives %s' % str(kbase)[:26]) +need(sum(r * (Tb0.get(r, 0) - Pb0.get(r, 0)) for r in set(Tb0) | set(Pb0)) == 1520, 'the #6932 word has rank-mass surplus S = 1520 as well') +print(' gain over the #6932 word: %.5f%% (exactly kappa_new / kappa_6932 - 1 = %s)' % (100 * float(kn / kbase - 1), str(kn / kbase - 1)[:12])) +need(str(100 * (kn / kbase - 1))[:5] == '0.077', 'the gain over the #6932 word (crossing %s) is +0.077%% (ratio - 1 = %s); no other comparison is made' % (str(kbase)[:22], str(kn / kbase - 1)[:12])) +dT = {r: Tn[r] - Tb0[r] for r in sorted(set(Tn) | set(Tb0)) if Tn[r] != Tb0[r]}; dPp = {r: Pn[r] - Pb0[r] for r in sorted(set(Pn) | set(Pb0)) if Pn[r] != Pb0[r]} +print(' T change against the #6932 word (all 18 calls):', dT); print(' P change against the #6932 word (all 18 calls):', dPp) +need(dT == {1: 18, 6: 36, 9: -36} and dPp == {1: -108, 2: 36, 4: -18, 5: -18, 6: 18} and sum(r * c for r, c in dT.items()) == sum(r * c for r, c in dPp.items()), + 'T and P change against the #6932 word, per call (all 18 calls divided by 18): T %s (productive fields by rank: one more of rank 1, two more of rank 6, two fewer of rank 9), P %s (paid jobs by rank); the rank mass of T and of P changes by the same amount (%d), so S stays %d' % ({r: c // 18 for r, c in dT.items()}, {r: c // 18 for r, c in dPp.items()}, sum(r * c for r, c in dT.items()) // 18, S)) +dDT = sum(c * r * D(r).ln() for r, c in dT.items()) / 18; dDP = -sum(c * r * D(r).ln() for r, c in dPp.items()) / 18 +need(dDT + dDP < 0, 'the whole gain is in the kernel term D = sum (T - P) r ln r, per call: the T change moves it by %s and the P change by %s (net %s; the rank mass S stays %d). The word is a full rebuild, so this is the net difference of the two whole words, not the effect of any single move' % (str(dDT)[:8], str(dDP)[:8], str(dDT + dDP)[:8], S)) +nlA = sum(1 for e in J['events'] if e[0] == 'A' and e[1] == 'LAMBDA'); nlB = sum(1 for e in J['events'] if e[0] == 'B' and e[1] == 'LAMBDA') +lam_cost = nA * nlA + nB * nlB +need((nlA, nlB) == (124, 82) and S - lam_cost < 0, 'review question, stated plainly: type A callers have %d LAMBDA events and type B callers %d; if each LAMBDA had to be paid as a rank-1 job per port, the cost is %d*%d + %d*%d = %d and S = %d - %d = %d < 0, so no crossing exists; kappa rests on pricing LAMBDA as ordinary work, as in every caller of this line' % (nlA, nlB, nA, nlA, nB, nlB, lam_cost, S, lam_cost, S - lam_cost)) + +# ---- (5) raw bound, growth, alphabet -------------------------------------------------------------- +def swaps(sel): + wanted = set(range(len(sel))); return len(list(zip(sorted(set(sel) - wanted), sorted(wanted - set(sel))))) +def shim(ty): + t = J['types'][ty]; off = t['offset']; ev = [] + for e in J['events']: + if e[0] == 'J': ev.append(['HOST', e[1]]) + elif e[0] == ty: + e = list(e[1:]) + if e[0] in ('ADD', 'SWAP', 'QUERY'): e[1] -= off; e[2] -= off + else: e[1] -= off + ev.append(e) + return dict(events=ev, roles=t['roles'], ambient_rank=J['ambient_rank'], diagonal=t['diagonal']) +def rest_of(C, ports): + ev = C['events']; roles = C['roles']; amb = C['ambient_rank']; mx = mn = mp = 0 + for role, (qp, zero, *sel) in enumerate(C['diagonal']): + axes = ([0] if qp else []) + [a for st, y in enumerate(sel, 1) if y for a in range(9 + 8 * (st - 1), 9 + 8 * st)] + k = swaps(axes); mx += 2 * k * ports; mn += 2 * bool(qp) * ports; mp += int(qp == -1) * ports + ie = 0; qn = qph = 0 + for e in ev: + if e[0] == 'IDLE_ONE': ie += 2 * swaps([a for st in e[2] for a in range(9 + 8 * (st - 1), 9 + 8 * st)]) * ports + elif e[0] == 'QUERY': qn += 2 * ports; qph += int(e[3] == -1) * ports + return 32 * roles * ports * len(ev) + sum(e[0] == 'QUERY' for e in ev) * 16 * ports + roles * ports * 26 + (mx + mn + mp) * 1000 + ie * 1000 + (qn + qph) * 1000 +rest = rest_of(shim('A'), nA) + rest_of(shim('B'), nB) +allow = upper = 0 +for e in W['program']: + if e[0] in ('INIT', 'CLEAR'): allow += 2 + elif e[0] == 'SCALE': + q = Q(e[2]); a_, d_ = abs(q.numerator), q.denominator + allow += 2 * (abs(a_.bit_length() - d_.bit_length()) + int(q < 0)); upper += 4 * (a_.bit_length() + d_.bit_length() + 1) + elif e[0] in ('ADD', 'COPY'): + q = Q(e[3]); a_, d_ = abs(q.numerator), q.denominator + allow += 2 * (3 + a_.bit_length() - 1 + bin(a_).count('1') + d_.bit_length() - 1); upper += 4 * (a_.bit_length() + bin(a_).count('1') + d_.bit_length() + 1) +routes = (sum(paid.values()) + 2 * sum(hel.values()) + 208 + 2 * nA + 4 * 104 + 4 * nA + 4 * life) * 1000 # boundary terms of the second planes only at the two-chain ports +per_call = allow + routes; per_up = upper + routes +raw_lit, raw_act, raw_rev = 18 * 10 ** 7 + rest, 18 * per_call + rest, 18 * per_up + rest +print(' raw pieces: per-port terms = %d; per call (word scalar + routes) = %d (allowance) or %d (reviewed upper) against the displayed 10^7' % (rest, per_call, per_up)) +need((raw_lit, raw_act, raw_rev) == (802809952, 815759836, 832029136) and max(raw_lit, raw_act, raw_rev) < 10 ** 9, 'raw bound, all three definitions below 10^9: literal %d, actual per-call work %d, reviewed scalar upper %d (margins %d, %d, %d); the %d odd divisions are inside these bit-length terms (argued) and are also listed as %d scans per call' % (raw_lit, raw_act, raw_rev, 10 ** 9 - raw_lit, 10 ** 9 - raw_act, 10 ** 9 - raw_rev, n_odd, scans)) +debit = 1000 * lam_cost +need(raw_rev + debit == 844589136 and raw_rev + debit < 10 ** 9, 'conservative recharge: the reviewed upper count %d already contains every LAMBDA event of the caller (through the envelope 32 * roles * ports * len(events); rest_of: the events of each type include its LAMBDA events); the second check of #6913 counts the LAMBDA translations a second time, %d LAMBDA jobs at 1,000 each = %d for this mix, on top of the whole reviewed bound; with the scale applied once at the boundary (no per-call charge) the total is %d, below 10^9 (margin %d), so no reading of the raw count exceeds 10^9 with this caller; no term of the outer ledger reads either count' % (raw_rev, lam_cost, debit, raw_rev + debit, 10 ** 9 - raw_rev - debit)) +sc_cost = 4 * (SC.bit_length() + 1 + 1) + 4 * (1 + SC.bit_length() + 1) # one SCALE by S = 1125 at entry and one by 1/1125 at exit, at the reviewed upper rate 4 * (bits(a) + bits(d) + 1) +per_in = 18 * n * sc_cost +need(sc_cost == 104 and raw_rev + per_in == 834747280 and raw_rev + per_in + debit == 847307280 and raw_rev + per_in + debit < 10 ** 9, 'per-input scale reading (every one of the %d public registers scaled by 1125 at entry and unscaled at exit on each of the 18 calls, %d x %d x 18 = %d, an upper reading): upper %d; with the second LAMBDA count %d, below 10^9 (margin %d)' % (n, sc_cost, n, per_in, raw_rev + per_in, raw_rev + per_in + debit, 10 ** 9 - raw_rev - per_in - debit)) +Rm_paid = sum(r_ * v_ for r_, v_ in Pn.items()) +print(' CONSTANT SUBSTITUTION (FINITE-PRECOMPILATION.md:278-283): events %d; scalar allowance %d; reviewed scalar upper %d; routes %d; per call %d or %d; raw upper %d (allowance) or %d (reviewed upper); paid rank mass R = %d; growth bound 2^(raw + R f) = 2^(%d + %d f) on the conservative count' % (len(W['program']), allow, upper, routes, per_call, per_up, raw_act, raw_rev, Rm_paid, raw_rev, Rm_paid)) +src_ep = open(os.path.join(HERE, 'retained', 'runtime', 'endpoint.py')).read() +need(not any(t_ in src_ep for t_ in ('10**9', '10 ** 9', '10**7', '10 ** 7', '1e9')), 'the outer ledger source contains no scalar-work or 10^9 term') +def logsum(Wx): return sum(math.log2(1 + float(abs(Q(e_[3])))) for e_ in Wx['program'] if e_[0] in ('ADD', 'COPY')) +l02 = logsum(WB) +print(' GROWTH: events %d (#6932 word %d); sum of log2(1+|q|) over the ADD coefficients %d (#6932 word %d) against 416000; peak |row entry| on any prefix 2^%.2f; peak row denominator 2^%d; coefficient bits numerator <= %d, denominator <= %d; largest |q| %s' % (len(W['program']), len(WB['program']), round(logq), round(l02), math.log2(float(pmax)), dmaxb - 1, nbits, dbits, maxq)) +big_ = sum(1 for e_ in W['program'] if e_[0] in ('ADD', 'COPY') and abs(Q(e_[3])) >= 2 ** 12) +need(round(logq) == 82770 and maxq == Q(227445, 8) and (nbits, dbits) == (24, 19) and big_ == 10 and maxq + 1 < 2 ** 16, 'sum of log2(1+|q|) %d (below 416000; the #6932 word %d); largest |q| %s = %.1f with |q| + 1 < 2^16; coefficient bits %d / %d (the #6932 word: largest |q| %s, 16 / 16); %d ADD events here have |q| >= 2^12' % (round(logq), round(l02), maxq, float(maxq), nbits, dbits, max(abs(Q(e_[3])) for e_ in WB['program'] if e_[0] in ('ADD', 'COPY')), big_)) +cf_ = [(abs(Q(e_[3])).numerator, Q(e_[3]).denominator, i_) for i_, e_ in enumerate(W['program']) if e_[0] in ('ADD', 'COPY')] +num_max = max(cf_, key=lambda t_: (t_[0], -t_[2])); den_max = max(cf_, key=lambda t_: (t_[1], -t_[2])); n40k = sum(1 for t_ in cf_ if t_[0] > 40864) +need(num_max[0].bit_length() == nbits == 24 and den_max[1].bit_length() == dbits == 19 and (num_max[2], den_max[2], n40k) == (250, 2796, 864), 'temporaries: the coefficient numerators of the ADD events reach %d bits (largest numerator %d, first at event %d) and their denominators %d bits (largest denominator %d, at event %d); %d ADD events have a numerator above 40864 (the #6932 word: none, 16 / 16 bits). A multiply-by-a, check-divisibility, divide-by-b temporary holds a times a stored value, so its coefficient factor is %d bits wide, not 16' % (num_max[0].bit_length(), num_max[0], num_max[2], den_max[1].bit_length(), den_max[1], den_max[2], n40k, nbits)) +cb = max(abs(Q(e_[4] if e_[1] == 'ADD' else e_[3])).numerator.bit_length() for e_ in J['events'] if e_[1] in ('ADD', 'SCALE')); cd = max(Q(e_[4] if e_[1] == 'ADD' else e_[3]).denominator.bit_length() for e_ in J['events'] if e_[1] in ('ADD', 'SCALE')) +need((cb, cd) == (9, 8) and round(math.log2(float(pmax)), 2) == 23.55 and dmaxb - 1 == 27, 'coefficients: caller coefficient bits %d / %d (SCALE 256 and the gauge 1/128, in the type B caller, unchanged; the type A caller now uses only +-1, +-2, SCALE -1 and SWAP); word: largest |q| %s, peak |row entry| 2^%.2f, peak row denominator 2^%d (odd part at most 1125)' % (cb, cd, maxq, math.log2(float(pmax)), dmaxb - 1)) +nid = Counter(e_[0] for e_ in J['events'] if e_[1] == 'IDLE_ONE') +need(nid == Counter({'A': 32, 'B': 68}), 'IDLE_ONE events: %d in the type A caller, %d in the type B caller (one-site idles priced as whole H8 jobs; declared, inherited)' % (nid['A'], nid['B'])) +Y2set = set(Y2) +oy = [i_ for i_, e_ in enumerate(W['program']) if e_[0] == 'ADD' and e_[1] >= n and e_[2] in Y2set] +ox = [i_ for i_, e_ in enumerate(W['program']) if e_[0] == 'ADD' and e_[1] >= n and e_[2] in X] +ox2 = [i_ for i_, e_ in enumerate(W['program']) if e_[0] == 'ADD' and e_[1] >= n and e_[2] in X2s] +oyY = [i_ for i_, e_ in enumerate(W['program']) if e_[0] == 'ADD' and e_[1] >= n and e_[2] in Y] +def owned_reads(Wx): + nx = len(Wx['initial']); Hx = Wx['hosted']; lx = Wx['live']; Xs = set(lx); Ys = {r_ + 112 for r_ in lx}; X2x = set(Hx['X2']); Y2x = set(Hx['Y2']) + return tuple(sum(1 for e_ in Wx['program'] if e_[0] == 'ADD' and e_[1] >= nx and e_[2] in grp) for grp in (Y2x, Xs, X2x, Ys)) +ob = owned_reads(WB) +def peak_owned(Wx): + live_, pk_ = 0, 0 + for e_ in Wx['program']: + if e_[0] == 'INIT': live_ += 1; pk_ = max(pk_, live_) + elif e_[0] == 'CLEAR': live_ -= 1 + return pk_ +peakb = peak_owned(WB) +need(peakb == 36 == pkWB and peak_owned(W) == peak == 40, 'peak owned fields: %d in the #6932 word, %d in this word (same number of owned lifetimes %d against %d)' % (peakb, peak, life, sum(e_[0] == 'INIT' for e_ in WB['program']))) +need((len(oy), len(ox), len(ox2), len(oyY)) == (8, 7, 1, 0) and ob == (8, 9, 2, 0), 'owned registers reading a main register: %d events read Y2 %s, %d read X %s, %d read X2 %s, none reads Y: %d events in all (the #6932 word: %d, %d, %d, %d for Y2, X, X2, Y, %d in all); the same kinds of read, three fewer; declared with A6; peak owned fields %d' % (len(oy), oy, len(ox), ox, len(ox2), ox2, len(oy) + len(ox) + len(ox2), ob[0], ob[1], ob[2], ob[3], sum(ob), peak)) + + +# ---- (6) outer conditions ---------------------------------------------------------------------- +E, SE, OUT = ldmod(os.path.join(HERE, 'retained', 'runtime', 'intervals.py'), 'intervals'), ldmod(os.path.join(HERE, 'retained', 'runtime', 'second_intervals.py'), 'second_intervals'), ldmod(os.path.join(HERE, 'retained', 'runtime', 'endpoint.py'), 'endpoint') +BITF = json.load(open(os.path.join(HERE, 'retained', 'bit', 'FRAGMENT-BIT-ADMISSION.json'))) +need(hashlib.sha256(open(os.path.join(HERE, 'retained', 'bit', 'FRAGMENT-BIT-ADMISSION.json'), 'rb').read()).hexdigest() == '86955dcd74bc3fa1a940419474d45054fa7b0366b71b242568680366923d9311' and BITF['status'] == 'PASS_TWO_FRAGMENTS_BIT_ORDINARY_00376669' and Q(BITF['ordinary_admitted']) == PIN, 'BIT pin %s = ordinary_admitted of the pinned #6726 admission file (status %s); not re-derived here' % (float(PIN), BITF['status'])) +KAPPA, TESTED = Q('.00362385973'), Q('.0036238597307') +LOW, UP = Q('.003623859735076'), Q('.003623859735077') +Tq = Counter({r: v for r, v in Tn.items() if v}); Pq = Counter({r: v for r, v in Pn.items() if v}) +need(KAPPA < TESTED < LOW < UP and TESTED < PIN and Q(BITF['raw_crossing'][0]) > Q(BITF['raw_tested']) > PIN, 'claim %s, tested %s, both strictly below the raw crossing %s; BIT side: raw crossing > raw tested saving > pin > tested price' % (float(KAPPA), float(TESTED), str(kn)[:19])) +print(' BIT margins: pin - tested complex price = %.3e; raw BIT tested saving - pin = %.1e; raw BIT crossing lower bound - raw BIT tested saving = %.3e' % (float(PIN - TESTED), float(Q(BITF['raw_tested']) - PIN), float(Q(BITF['raw_crossing'][0]) - Q(BITF['raw_tested'])))) +for name, k, pos in (('lower', LOW, 1), ('upper', UP, -1), ('tested', TESTED, 1)): + a, b = E.moment(Tq, 1 - k), E.moment(Pq, 1 - k); first = (a[0] - b[1], a[1] - b[0]) + tl, th = SE.moment(Tq, k); pl, ph = SE.moment(Pq, k); second = (tl - ph, th - pl) + need((first[0] > 0 and second[0] > 0) if pos > 0 else (first[1] < 0 and second[1] < 0), 'both interval engines (rational interval arithmetic, no Decimal): sign of the margin at the %s price endpoint' % name) +signed = Counter(Tq); signed.subtract(Pq); d = Q(0) +for r, c in signed.items(): + lg = E.log_bounds(r); d -= c * (E.mul(E.power(r, 1 - PIN), lg)[0] if c >= 0 else r * lg[1]) +need(d < 0, 'unique raw crossing through the BIT pin (derivative upper bound negative at the pin)') +cutoff, floor, power, offset = 11, 12, 1920, Q(1, 7); LPMIN, LP = 2223, 2224 +tt_ = 1 - TESTED; target, paidm = E.moment(Tq, tt_), E.moment(Pq, tt_) +alpha = E.divide(paidm, target); gamma = E.divide(E.moment(Pq, tt_ + offset), E.mul(E.power(cutoff, offset), target)) +delta = E.divide((Q(sum(Tq.values()) * floor),) * 2, E.mul(E.power(cutoff, TESTED), target)) +reserve, decay = Q(1, 10 ** 27), Q(31, 32) +need(alpha[1] < 1 - reserve and gamma[1] < decay and delta[1] < decay, 'tail ratios (interval engine): alpha %.12f gamma %.4f delta %.4f (cutoff 11, floor 12, offset 1/7, power 1920)' % (float(alpha[1]), float(gamma[1]), float(delta[1]))) +normalized = 1 / (1 + power * reserve) + 4 * decay ** power +need(normalized < 1, 'composite bound (predecessor pricing.py:211): 1/(1+power*reserve) + 4*decay^power < 1 at power 1920 (excess over the first term %.2e)' % float(4 * decay ** power)) +maxT = max(Tq); carrier = max(maxT, int(J['ambient_rank'])) # the compiler fit m*c <= N (FP:111-114) is on the literal carrier, 9 base rows + 8 per stage = 153 +quarter = E.power(carrier, Q(power, 4) * TESTED); factor = E.mul(E.mul(quarter, quarter), E.mul(quarter, quarter)) +eta = E.scale(E.divide((Q(1), Q(1)), factor), tt_) +need(eta[0] > Q(63, 64) ** LP and factor[1] < 2 ** LP and cutoff ** 64 < floor ** 63 and 2 * (cutoff ** power) ** 64 <= (carrier ** power) ** 63, 'compiler complement capacity and shifted exits at logarithm power %d on the literal carrier %d (the largest target rank is %d)' % (LP, carrier, maxT)) +lp_ = LPMIN + 40 +while eta[0] > Q(63, 64) ** (lp_ - 1): lp_ -= 1 +need(lp_ == LPMIN and Q(63, 64) ** (LPMIN - 1) > eta[0], 'logarithm power: on the literal carrier 153 the smallest admissible value at this price is %d (%d fails), written as %d (it is a free parameter, LOG-MAJORANT.md:110-122); the written value 2224 is the one the compiler and outer ledger lines above use' % (lp_, LPMIN - 1, LP)) +gap = (TESTED - KAPPA) / 7; need(gap.numerator == 1, 'compiler grid: (tested-kappa)/7 = %s' % gap) +step = gap.denominator +wins = lambda j: (step * j + 1) ** LP < 2 ** j +lo_, hi_ = 1, 2 +while not wins(hi_): lo_, hi_ = hi_, 2 * hi_ +while hi_ - lo_ > 1: + m = (lo_ + hi_) // 2 + if wins(m): hi_ = m + else: lo_ = m +need(step * hi_ > 8 * power and wins(hi_) and not wins(hi_ - 1), 'explicit uniform threshold H=%d (logarithm power %d)' % (step * hi_, LP)) +Hw = step * hi_; Kbits = math.log2(power) + power * math.log2(carrier) + 2 * math.log2(Hw + 1) # K_star = v m (H+1)^2, v = the chronological power 1920, m = carrier^v (#6901 eq. (4a)) +CALLER_MASS_BITS, PATH_HEIGHT_BITS = 120.35, 157 # QUOTED, not recomputed here: majorants of the #6932 caller, computed by a script that is not part of this package +c_exact = 2 * max(v2max + PATH_HEIGHT_BITS, math.log2(float(mass)) + CALLER_MASS_BITS) +need(c_exact == 362 and abs(Kbits - 14065.5) < 0.1 and math.log2(c_exact + 1) + Kbits < Hw, 'K_star = v m (H+1)^2 with v = %d, m = %d^%d: log2 K_star = %.1f bits at the written H (computed here); with the QUOTED caller majorants (mass <= 2^%.2f, path-maximum height 157 bits; computed on the #6932 caller, not recomputed on this package\'s caller) the per-context bound is height <= %d + 157 = %d bits and magnitude <= %.2f + %.2f = %.2f bits, so c = %d and %d K_star < 2^H holds with %.3e bits to spare; status: argued from #6901 eq. (4a) and lines 299-304, computed, not reviewed' % (power, carrier, power, Kbits, CALLER_MASS_BITS, v2max, v2max + PATH_HEIGHT_BITS, math.log2(float(mass)), CALLER_MASS_BITS, math.log2(float(mass)) + CALLER_MASS_BITS, c_exact, c_exact + 1, Hw - math.log2(c_exact + 1) - Kbits)) +params = {'kappa': KAPPA, 'tested_saving': TESTED, 'complex_uniform_saving': KAPPA + 6 * gap, 'b': KAPPA + 5 * gap, 'a': KAPPA + 4 * gap, 'q': KAPPA + 3 * gap, 'bit_saving': PIN, + 'epsilon': 1 - gap, 'beta': 1 - 3 * gap, 'r0': gap / 10, 'stop': gap, 'layout': gap, 'd': gap} +led = OUT.ledger(params); led['functional_checks']['actual_new_BIT_stock_sublinear'] = params['beta'] * (1 - Q(1, 250)) +need(len(led['strict_checks']) == 54 and len(led['functional_checks']) == 4 and all(v > 0 for k in ('strict_checks', 'functional_checks') for v in led[k].values()), 'outer inventory: 54 strict and 4 functional inequalities all positive at the pin') +PINS = [('main admitted', Q('.0034'), False), ('.00343', Q('.00343'), False), ('main ordinary stock', Q('.0034363538396'), False), ('#5421', Q('.00344412'), False), + ('#4760', Q('.0034597'), False), ('#4814', Q('.003475458'), False), ('#5512', Q('.003483969976'), False), ('#6726 (the pin used)', PIN, True)] +for lab_, pin_, want_ in PINS: # the ledger needs bit_saving > kappa + 4 gap = .00351406004 + L_ = OUT.ledger(dict(params, bit_saving=pin_)); L_['functional_checks']['actual_new_BIT_stock_sublinear'] = params['beta'] * (1 - Q(1, 250)) + ok_ = TESTED < pin_ and all(v > 0 for kk in ('strict_checks', 'functional_checks') for v in L_[kk].values()) + need(ok_ == want_, 'ledger at the BIT saving %s (%s): %s%s' % (float(pin_), lab_, 'all 54 + 4 positive' if ok_ else 'fails', ', margin over the tested price %.3e' % float(pin_ - TESTED) if ok_ else '')) +need(any(v <= 0 for kk in ('strict_checks', 'functional_checks') for v in OUT.ledger(dict(params, bit_saving=params['a'] - Q(1, 10 ** 12)))[kk].values()), 'control: a BIT saving just below kappa + 4 gap (%s) is rejected' % float(params['a'])) +plus = [(7, 1), (3, 1), (5, 1)]; minus = [(9, 1), (4, 1), (1, 2)] +def dlog(terms): + lo = hi = Q(0) + for x, c in terms: + a_ = E.mul((Q(x), Q(x)), E.log_bounds(x)); lo += c * a_[0]; hi += c * a_[1] + return lo, hi +def d2log(terms): + hi = Q(0) + for x, c in terms: + a_ = E.mul(E.mul((Q(x), Q(x)), E.log_bounds(x)), E.log_bounds(x)); hi += c * a_[1] + return hi +dpl, dmi = dlog(plus), dlog(minus); d1 = (dpl[0] - dmi[1], dpl[1] - dmi[0]); Mq = d2log(plus) + d2log(minus) +need(d1[1] + PIN * Mq < 0, 'input-lift saving lemma of #6833 (pricing.py:128-156), cap moved to the pin: g prime negative on 1-pin..1 (its crude bound holds to about .0037765)') +for nm, k_ in (('claim', KAPPA), ('tested', TESTED)): + tl_ = 1 - k_; gl = sum(c * E.power(x, tl_)[0] for x, c in plus) - sum(c * E.power(x, tl_)[1] for x, c in minus) + need(gl > 0 and k_ * (-d1[1]) - k_ * k_ * Mq / 2 > 0, 'input-lift saving positive at the %s price' % nm) + +# ---- declared departures ----------------------------------------------------------------------- +print('DEPARTURES (class; exact count here):') +for cls, what in ( + ('FRAMEWORK CHANGE (this package): odd gate scalars', 'the scalar alphabet of the native word. Dyadic coefficients and SCALE units (local.py:146,149, the verifier copies, native.py:65) become elements and units of A = Z[1/2, 1/3, 1/5], with |q|+1 < 2^16 kept, a declared certificate S = 3^e 5^g (here 1125 = 3^2 5^3) for which S times every prefix row and every pre-ADD product is dyadic, and dyadic public output rows; execution multiplies every root input by S, divides by the odd part of each denominator after a checked divisibility, and divides by S at the exit. The word has %d odd divisions (%d SCALE, %d ADD), %d scans per call. Maintainers must accept this clause; it is not a result of this package. PROOF.md names the changed clauses, the replacement and the penalty; exactness is conditional on exact child returns.' % (n_odd, odd_events['SCALE'], odd_events['ADD'], scans)), + ('new form: per-port root', 'unchanged from the #6932 word: type A (96 ports) is the two-chain root of #6902 (two #6833 roots, t = 0, n = 40), type B (8 ports) is the hosted root of #6889 (t = -1/2, n = 38); the caller is block diagonal over 78 roles, with one stage variable per stage common to both types and 18 joint contacts, each one native event serving both types (HOST2 at the type A ports, HOST at the type B ports). Type A fails the same three family lines as #6902 (t != 0, alpha and beta dyadic units, strongly connected); type B passes every line of its checker. No new failing line.'), + ('new form', 'unchanged: the 8 hosted ports keep the hosted form with no second mains (their X and Y are single planes); the 96 other ports have second mains with the same frame labels as the first mains; 400 mains in total (96 x 4 + 8 x 2). The gauge SCALE 1/2 of the hosted mains is informational here (the endpoint X = x - y, Y = (x + y)/2 covers it).'), + ('new form: type A caller blocks', 'the constant blocks of the type A caller (maximal runs of ADD, SCALE -1 and SWAP between two nonconstant events or joint contacts) are the blocks of #6912 (CubeJerry); check_caller_blocks.py proves each changed block has the same 40 x 40 integer matrix and the joint caller the same 78 x 78 matrix at eight points; the type B caller is unchanged and not covered by that rewrite.'), + ('convention (A6, load-bearing)', 'owned ascent: 23 owned rises (rank mass 56) against native.py:55 / local.py:126; peak owned %d; owned registers read mains: Y2 %d events, X %d events, X2 %d events (%d events in all; %d in the #6932 word). check_a6.py runs the rises as in #6914 and the width-2 phase test of #6930. No ascent, no word.' % (peak, len(oy), len(ox), len(ox2), len(oy) + len(ox) + len(ox2), sum(ob))), + ('new form: full rebuild of the word', 'against the #6932 word (data/prior_word_6932.json.gz, replayed exactly here): public %d against %d registers (one more helper); the frame table, the 54 owned lifetimes and 51 owned fields are the same (as multisets), the peak of concurrent owned fields is %d against %d; T and P differ as printed above (the rank mass of both changes by the same amount per call, S = 1520); the gain is measured on the whole word, not per move.' % (n, len(WB['initial']), peak, pkWB)), + ('verifier', 'endpoint literal native.py:75-77 / local.py:168: the target is X=x, Y=x+y, X2=x2-y2, Y2=y2 at 96 ports and X=x-y, Y=(x+y)/2 at 8 ports; verify_host3_odd.py replaces the dyadic clauses as above (diff against verify_host3_dyadic.py: the helper lines, the SCALE clause, the ADD and COPY clause with the S certificate, the public-row clause).'), + ('verifier', 'events %d, public %d, owned roles %d, lifetimes %d, peak owned %d against local.py:52,54,103 and pricing.py:84-87 literals; per-call scalar work %d against the displayed 10^7 (pricing.py:93); coefficient bits %d/%d against 8/7 (pricing.py:96-97); the event count is declared as this package\'s own bound (the retained 26,000 cap of other packages is not used).' % (len(W['program']), n, NO, life, peak, per_call, nbits, dbits)), + ('convention', 'LAMBDA (%d + %d = 206 events by type), IDLE_ONE (32 + 68 events) as in the #6932 word; not on main; the price of LAMBDA is a review question (above).' % (nlA, nlB)), + ('assumption', 'dirty owned erasure (%d erasures): the owned_erasure assumption, unchanged.' % dirty)): + print(' [%s] %s' % (cls, what)) +need(True, 'departures listed') +print('PASS_P104_SHARED_ODD_NATIVE') diff --git a/research/odd-native-common-grid/source/data/caller.json b/research/odd-native-common-grid/source/data/caller.json new file mode 100644 index 0000000000..08830cee27 --- /dev/null +++ b/research/odd-native-common-grid/source/data/caller.json @@ -0,0 +1 @@ +{"schema":"mixed-root-caller/1","stages":18,"ambient_rank":153,"roles":78,"types":{"A":{"form":"two-chain-HOST2","roles":40,"offset":0,"ports":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,18,19,20,21,22,23,24,25,26,28,29,30,31,32,33,36,37,38,39,40,41,43,44,45,46,48,49,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103],"alpha2":"-1","beta2":"0","diagonal":[[-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1],[-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1],[-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]},"B":{"form":"hosted-HOST","roles":38,"offset":40,"ports":[15,17,27,34,35,42,47,55],"diagonal":[[-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1]],"pairs":[[0,1,"-1","1/2","-1/2"],[2,3,"-1","1/2","-1/2"],[4,5,"-1","1/2","-1/2"],[6,7,"-1","1/2","-1/2"],[8,9,"-1","1/2","-1/2"],[10,11,"-1","1/2","-1/2"],[12,13,"-1","1/2","-1/2"],[14,15,"-1","1/2","-1/2"],[16,17,"-1","1/2","-1/2"],[22,23,"-1","1/2","-1/2"],[24,25,"-1","1/2","-1/2"],[26,27,"-1","1/2","-1/2"],[28,29,"-1","1/2","-1/2"],[30,31,"-1","1/2","-1/2"],[32,33,"-1","1/2","-1/2"],[34,35,"-1","1/2","-1/2"],[36,37,"-1","1/2","-1/2"],[38,39,"-1","1/2","-1/2"]]}},"events":[["A","ADD",0,1,"-1"],["A","SWAP",0,1],["A","LAMBDA",0,-1],["A","ADD",20,21,"-1"],["A","SWAP",20,21],["A","SCALE",21,"-1"],["A","LAMBDA",20,1],["B","ADD",42,43,"-2"],["B","ADD",41,43,"1"],["B","ADD",40,43,"2"],["B","ADD",41,42,"1"],["B","ADD",40,42,"1"],["B","ADD",40,41,"-2"],["B","SCALE",41,"256"],["B","ADD",43,41,"-1/128"],["B","ADD",42,41,"1/128"],["B","SCALE",40,"128"],["B","ADD",43,40,"-1/128"],["B","ADD",42,40,"1/64"],["B","ADD",41,40,"1"],["B","LAMBDA",40,-1],["J",1,[1,0,20,21],[41,40,"-1","1/2"]],["A","LAMBDA",20,-1],["A","SCALE",21,"-1"],["A","LAMBDA",0,1],["A","ADD",1,2,"1"],["A","ADD",0,2,"-1"],["A","SCALE",1,"-1"],["A","SWAP",1,2],["A","ADD",2,0,"-1"],["A","SWAP",0,1],["A","LAMBDA",0,-1],["A","ADD",21,22,"1"],["A","ADD",20,22,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,22],["A","SCALE",20,"-1"],["A","ADD",22,20,"1"],["A","SWAP",20,21],["A","LAMBDA",20,1],["B","LAMBDA",40,1],["B","IDLE_ONE",42,[1]],["B","IDLE_ONE",43,[1]],["B","ADD",44,45,"-2"],["B","ADD",42,45,"-2"],["B","ADD",41,45,"-256"],["B","ADD",40,45,"-128"],["B","ADD",43,44,"1"],["B","ADD",42,44,"-2"],["B","ADD",41,44,"-256"],["B","ADD",41,43,"256"],["B","ADD",40,43,"-128"],["B","ADD",40,42,"-128"],["B","ADD",43,42,"1"],["B","ADD",40,41,"1/2"],["B","SCALE",41,"-1"],["B","ADD",45,41,"-1/128"],["B","ADD",44,41,"1/128"],["B","ADD",43,41,"1/128"],["B","ADD",42,41,"1/128"],["B","SCALE",40,"-1"],["B","ADD",45,40,"1/128"],["B","ADD",43,40,"-1/128"],["B","ADD",42,40,"-1/64"],["B","ADD",41,40,"-1"],["B","LAMBDA",40,-1],["J",2,[1,0,20,21],[41,40,"-1","1/2"]],["A","LAMBDA",20,-1],["A","SCALE",21,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",2,[2,3,4,5,6,7,8,9]],["A","ADD",1,3,"1"],["A","ADD",0,3,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,3],["A","LAMBDA",0,-1],["A","ADD",20,21,"-1"],["A","IDLE_ONE",22,[2,3,4,5,6,7,8,9]],["A","ADD",21,23,"1"],["A","ADD",20,23,"-2"],["A","ADD",20,21,"2"],["A","SCALE",20,"-1"],["A","ADD",21,20,"1"],["A","SWAP",20,23],["A","LAMBDA",20,1],["B","LAMBDA",40,1],["B","IDLE_ONE",42,[2,3,4,5,6,7,8,9]],["B","IDLE_ONE",43,[2,3,4,5,6,7,8,9]],["B","IDLE_ONE",44,[2]],["B","IDLE_ONE",45,[2]],["B","ADD",46,47,"-2"],["B","ADD",44,47,"-2"],["B","ADD",41,47,"-256"],["B","ADD",40,47,"-128"],["B","ADD",45,46,"1"],["B","ADD",44,46,"-2"],["B","ADD",41,46,"-256"],["B","ADD",41,45,"256"],["B","ADD",40,45,"-128"],["B","ADD",40,44,"-128"],["B","ADD",45,44,"1"],["B","ADD",40,41,"1/2"],["B","SCALE",41,"-1"],["B","ADD",47,41,"-1/128"],["B","ADD",46,41,"1/128"],["B","ADD",45,41,"1/128"],["B","ADD",44,41,"1/128"],["B","SCALE",40,"-1"],["B","ADD",47,40,"1/128"],["B","ADD",45,40,"-1/128"],["B","ADD",44,40,"-1/64"],["B","ADD",41,40,"-1"],["B","LAMBDA",40,-1],["J",3,[1,0,20,21],[41,40,"-1","1/2"]],["A","LAMBDA",20,-1],["A","SCALE",21,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",3,[3,4,5,6,7,8,9]],["A","ADD",1,4,"1"],["A","ADD",0,4,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,4],["A","LAMBDA",0,-1],["A","ADD",20,21,"-1"],["A","IDLE_ONE",23,[3,4,5,6,7,8,9]],["A","ADD",21,24,"1"],["A","ADD",20,24,"-2"],["A","ADD",20,21,"2"],["A","SCALE",20,"-1"],["A","ADD",21,20,"1"],["A","SWAP",20,24],["A","LAMBDA",20,1],["B","LAMBDA",40,1],["B","IDLE_ONE",44,[3,4,5,6,7,8,9]],["B","IDLE_ONE",45,[3,4,5,6,7,8,9]],["B","IDLE_ONE",46,[3]],["B","IDLE_ONE",47,[3]],["B","ADD",48,49,"-2"],["B","ADD",46,49,"-2"],["B","ADD",41,49,"-256"],["B","ADD",40,49,"-128"],["B","ADD",47,48,"1"],["B","ADD",46,48,"-2"],["B","ADD",41,48,"-256"],["B","ADD",41,47,"256"],["B","ADD",40,47,"-128"],["B","ADD",40,46,"-128"],["B","ADD",47,46,"1"],["B","ADD",40,41,"1/2"],["B","SCALE",41,"-1"],["B","ADD",49,41,"-1/128"],["B","ADD",48,41,"1/128"],["B","ADD",47,41,"1/128"],["B","ADD",46,41,"1/128"],["B","SCALE",40,"-1"],["B","ADD",49,40,"1/128"],["B","ADD",47,40,"-1/128"],["B","ADD",46,40,"-1/64"],["B","ADD",41,40,"-1"],["B","LAMBDA",40,-1],["J",4,[1,0,20,21],[41,40,"-1","1/2"]],["A","LAMBDA",20,-1],["A","SCALE",21,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",4,[4,5,6,7,8,9]],["A","ADD",1,5,"1"],["A","ADD",0,5,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,5],["A","LAMBDA",0,-1],["A","ADD",20,21,"-1"],["A","IDLE_ONE",24,[4,5,6,7,8,9]],["A","ADD",21,25,"1"],["A","ADD",20,25,"-2"],["A","ADD",20,21,"2"],["A","SCALE",20,"-1"],["A","ADD",21,20,"1"],["A","SWAP",20,25],["A","LAMBDA",20,1],["B","LAMBDA",40,1],["B","IDLE_ONE",46,[4,5,6,7,8,9]],["B","IDLE_ONE",47,[4,5,6,7,8,9]],["B","IDLE_ONE",48,[4]],["B","IDLE_ONE",49,[4]],["B","ADD",50,51,"-2"],["B","ADD",48,51,"-2"],["B","ADD",41,51,"-256"],["B","ADD",40,51,"-128"],["B","ADD",49,50,"1"],["B","ADD",48,50,"-2"],["B","ADD",41,50,"-256"],["B","ADD",41,49,"256"],["B","ADD",40,49,"-128"],["B","ADD",40,48,"-128"],["B","ADD",49,48,"1"],["B","ADD",40,41,"1/2"],["B","SCALE",41,"-1"],["B","ADD",51,41,"-1/128"],["B","ADD",50,41,"1/128"],["B","ADD",49,41,"1/128"],["B","ADD",48,41,"1/128"],["B","SCALE",40,"-1"],["B","ADD",51,40,"1/128"],["B","ADD",49,40,"-1/128"],["B","ADD",48,40,"-1/64"],["B","ADD",41,40,"-1"],["B","LAMBDA",40,-1],["J",5,[1,0,20,21],[41,40,"-1","1/2"]],["A","LAMBDA",20,-1],["A","SCALE",21,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",5,[5,6,7,8,9]],["A","ADD",1,6,"1"],["A","ADD",0,6,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,6],["A","LAMBDA",0,-1],["A","ADD",20,21,"-1"],["A","IDLE_ONE",25,[5,6,7,8,9]],["A","ADD",21,26,"1"],["A","ADD",20,26,"-2"],["A","ADD",20,21,"2"],["A","SCALE",20,"-1"],["A","ADD",21,20,"1"],["A","SWAP",20,26],["A","LAMBDA",20,1],["B","LAMBDA",40,1],["B","IDLE_ONE",48,[5,6,7,8,9]],["B","IDLE_ONE",49,[5,6,7,8,9]],["B","IDLE_ONE",50,[5]],["B","IDLE_ONE",51,[5]],["B","ADD",52,53,"-2"],["B","ADD",50,53,"-2"],["B","ADD",41,53,"-256"],["B","ADD",40,53,"-128"],["B","ADD",51,52,"1"],["B","ADD",50,52,"-2"],["B","ADD",41,52,"-256"],["B","ADD",41,51,"256"],["B","ADD",40,51,"-128"],["B","ADD",40,50,"-128"],["B","ADD",51,50,"1"],["B","ADD",40,41,"1/2"],["B","SCALE",41,"-1"],["B","ADD",53,41,"-1/128"],["B","ADD",52,41,"1/128"],["B","ADD",51,41,"1/128"],["B","ADD",50,41,"1/128"],["B","SCALE",40,"-1"],["B","ADD",53,40,"1/128"],["B","ADD",51,40,"-1/128"],["B","ADD",50,40,"-1/64"],["B","ADD",41,40,"-1"],["B","LAMBDA",40,-1],["J",6,[1,0,20,21],[41,40,"-1","1/2"]],["A","LAMBDA",20,-1],["A","SCALE",21,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",6,[6,7,8,9]],["A","ADD",1,7,"1"],["A","ADD",0,7,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,7],["A","LAMBDA",0,-1],["A","ADD",20,21,"-1"],["A","IDLE_ONE",26,[6,7,8,9]],["A","ADD",21,27,"1"],["A","ADD",20,27,"-2"],["A","ADD",20,21,"2"],["A","SCALE",20,"-1"],["A","ADD",21,20,"1"],["A","SWAP",20,27],["A","LAMBDA",20,1],["B","LAMBDA",40,1],["B","IDLE_ONE",50,[6,7,8,9]],["B","IDLE_ONE",51,[6,7,8,9]],["B","IDLE_ONE",52,[6]],["B","IDLE_ONE",53,[6]],["B","ADD",54,55,"-2"],["B","ADD",52,55,"-2"],["B","ADD",41,55,"-256"],["B","ADD",40,55,"-128"],["B","ADD",53,54,"1"],["B","ADD",52,54,"-2"],["B","ADD",41,54,"-256"],["B","ADD",41,53,"256"],["B","ADD",40,53,"-128"],["B","ADD",40,52,"-128"],["B","ADD",53,52,"1"],["B","ADD",40,41,"1/2"],["B","SCALE",41,"-1"],["B","ADD",55,41,"-1/128"],["B","ADD",54,41,"1/128"],["B","ADD",53,41,"1/128"],["B","ADD",52,41,"1/128"],["B","SCALE",40,"-1"],["B","ADD",55,40,"1/128"],["B","ADD",53,40,"-1/128"],["B","ADD",52,40,"-1/64"],["B","ADD",41,40,"-1"],["B","LAMBDA",40,-1],["J",7,[1,0,20,21],[41,40,"-1","1/2"]],["A","LAMBDA",20,-1],["A","SCALE",21,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",7,[7,8,9]],["A","ADD",1,8,"1"],["A","ADD",0,8,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,8],["A","LAMBDA",0,-1],["A","ADD",20,21,"-1"],["A","IDLE_ONE",27,[7,8,9]],["A","ADD",21,28,"1"],["A","ADD",20,28,"-2"],["A","ADD",20,21,"2"],["A","SCALE",20,"-1"],["A","ADD",21,20,"1"],["A","SWAP",20,28],["A","LAMBDA",20,1],["B","LAMBDA",40,1],["B","IDLE_ONE",52,[7,8,9]],["B","IDLE_ONE",53,[7,8,9]],["B","IDLE_ONE",54,[7]],["B","IDLE_ONE",55,[7]],["B","ADD",56,57,"-2"],["B","ADD",54,57,"-2"],["B","ADD",41,57,"-256"],["B","ADD",40,57,"-128"],["B","ADD",55,56,"1"],["B","ADD",54,56,"-2"],["B","ADD",41,56,"-256"],["B","ADD",41,55,"256"],["B","ADD",40,55,"-128"],["B","ADD",40,54,"-128"],["B","ADD",55,54,"1"],["B","ADD",40,41,"1/2"],["B","SCALE",41,"-1"],["B","ADD",57,41,"-1/128"],["B","ADD",56,41,"1/128"],["B","ADD",55,41,"1/128"],["B","ADD",54,41,"1/128"],["B","SCALE",40,"-1"],["B","ADD",57,40,"1/128"],["B","ADD",55,40,"-1/128"],["B","ADD",54,40,"-1/64"],["B","ADD",41,40,"-1"],["B","LAMBDA",40,-1],["J",8,[1,0,20,21],[41,40,"-1","1/2"]],["A","LAMBDA",20,-1],["A","SCALE",21,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",8,[8,9]],["A","ADD",1,9,"1"],["A","ADD",0,9,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,9],["A","LAMBDA",0,-1],["A","ADD",20,21,"-1"],["A","IDLE_ONE",28,[8,9]],["A","ADD",21,29,"1"],["A","ADD",20,29,"-2"],["A","ADD",20,21,"2"],["A","SCALE",20,"-1"],["A","ADD",21,20,"1"],["A","SWAP",20,29],["A","LAMBDA",20,1],["B","LAMBDA",40,1],["B","IDLE_ONE",54,[8,9]],["B","IDLE_ONE",55,[8,9]],["B","IDLE_ONE",56,[8]],["B","IDLE_ONE",57,[8]],["B","ADD",58,59,"-2"],["B","ADD",56,59,"-2"],["B","ADD",41,59,"-256"],["B","ADD",40,59,"-128"],["B","ADD",57,58,"1"],["B","ADD",56,58,"-2"],["B","ADD",41,58,"-256"],["B","ADD",41,57,"256"],["B","ADD",40,57,"-128"],["B","ADD",40,56,"-128"],["B","ADD",57,56,"1"],["B","ADD",40,41,"1/2"],["B","SCALE",41,"-1"],["B","ADD",59,41,"-1/128"],["B","ADD",58,41,"1/128"],["B","ADD",57,41,"1/128"],["B","ADD",56,41,"1/128"],["B","SCALE",40,"-1"],["B","ADD",59,40,"1/128"],["B","ADD",57,40,"-1/128"],["B","ADD",56,40,"-1/64"],["B","ADD",41,40,"-1"],["B","LAMBDA",40,-1],["J",9,[1,0,20,21],[41,40,"-1","1/2"]],["A","LAMBDA",20,-1],["A","SCALE",21,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",9,[9]],["A","SWAP",8,9],["A","SWAP",7,9],["A","SWAP",6,9],["A","SWAP",5,9],["A","SWAP",4,9],["A","SWAP",3,9],["A","SWAP",2,9],["A","ADD",0,1,"1"],["A","SCALE",1,"-1"],["A","SWAP",1,9],["A","ADD",9,0,"1"],["A","ADD",8,0,"2"],["A","ADD",7,0,"2"],["A","ADD",6,0,"2"],["A","ADD",5,0,"2"],["A","ADD",4,0,"2"],["A","ADD",3,0,"2"],["A","ADD",2,0,"2"],["A","ADD",1,0,"2"],["A","ADD",19,1,"-1"],["A","ADD",18,1,"-1"],["A","ADD",17,1,"-1"],["A","ADD",16,1,"-1"],["A","ADD",15,1,"-1"],["A","ADD",14,1,"-1"],["A","ADD",13,1,"-1"],["A","ADD",12,1,"-1"],["A","ADD",11,1,"-1"],["A","ADD",10,1,"-1"],["A","ADD",9,1,"-1"],["A","ADD",8,1,"-1"],["A","ADD",7,1,"-1"],["A","ADD",6,1,"-1"],["A","ADD",5,1,"-1"],["A","ADD",4,1,"-1"],["A","ADD",3,1,"-1"],["A","ADD",2,1,"-1"],["A","SWAP",0,1],["A","LAMBDA",0,-1],["A","QUERY",0,1,-1],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","ADD",19,0,"1"],["A","ADD",18,0,"1"],["A","ADD",17,0,"1"],["A","ADD",16,0,"1"],["A","ADD",15,0,"1"],["A","ADD",14,0,"1"],["A","ADD",13,0,"1"],["A","ADD",12,0,"1"],["A","ADD",11,0,"1"],["A","ADD",10,0,"1"],["A","ADD",9,0,"1"],["A","ADD",8,0,"1"],["A","ADD",7,0,"1"],["A","ADD",6,0,"1"],["A","ADD",5,0,"1"],["A","ADD",4,0,"1"],["A","ADD",3,0,"1"],["A","ADD",2,0,"1"],["A","SWAP",0,1],["A","ADD",1,19,"-1"],["A","ADD",1,18,"-1"],["A","ADD",1,17,"1"],["A","ADD",1,16,"-1"],["A","ADD",1,15,"1"],["A","ADD",1,14,"-1"],["A","ADD",1,13,"1"],["A","ADD",1,12,"-1"],["A","ADD",1,11,"1"],["A","ADD",1,10,"-1"],["A","ADD",1,9,"1"],["A","ADD",1,8,"-1"],["A","ADD",1,7,"1"],["A","ADD",1,6,"-1"],["A","ADD",1,5,"1"],["A","ADD",1,4,"-1"],["A","ADD",1,3,"1"],["A","ADD",1,2,"-1"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",18,0,"-2"],["A","ADD",17,0,"-2"],["A","ADD",16,0,"-2"],["A","ADD",15,0,"-2"],["A","ADD",14,0,"-2"],["A","ADD",13,0,"-2"],["A","ADD",12,0,"-2"],["A","ADD",11,0,"-2"],["A","ADD",10,0,"-2"],["A","ADD",1,0,"-2"],["A","LAMBDA",0,-1],["A","QUERY",0,1,-1],["A","LAMBDA",0,1],["A","ADD",1,19,"-1"],["A","ADD",0,19,"-1"],["A","ADD",1,18,"-1"],["A","ADD",0,18,"-1"],["A","ADD",19,18,"2"],["A","SWAP",18,19],["A","ADD",1,17,"1"],["A","ADD",0,17,"1"],["A","ADD",18,17,"-2"],["A","SWAP",17,18],["A","ADD",1,16,"-1"],["A","ADD",0,16,"-1"],["A","ADD",17,16,"2"],["A","SWAP",16,17],["A","ADD",1,15,"1"],["A","ADD",0,15,"1"],["A","ADD",16,15,"-2"],["A","SWAP",15,16],["A","ADD",1,14,"-1"],["A","ADD",0,14,"-1"],["A","ADD",15,14,"2"],["A","SWAP",14,15],["A","ADD",1,13,"1"],["A","ADD",0,13,"1"],["A","ADD",14,13,"-2"],["A","SWAP",13,14],["A","ADD",1,12,"-1"],["A","ADD",0,12,"-1"],["A","ADD",13,12,"2"],["A","SWAP",12,13],["A","ADD",1,11,"1"],["A","ADD",0,11,"1"],["A","ADD",12,11,"-2"],["A","SWAP",11,12],["A","ADD",1,10,"-1"],["A","ADD",0,10,"-1"],["A","ADD",11,10,"2"],["A","SWAP",10,11],["A","ADD",1,9,"1"],["A","ADD",0,9,"1"],["A","ADD",10,9,"-2"],["A","SWAP",9,10],["A","ADD",1,8,"-1"],["A","ADD",0,8,"-1"],["A","ADD",9,8,"2"],["A","SWAP",8,9],["A","ADD",1,7,"1"],["A","ADD",0,7,"1"],["A","ADD",8,7,"-2"],["A","SWAP",7,8],["A","ADD",1,6,"-1"],["A","ADD",0,6,"-1"],["A","ADD",7,6,"2"],["A","SWAP",6,7],["A","ADD",1,5,"1"],["A","ADD",0,5,"1"],["A","ADD",6,5,"-2"],["A","SWAP",5,6],["A","ADD",1,4,"-1"],["A","ADD",0,4,"-1"],["A","ADD",5,4,"2"],["A","SWAP",4,5],["A","ADD",1,3,"1"],["A","ADD",0,3,"1"],["A","ADD",4,3,"-2"],["A","SWAP",3,4],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","ADD",3,2,"2"],["A","SWAP",2,3],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",2,1,"-2"],["A","SWAP",1,2],["A","ADD",1,0,"1"],["A","LAMBDA",0,-1],["A","QUERY",0,1,-1],["A","LAMBDA",0,1],["A","ADD",1,19,"-2"],["A","ADD",0,19,"-2"],["A","ADD",1,18,"2"],["A","ADD",0,18,"2"],["A","ADD",1,17,"-2"],["A","ADD",0,17,"-2"],["A","SWAP",17,19],["A","ADD",1,16,"2"],["A","ADD",0,16,"2"],["A","SWAP",16,18],["A","ADD",1,15,"-2"],["A","ADD",0,15,"-2"],["A","SWAP",15,19],["A","ADD",1,14,"2"],["A","ADD",0,14,"2"],["A","SWAP",14,18],["A","ADD",1,13,"-2"],["A","ADD",0,13,"-2"],["A","SWAP",13,19],["A","ADD",1,12,"2"],["A","ADD",0,12,"2"],["A","SWAP",12,18],["A","ADD",1,11,"-1"],["A","SCALE",11,"-1"],["A","SWAP",11,19],["A","ADD",1,10,"2"],["A","ADD",0,10,"2"],["A","SWAP",10,18],["A","ADD",1,9,"-2"],["A","ADD",0,9,"-2"],["A","SWAP",9,17],["A","ADD",1,8,"2"],["A","ADD",0,8,"2"],["A","SWAP",8,16],["A","ADD",1,7,"-2"],["A","ADD",0,7,"-2"],["A","SWAP",7,15],["A","ADD",1,6,"2"],["A","ADD",0,6,"2"],["A","SWAP",6,14],["A","ADD",1,5,"-2"],["A","ADD",0,5,"-2"],["A","SWAP",5,13],["A","ADD",1,4,"2"],["A","ADD",0,4,"2"],["A","SWAP",4,12],["A","ADD",1,3,"-2"],["A","ADD",0,3,"-2"],["A","SWAP",3,11],["A","ADD",1,2,"2"],["A","ADD",0,2,"2"],["A","SWAP",2,10],["A","ADD",0,1,"-1"],["A","SWAP",1,19],["A","ADD",19,0,"-1"],["A","ADD",1,0,"2"],["A","SWAP",0,1],["A","LAMBDA",0,-1],["A","ADD",20,21,"-1"],["A","IDLE_ONE",29,[9]],["A","SWAP",28,29],["A","SWAP",27,29],["A","SWAP",26,29],["A","SWAP",25,29],["A","SWAP",24,29],["A","SWAP",23,29],["A","SWAP",22,29],["A","ADD",20,21,"1"],["A","SCALE",21,"-1"],["A","SWAP",21,29],["A","ADD",29,20,"1"],["A","ADD",28,20,"2"],["A","ADD",27,20,"2"],["A","ADD",26,20,"2"],["A","ADD",25,20,"2"],["A","ADD",24,20,"2"],["A","ADD",23,20,"2"],["A","ADD",22,20,"2"],["A","ADD",21,20,"2"],["A","ADD",39,21,"-1"],["A","ADD",38,21,"-1"],["A","ADD",37,21,"-1"],["A","ADD",36,21,"-1"],["A","ADD",35,21,"-1"],["A","ADD",34,21,"-1"],["A","ADD",33,21,"-1"],["A","ADD",32,21,"-1"],["A","ADD",31,21,"-1"],["A","ADD",30,21,"-1"],["A","ADD",29,21,"-1"],["A","ADD",28,21,"-1"],["A","ADD",27,21,"-1"],["A","ADD",26,21,"-1"],["A","ADD",25,21,"-1"],["A","ADD",24,21,"-1"],["A","ADD",23,21,"-1"],["A","ADD",22,21,"-1"],["A","SWAP",20,21],["A","LAMBDA",20,-1],["A","QUERY",20,21,-1],["A","LAMBDA",20,1],["A","ADD",20,21,"-1"],["A","ADD",39,20,"1"],["A","ADD",38,20,"1"],["A","ADD",37,20,"1"],["A","ADD",36,20,"1"],["A","ADD",35,20,"1"],["A","ADD",34,20,"1"],["A","ADD",33,20,"1"],["A","ADD",32,20,"1"],["A","ADD",31,20,"1"],["A","ADD",30,20,"1"],["A","ADD",29,20,"1"],["A","ADD",28,20,"1"],["A","ADD",27,20,"1"],["A","ADD",26,20,"1"],["A","ADD",25,20,"1"],["A","ADD",24,20,"1"],["A","ADD",23,20,"1"],["A","ADD",22,20,"1"],["A","SWAP",20,21],["A","ADD",21,39,"-1"],["A","ADD",21,38,"-1"],["A","ADD",21,37,"1"],["A","ADD",21,36,"-1"],["A","ADD",21,35,"1"],["A","ADD",21,34,"-1"],["A","ADD",21,33,"1"],["A","ADD",21,32,"-1"],["A","ADD",21,31,"1"],["A","ADD",21,30,"-1"],["A","ADD",21,29,"1"],["A","ADD",21,28,"-1"],["A","ADD",21,27,"1"],["A","ADD",21,26,"-1"],["A","ADD",21,25,"1"],["A","ADD",21,24,"-1"],["A","ADD",21,23,"1"],["A","ADD",21,22,"-1"],["A","SCALE",21,"-1"],["A","SCALE",20,"-1"],["A","ADD",38,20,"-2"],["A","ADD",37,20,"-2"],["A","ADD",36,20,"-2"],["A","ADD",35,20,"-2"],["A","ADD",34,20,"-2"],["A","ADD",33,20,"-2"],["A","ADD",32,20,"-2"],["A","ADD",31,20,"-2"],["A","ADD",30,20,"-2"],["A","ADD",21,20,"-2"],["A","LAMBDA",20,-1],["A","QUERY",20,21,-1],["A","LAMBDA",20,1],["A","ADD",21,39,"-1"],["A","ADD",20,39,"-1"],["A","ADD",21,38,"-1"],["A","ADD",20,38,"-1"],["A","ADD",39,38,"2"],["A","SWAP",38,39],["A","ADD",21,37,"1"],["A","ADD",20,37,"1"],["A","ADD",38,37,"-2"],["A","SWAP",37,38],["A","ADD",21,36,"-1"],["A","ADD",20,36,"-1"],["A","ADD",37,36,"2"],["A","SWAP",36,37],["A","ADD",21,35,"1"],["A","ADD",20,35,"1"],["A","ADD",36,35,"-2"],["A","SWAP",35,36],["A","ADD",21,34,"-1"],["A","ADD",20,34,"-1"],["A","ADD",35,34,"2"],["A","SWAP",34,35],["A","ADD",21,33,"1"],["A","ADD",20,33,"1"],["A","ADD",34,33,"-2"],["A","SWAP",33,34],["A","ADD",21,32,"-1"],["A","ADD",20,32,"-1"],["A","ADD",33,32,"2"],["A","SWAP",32,33],["A","ADD",21,31,"1"],["A","ADD",20,31,"1"],["A","ADD",32,31,"-2"],["A","SWAP",31,32],["A","ADD",21,30,"-1"],["A","ADD",20,30,"-1"],["A","ADD",31,30,"2"],["A","SWAP",30,31],["A","ADD",21,29,"1"],["A","ADD",20,29,"1"],["A","ADD",30,29,"-2"],["A","SWAP",29,30],["A","ADD",21,28,"-1"],["A","ADD",20,28,"-1"],["A","ADD",29,28,"2"],["A","SWAP",28,29],["A","ADD",21,27,"1"],["A","ADD",20,27,"1"],["A","ADD",28,27,"-2"],["A","SWAP",27,28],["A","ADD",21,26,"-1"],["A","ADD",20,26,"-1"],["A","ADD",27,26,"2"],["A","SWAP",26,27],["A","ADD",21,25,"1"],["A","ADD",20,25,"1"],["A","ADD",26,25,"-2"],["A","SWAP",25,26],["A","ADD",21,24,"-1"],["A","ADD",20,24,"-1"],["A","ADD",25,24,"2"],["A","SWAP",24,25],["A","ADD",21,23,"1"],["A","ADD",20,23,"1"],["A","ADD",24,23,"-2"],["A","SWAP",23,24],["A","ADD",21,22,"-1"],["A","ADD",20,22,"-1"],["A","ADD",23,22,"2"],["A","SWAP",22,23],["A","ADD",20,21,"-1"],["A","SCALE",21,"-1"],["A","ADD",22,21,"-2"],["A","SWAP",21,22],["A","ADD",21,20,"1"],["A","LAMBDA",20,-1],["A","QUERY",20,21,-1],["A","LAMBDA",20,1],["A","ADD",21,39,"-2"],["A","ADD",20,39,"-2"],["A","ADD",21,38,"2"],["A","ADD",20,38,"2"],["A","ADD",21,37,"-2"],["A","ADD",20,37,"-2"],["A","SWAP",37,39],["A","ADD",21,36,"2"],["A","ADD",20,36,"2"],["A","SWAP",36,38],["A","ADD",21,35,"-2"],["A","ADD",20,35,"-2"],["A","SWAP",35,39],["A","ADD",21,34,"2"],["A","ADD",20,34,"2"],["A","SWAP",34,38],["A","ADD",21,33,"-2"],["A","ADD",20,33,"-2"],["A","SWAP",33,39],["A","ADD",21,32,"2"],["A","ADD",20,32,"2"],["A","SWAP",32,38],["A","ADD",21,31,"-1"],["A","SCALE",31,"-1"],["A","SWAP",31,39],["A","ADD",21,30,"2"],["A","ADD",20,30,"2"],["A","SWAP",30,38],["A","ADD",21,29,"-2"],["A","ADD",20,29,"-2"],["A","SWAP",29,37],["A","ADD",21,28,"2"],["A","ADD",20,28,"2"],["A","SWAP",28,36],["A","ADD",21,27,"-2"],["A","ADD",20,27,"-2"],["A","SWAP",27,35],["A","ADD",21,26,"2"],["A","ADD",20,26,"2"],["A","SWAP",26,34],["A","ADD",21,25,"-2"],["A","ADD",20,25,"-2"],["A","SWAP",25,33],["A","ADD",21,24,"2"],["A","ADD",20,24,"2"],["A","SWAP",24,32],["A","ADD",21,23,"-2"],["A","ADD",20,23,"-2"],["A","SWAP",23,31],["A","ADD",21,22,"2"],["A","ADD",20,22,"2"],["A","SWAP",22,30],["A","ADD",20,21,"-1"],["A","SWAP",21,39],["A","SCALE",20,"-1"],["A","ADD",39,20,"1"],["A","ADD",21,20,"-2"],["A","SWAP",20,21],["A","LAMBDA",20,1],["B","LAMBDA",40,1],["B","IDLE_ONE",56,[9]],["B","IDLE_ONE",57,[9]],["B","IDLE_ONE",58,[9]],["B","IDLE_ONE",59,[9]],["B","ADD",58,77,"1"],["B","ADD",57,77,"1"],["B","ADD",55,77,"1"],["B","ADD",53,77,"1"],["B","ADD",51,77,"1"],["B","ADD",49,77,"1"],["B","ADD",47,77,"1"],["B","ADD",45,77,"1"],["B","ADD",43,77,"1"],["B","ADD",41,77,"-128"],["B","ADD",40,77,"64"],["B","ADD",58,75,"-1"],["B","ADD",57,75,"-1"],["B","ADD",55,75,"-1"],["B","ADD",53,75,"-1"],["B","ADD",51,75,"-1"],["B","ADD",49,75,"-1"],["B","ADD",47,75,"-1"],["B","ADD",45,75,"-1"],["B","ADD",43,75,"-1"],["B","ADD",41,75,"128"],["B","ADD",40,75,"-64"],["B","ADD",58,74,"2"],["B","ADD",57,74,"2"],["B","ADD",55,74,"2"],["B","ADD",53,74,"2"],["B","ADD",51,74,"2"],["B","ADD",49,74,"2"],["B","ADD",47,74,"2"],["B","ADD",45,74,"2"],["B","ADD",43,74,"2"],["B","ADD",41,74,"-256"],["B","ADD",40,74,"128"],["B","ADD",58,73,"-1"],["B","ADD",57,73,"-1"],["B","ADD",55,73,"-1"],["B","ADD",53,73,"-1"],["B","ADD",51,73,"-1"],["B","ADD",49,73,"-1"],["B","ADD",47,73,"-1"],["B","ADD",45,73,"-1"],["B","ADD",43,73,"-1"],["B","ADD",41,73,"128"],["B","ADD",40,73,"-64"],["B","ADD",58,71,"1"],["B","ADD",57,71,"1"],["B","ADD",55,71,"1"],["B","ADD",53,71,"1"],["B","ADD",51,71,"1"],["B","ADD",49,71,"1"],["B","ADD",47,71,"1"],["B","ADD",45,71,"1"],["B","ADD",43,71,"1"],["B","ADD",41,71,"-128"],["B","ADD",40,71,"64"],["B","ADD",58,70,"-2"],["B","ADD",57,70,"-2"],["B","ADD",55,70,"-2"],["B","ADD",53,70,"-2"],["B","ADD",51,70,"-2"],["B","ADD",49,70,"-2"],["B","ADD",47,70,"-2"],["B","ADD",45,70,"-2"],["B","ADD",43,70,"-2"],["B","ADD",41,70,"256"],["B","ADD",40,70,"-128"],["B","ADD",58,69,"1"],["B","ADD",57,69,"1"],["B","ADD",55,69,"1"],["B","ADD",53,69,"1"],["B","ADD",51,69,"1"],["B","ADD",49,69,"1"],["B","ADD",47,69,"1"],["B","ADD",45,69,"1"],["B","ADD",43,69,"1"],["B","ADD",41,69,"-128"],["B","ADD",40,69,"64"],["B","ADD",58,67,"-1"],["B","ADD",57,67,"-1"],["B","ADD",55,67,"-1"],["B","ADD",53,67,"-1"],["B","ADD",51,67,"-1"],["B","ADD",49,67,"-1"],["B","ADD",47,67,"-1"],["B","ADD",45,67,"-1"],["B","ADD",43,67,"-1"],["B","ADD",41,67,"128"],["B","ADD",40,67,"-64"],["B","ADD",58,66,"2"],["B","ADD",57,66,"2"],["B","ADD",55,66,"2"],["B","ADD",53,66,"2"],["B","ADD",51,66,"2"],["B","ADD",49,66,"2"],["B","ADD",47,66,"2"],["B","ADD",45,66,"2"],["B","ADD",43,66,"2"],["B","ADD",41,66,"-256"],["B","ADD",40,66,"128"],["B","ADD",58,65,"-1"],["B","ADD",57,65,"-1"],["B","ADD",55,65,"-1"],["B","ADD",53,65,"-1"],["B","ADD",51,65,"-1"],["B","ADD",49,65,"-1"],["B","ADD",47,65,"-1"],["B","ADD",45,65,"-1"],["B","ADD",43,65,"-1"],["B","ADD",41,65,"128"],["B","ADD",40,65,"-64"],["B","ADD",58,63,"1"],["B","ADD",57,63,"1"],["B","ADD",55,63,"1"],["B","ADD",53,63,"1"],["B","ADD",51,63,"1"],["B","ADD",49,63,"1"],["B","ADD",47,63,"1"],["B","ADD",45,63,"1"],["B","ADD",43,63,"1"],["B","ADD",41,63,"-128"],["B","ADD",40,63,"64"],["B","ADD",58,62,"-2"],["B","ADD",57,62,"-2"],["B","ADD",55,62,"-2"],["B","ADD",53,62,"-2"],["B","ADD",51,62,"-2"],["B","ADD",49,62,"-2"],["B","ADD",47,62,"-2"],["B","ADD",45,62,"-2"],["B","ADD",43,62,"-2"],["B","ADD",41,62,"256"],["B","ADD",40,62,"-128"],["B","ADD",58,61,"1"],["B","ADD",57,61,"1"],["B","ADD",55,61,"1"],["B","ADD",53,61,"1"],["B","ADD",51,61,"1"],["B","ADD",49,61,"1"],["B","ADD",47,61,"1"],["B","ADD",45,61,"1"],["B","ADD",43,61,"1"],["B","ADD",41,61,"-128"],["B","ADD",40,61,"64"],["B","ADD",41,59,"256"],["B","ADD",40,59,"-128"],["B","ADD",57,58,"-3/2"],["B","ADD",55,58,"-1"],["B","ADD",53,58,"-1"],["B","ADD",51,58,"-1"],["B","ADD",49,58,"-1"],["B","ADD",47,58,"-1"],["B","ADD",45,58,"-1"],["B","ADD",43,58,"-1"],["B","ADD",41,58,"128"],["B","ADD",40,58,"-64"],["B","SCALE",58,"1/2"],["B","ADD",55,57,"-1"],["B","ADD",53,57,"-1"],["B","ADD",51,57,"-1"],["B","ADD",49,57,"-1"],["B","ADD",47,57,"-1"],["B","ADD",45,57,"-1"],["B","ADD",43,57,"-1"],["B","ADD",41,57,"128"],["B","ADD",40,57,"64"],["B","SCALE",57,"-1"],["B","ADD",59,57,"1"],["B","SWAP",57,58],["B","ADD",55,56,"1/2"],["B","ADD",53,56,"1/2"],["B","ADD",51,56,"1/2"],["B","ADD",49,56,"1/2"],["B","ADD",47,56,"1/2"],["B","ADD",45,56,"1/2"],["B","ADD",43,56,"1/2"],["B","ADD",41,56,"-64"],["B","ADD",40,56,"-32"],["B","ADD",59,56,"1/2"],["B","ADD",58,56,"1/2"],["B","ADD",57,56,"1/2"],["B","ADD",53,54,"-1/2"],["B","ADD",51,54,"-1/2"],["B","ADD",49,54,"-1/2"],["B","ADD",47,54,"-1/2"],["B","ADD",45,54,"-1/2"],["B","ADD",43,54,"-1/2"],["B","ADD",41,54,"64"],["B","ADD",40,54,"32"],["B","ADD",59,54,"-1/2"],["B","ADD",58,54,"-1/2"],["B","ADD",57,54,"-1/2"],["B","ADD",55,54,"-1/2"],["B","ADD",51,53,"-1"],["B","ADD",49,53,"-2"],["B","ADD",47,53,"-1"],["B","ADD",45,53,"-1"],["B","ADD",43,53,"-1"],["B","ADD",41,53,"128"],["B","ADD",40,53,"64"],["B","ADD",59,53,"-1"],["B","ADD",58,53,"-1"],["B","ADD",57,53,"-1"],["B","ADD",55,53,"-1"],["B","ADD",49,52,"1/2"],["B","ADD",53,52,"-1/2"],["B","ADD",49,51,"-1"],["B","ADD",47,51,"-1"],["B","ADD",45,51,"-1"],["B","ADD",43,51,"-1"],["B","ADD",41,51,"128"],["B","ADD",40,51,"64"],["B","SCALE",51,"-1"],["B","ADD",59,51,"1"],["B","ADD",58,51,"1"],["B","ADD",57,51,"1"],["B","ADD",55,51,"1"],["B","SWAP",51,53],["B","ADD",49,50,"-1/2"],["B","ADD",51,50,"1/2"],["B","ADD",47,49,"-1"],["B","ADD",45,49,"-1"],["B","ADD",43,49,"-1"],["B","ADD",41,49,"128"],["B","ADD",40,49,"64"],["B","SCALE",49,"-1"],["B","ADD",59,49,"1"],["B","ADD",58,49,"1"],["B","ADD",57,49,"1"],["B","ADD",55,49,"1"],["B","ADD",53,49,"1"],["B","SWAP",49,51],["B","ADD",47,48,"1/2"],["B","ADD",45,48,"1/2"],["B","ADD",43,48,"1/2"],["B","ADD",41,48,"-64"],["B","ADD",40,48,"-32"],["B","ADD",59,48,"1/2"],["B","ADD",58,48,"1/2"],["B","ADD",57,48,"1/2"],["B","ADD",55,48,"1/2"],["B","ADD",53,48,"1/2"],["B","ADD",51,48,"1/2"],["B","ADD",49,48,"1/2"],["B","ADD",45,46,"-1/2"],["B","ADD",43,46,"-1/2"],["B","ADD",41,46,"64"],["B","ADD",40,46,"32"],["B","ADD",59,46,"-1/2"],["B","ADD",58,46,"-1/2"],["B","ADD",57,46,"-1/2"],["B","ADD",55,46,"-1/2"],["B","ADD",53,46,"-1/2"],["B","ADD",51,46,"-1/2"],["B","ADD",49,46,"-1/2"],["B","ADD",47,46,"-1/2"],["B","ADD",43,45,"-1"],["B","ADD",41,45,"128"],["B","ADD",40,45,"64"],["B","SCALE",45,"2"],["B","ADD",59,45,"-1/2"],["B","ADD",58,45,"-1/2"],["B","ADD",57,45,"-1/2"],["B","ADD",55,45,"-1/2"],["B","ADD",53,45,"-1/2"],["B","ADD",51,45,"-1/2"],["B","ADD",49,45,"-1/2"],["B","ADD",47,45,"-1/2"],["B","ADD",45,44,"-1"],["B","ADD",41,43,"128"],["B","ADD",40,43,"64"],["B","SCALE",43,"-1"],["B","ADD",59,43,"1"],["B","ADD",58,43,"1"],["B","ADD",57,43,"1"],["B","ADD",55,43,"1"],["B","ADD",53,43,"1"],["B","ADD",51,43,"1"],["B","ADD",49,43,"1"],["B","ADD",47,43,"1"],["B","SWAP",43,45],["B","ADD",43,42,"1"],["B","ADD",40,41,"-1/2"],["B","SCALE",41,"1/128"],["B","ADD",59,41,"1"],["B","ADD",58,41,"1"],["B","ADD",57,41,"1"],["B","ADD",55,41,"1"],["B","ADD",53,41,"1"],["B","ADD",51,41,"1"],["B","ADD",49,41,"1"],["B","ADD",47,41,"1"],["B","ADD",45,41,"1"],["B","SWAP",41,43],["B","SCALE",40,"1/128"],["B","ADD",59,40,"2"],["B","ADD",58,40,"2"],["B","ADD",57,40,"1"],["B","ADD",55,40,"1"],["B","ADD",53,40,"1"],["B","ADD",51,40,"1"],["B","ADD",49,40,"1"],["B","ADD",47,40,"1"],["B","ADD",45,40,"1"],["B","ADD",43,40,"1"],["B","ADD",41,40,"1"],["B","LAMBDA",40,-1],["B","QUERY",40,41,-1],["B","LAMBDA",40,1],["B","ADD",40,41,"-1"],["B","ADD",41,77,"-1"],["B","ADD",41,75,"1"],["B","ADD",41,74,"-2"],["B","ADD",41,73,"1"],["B","ADD",41,71,"-1"],["B","ADD",41,70,"2"],["B","ADD",41,69,"-1"],["B","ADD",41,67,"1"],["B","ADD",41,66,"-2"],["B","ADD",41,65,"1"],["B","ADD",41,63,"-1"],["B","ADD",41,62,"2"],["B","ADD",41,61,"-1"],["B","ADD",41,58,"-1"],["B","ADD",41,57,"2"],["B","ADD",41,56,"-1"],["B","ADD",41,54,"1"],["B","ADD",41,53,"-2"],["B","ADD",41,52,"1"],["B","ADD",41,50,"-1"],["B","ADD",41,49,"2"],["B","ADD",41,48,"-1"],["B","ADD",41,46,"1"],["B","ADD",41,45,"-2"],["B","ADD",41,44,"1"],["B","ADD",41,42,"-1"],["B","ADD",40,41,"-1"],["B","ADD",59,41,"-1"],["B","ADD",58,41,"-2"],["B","ADD",57,41,"-1"],["B","ADD",56,41,"-2"],["B","ADD",55,41,"-1"],["B","ADD",54,41,"-2"],["B","ADD",53,41,"-1"],["B","ADD",52,41,"-2"],["B","ADD",51,41,"-1"],["B","ADD",50,41,"-2"],["B","ADD",49,41,"-1"],["B","ADD",48,41,"-2"],["B","ADD",47,41,"-1"],["B","ADD",46,41,"-2"],["B","ADD",45,41,"-1"],["B","ADD",44,41,"-2"],["B","ADD",43,41,"-1"],["B","ADD",42,41,"-2"],["B","SCALE",40,"1/2"],["B","ADD",76,40,"-1"],["B","ADD",74,40,"-1"],["B","ADD",72,40,"-1"],["B","ADD",70,40,"-1"],["B","ADD",68,40,"-1"],["B","ADD",66,40,"-1"],["B","ADD",64,40,"-1"],["B","ADD",62,40,"-1"],["B","ADD",60,40,"-1"],["B","ADD",59,40,"-1"],["B","ADD",58,40,"-2"],["B","ADD",57,40,"-1"],["B","ADD",56,40,"-2"],["B","ADD",55,40,"-1"],["B","ADD",54,40,"-2"],["B","ADD",53,40,"-1"],["B","ADD",52,40,"-2"],["B","ADD",51,40,"-1"],["B","ADD",50,40,"-2"],["B","ADD",49,40,"-1"],["B","ADD",48,40,"-2"],["B","ADD",47,40,"-1"],["B","ADD",46,40,"-2"],["B","ADD",45,40,"-1"],["B","ADD",44,40,"-2"],["B","ADD",43,40,"-1"],["B","ADD",42,40,"-2"],["B","ADD",41,40,"1"],["B","LAMBDA",40,-1],["B","QUERY",40,41,-1],["B","LAMBDA",40,1],["B","ADD",40,41,"-1"],["B","SCALE",40,"2"],["B","ADD",77,40,"-1"],["B","ADD",76,40,"-1/2"],["B","ADD",75,40,"-1"],["B","ADD",74,40,"-1/2"],["B","ADD",73,40,"-1"],["B","ADD",72,40,"-1/2"],["B","ADD",71,40,"-1"],["B","ADD",70,40,"-1/2"],["B","ADD",69,40,"-1"],["B","ADD",68,40,"-1/2"],["B","ADD",67,40,"-1"],["B","ADD",66,40,"-1/2"],["B","ADD",65,40,"-1"],["B","ADD",64,40,"-1/2"],["B","ADD",63,40,"-1"],["B","ADD",62,40,"-1/2"],["B","ADD",61,40,"-1"],["B","ADD",60,40,"-1/2"],["B","ADD",59,40,"-1/2"],["B","ADD",57,40,"-1/2"],["B","ADD",55,40,"-1/2"],["B","ADD",53,40,"-1/2"],["B","ADD",51,40,"-1/2"],["B","ADD",49,40,"-1/2"],["B","ADD",47,40,"-1/2"],["B","ADD",45,40,"-1/2"],["B","ADD",43,40,"-1/2"],["B","ADD",41,40,"1/2"],["B","LAMBDA",40,-1],["B","QUERY",40,41,-1],["B","LAMBDA",40,1],["B","ADD",40,41,"-1"],["B","ADD",76,77,"-1/2"],["B","ADD",75,77,"-1"],["B","ADD",74,77,"-1"],["B","ADD",73,77,"-1"],["B","ADD",72,77,"-1"],["B","ADD",71,77,"-1"],["B","ADD",70,77,"-1"],["B","ADD",69,77,"-1"],["B","ADD",68,77,"-1"],["B","ADD",67,77,"-1"],["B","ADD",66,77,"-1"],["B","ADD",65,77,"-1"],["B","ADD",64,77,"-1"],["B","ADD",63,77,"-1"],["B","ADD",62,77,"-1"],["B","ADD",61,77,"-1"],["B","ADD",60,77,"-1"],["B","ADD",58,77,"1"],["B","ADD",56,77,"1"],["B","ADD",54,77,"1"],["B","ADD",52,77,"1"],["B","ADD",50,77,"1"],["B","ADD",48,77,"1"],["B","ADD",46,77,"1"],["B","ADD",44,77,"1"],["B","ADD",42,77,"1"],["B","ADD",40,77,"1"],["B","SCALE",77,"-1/2"],["B","ADD",75,76,"2"],["B","ADD",74,76,"2"],["B","ADD",73,76,"2"],["B","ADD",72,76,"2"],["B","ADD",71,76,"2"],["B","ADD",70,76,"2"],["B","ADD",69,76,"2"],["B","ADD",68,76,"2"],["B","ADD",67,76,"2"],["B","ADD",66,76,"2"],["B","ADD",65,76,"2"],["B","ADD",64,76,"2"],["B","ADD",63,76,"2"],["B","ADD",62,76,"2"],["B","ADD",61,76,"2"],["B","ADD",60,76,"2"],["B","ADD",58,76,"-2"],["B","ADD",56,76,"-2"],["B","ADD",54,76,"-2"],["B","ADD",52,76,"-2"],["B","ADD",50,76,"-2"],["B","ADD",48,76,"-2"],["B","ADD",46,76,"-2"],["B","ADD",44,76,"-2"],["B","ADD",42,76,"-2"],["B","ADD",40,76,"-2"],["B","SCALE",76,"2"],["B","ADD",77,76,"3/2"],["B","SWAP",76,77],["B","ADD",73,74,"-1/2"],["B","ADD",72,74,"-1"],["B","ADD",71,74,"-1"],["B","ADD",70,74,"-1"],["B","ADD",69,74,"-1"],["B","ADD",68,74,"-1"],["B","ADD",67,74,"-1"],["B","ADD",66,74,"-1"],["B","ADD",65,74,"-1"],["B","ADD",64,74,"-1"],["B","ADD",63,74,"-1"],["B","ADD",62,74,"-1"],["B","ADD",61,74,"-1"],["B","ADD",60,74,"-1"],["B","ADD",58,74,"1"],["B","ADD",56,74,"1"],["B","ADD",54,74,"1"],["B","ADD",52,74,"1"],["B","ADD",50,74,"1"],["B","ADD",48,74,"1"],["B","ADD",46,74,"1"],["B","ADD",44,74,"1"],["B","ADD",42,74,"1"],["B","ADD",40,74,"1"],["B","SCALE",74,"-1/2"],["B","ADD",77,74,"2"],["B","ADD",76,74,"2"],["B","ADD",75,74,"2"],["B","ADD",72,73,"2"],["B","ADD",71,73,"2"],["B","ADD",70,73,"2"],["B","ADD",69,73,"2"],["B","ADD",68,73,"2"],["B","ADD",67,73,"2"],["B","ADD",66,73,"2"],["B","ADD",65,73,"2"],["B","ADD",64,73,"2"],["B","ADD",63,73,"2"],["B","ADD",62,73,"2"],["B","ADD",61,73,"2"],["B","ADD",60,73,"2"],["B","ADD",58,73,"-2"],["B","ADD",56,73,"-2"],["B","ADD",54,73,"-2"],["B","ADD",52,73,"-2"],["B","ADD",50,73,"-2"],["B","ADD",48,73,"-2"],["B","ADD",46,73,"-2"],["B","ADD",44,73,"-2"],["B","ADD",42,73,"-2"],["B","ADD",40,73,"-2"],["B","SCALE",73,"2"],["B","ADD",77,73,"1"],["B","ADD",76,73,"1"],["B","ADD",75,73,"1"],["B","ADD",74,73,"3/2"],["B","SWAP",73,74],["B","ADD",71,72,"-1"],["B","ADD",70,72,"-1/2"],["B","ADD",69,72,"-1"],["B","ADD",68,72,"-1"],["B","ADD",67,72,"-1"],["B","ADD",66,72,"-1"],["B","ADD",65,72,"-1"],["B","ADD",64,72,"-1"],["B","ADD",63,72,"-1"],["B","ADD",62,72,"-1"],["B","ADD",61,72,"-1"],["B","ADD",60,72,"-1"],["B","ADD",58,72,"1"],["B","ADD",56,72,"1"],["B","ADD",54,72,"1"],["B","ADD",52,72,"1"],["B","ADD",50,72,"1"],["B","ADD",48,72,"1"],["B","ADD",46,72,"1"],["B","ADD",44,72,"1"],["B","ADD",42,72,"1"],["B","ADD",40,72,"1"],["B","SCALE",72,"-1/2"],["B","ADD",77,72,"2"],["B","ADD",76,72,"2"],["B","ADD",75,72,"2"],["B","ADD",74,72,"2"],["B","ADD",73,72,"2"],["B","ADD",70,71,"1/2"],["B","ADD",69,71,"-1"],["B","ADD",68,71,"-1"],["B","ADD",67,71,"-1"],["B","ADD",66,71,"-1"],["B","ADD",65,71,"-1"],["B","ADD",64,71,"-1"],["B","ADD",63,71,"-1"],["B","ADD",62,71,"-1"],["B","ADD",61,71,"-1"],["B","ADD",60,71,"-1"],["B","ADD",58,71,"1"],["B","ADD",56,71,"1"],["B","ADD",54,71,"1"],["B","ADD",52,71,"1"],["B","ADD",50,71,"1"],["B","ADD",48,71,"1"],["B","ADD",46,71,"1"],["B","ADD",44,71,"1"],["B","ADD",42,71,"1"],["B","ADD",40,71,"1"],["B","SCALE",71,"-1"],["B","ADD",77,71,"1"],["B","ADD",76,71,"1"],["B","ADD",75,71,"1"],["B","ADD",74,71,"1"],["B","ADD",73,71,"1"],["B","ADD",72,71,"3/2"],["B","SWAP",71,72],["B","ADD",69,70,"2"],["B","ADD",68,70,"2"],["B","ADD",67,70,"2"],["B","ADD",66,70,"2"],["B","ADD",65,70,"2"],["B","ADD",64,70,"2"],["B","ADD",63,70,"2"],["B","ADD",62,70,"2"],["B","ADD",61,70,"2"],["B","ADD",60,70,"2"],["B","ADD",58,70,"-2"],["B","ADD",56,70,"-2"],["B","ADD",54,70,"-2"],["B","ADD",52,70,"-2"],["B","ADD",50,70,"-2"],["B","ADD",48,70,"-2"],["B","ADD",46,70,"-2"],["B","ADD",44,70,"-2"],["B","ADD",42,70,"-2"],["B","ADD",40,70,"-2"],["B","SCALE",70,"2"],["B","ADD",77,70,"1"],["B","ADD",76,70,"1"],["B","ADD",75,70,"1"],["B","ADD",74,70,"1"],["B","ADD",73,70,"1"],["B","ADD",72,70,"1"],["B","ADD",71,70,"3/2"],["B","SWAP",70,71],["B","ADD",68,69,"-1/2"],["B","ADD",67,69,"-1"],["B","ADD",66,69,"-1"],["B","ADD",65,69,"-1"],["B","ADD",64,69,"-1"],["B","ADD",63,69,"-1"],["B","ADD",62,69,"-1"],["B","ADD",61,69,"-1"],["B","ADD",60,69,"-1"],["B","ADD",58,69,"1"],["B","ADD",56,69,"1"],["B","ADD",54,69,"1"],["B","ADD",52,69,"1"],["B","ADD",50,69,"1"],["B","ADD",48,69,"1"],["B","ADD",46,69,"1"],["B","ADD",44,69,"1"],["B","ADD",42,69,"1"],["B","ADD",40,69,"1"],["B","SCALE",69,"-1/2"],["B","ADD",77,69,"2"],["B","ADD",76,69,"2"],["B","ADD",75,69,"2"],["B","ADD",74,69,"2"],["B","ADD",73,69,"2"],["B","ADD",72,69,"2"],["B","ADD",71,69,"2"],["B","ADD",70,69,"2"],["B","ADD",67,68,"2"],["B","ADD",66,68,"2"],["B","ADD",65,68,"2"],["B","ADD",64,68,"2"],["B","ADD",63,68,"2"],["B","ADD",62,68,"2"],["B","ADD",61,68,"2"],["B","ADD",60,68,"2"],["B","ADD",58,68,"-2"],["B","ADD",56,68,"-2"],["B","ADD",54,68,"-2"],["B","ADD",52,68,"-2"],["B","ADD",50,68,"-2"],["B","ADD",48,68,"-2"],["B","ADD",46,68,"-2"],["B","ADD",44,68,"-2"],["B","ADD",42,68,"-2"],["B","ADD",40,68,"-2"],["B","SCALE",68,"2"],["B","ADD",77,68,"1"],["B","ADD",76,68,"1"],["B","ADD",75,68,"1"],["B","ADD",74,68,"1"],["B","ADD",73,68,"1"],["B","ADD",72,68,"1"],["B","ADD",71,68,"1"],["B","ADD",70,68,"1"],["B","ADD",69,68,"3/2"],["B","SWAP",68,69],["B","ADD",65,66,"-1/2"],["B","ADD",64,66,"-1"],["B","ADD",63,66,"-1"],["B","ADD",62,66,"-1"],["B","ADD",61,66,"-1"],["B","ADD",60,66,"-1"],["B","ADD",58,66,"1"],["B","ADD",56,66,"1"],["B","ADD",54,66,"1"],["B","ADD",52,66,"1"],["B","ADD",50,66,"1"],["B","ADD",48,66,"1"],["B","ADD",46,66,"1"],["B","ADD",44,66,"1"],["B","ADD",42,66,"1"],["B","ADD",40,66,"1"],["B","SCALE",66,"-1/2"],["B","ADD",77,66,"2"],["B","ADD",76,66,"2"],["B","ADD",75,66,"2"],["B","ADD",74,66,"2"],["B","ADD",73,66,"2"],["B","ADD",72,66,"2"],["B","ADD",71,66,"2"],["B","ADD",70,66,"2"],["B","ADD",69,66,"2"],["B","ADD",68,66,"2"],["B","ADD",67,66,"2"],["B","ADD",64,65,"2"],["B","ADD",63,65,"2"],["B","ADD",62,65,"2"],["B","ADD",61,65,"2"],["B","ADD",60,65,"2"],["B","ADD",58,65,"-2"],["B","ADD",56,65,"-2"],["B","ADD",54,65,"-2"],["B","ADD",52,65,"-2"],["B","ADD",50,65,"-2"],["B","ADD",48,65,"-2"],["B","ADD",46,65,"-2"],["B","ADD",44,65,"-2"],["B","ADD",42,65,"-2"],["B","ADD",40,65,"-2"],["B","SCALE",65,"2"],["B","ADD",77,65,"1"],["B","ADD",76,65,"1"],["B","ADD",75,65,"1"],["B","ADD",74,65,"1"],["B","ADD",73,65,"1"],["B","ADD",72,65,"1"],["B","ADD",71,65,"1"],["B","ADD",70,65,"1"],["B","ADD",69,65,"1"],["B","ADD",68,65,"1"],["B","ADD",67,65,"1"],["B","ADD",66,65,"3/2"],["B","SWAP",65,66],["B","ADD",63,64,"-1"],["B","ADD",62,64,"-1/2"],["B","ADD",61,64,"-1"],["B","ADD",60,64,"-1"],["B","ADD",58,64,"1"],["B","ADD",56,64,"1"],["B","ADD",54,64,"1"],["B","ADD",52,64,"1"],["B","ADD",50,64,"1"],["B","ADD",48,64,"1"],["B","ADD",46,64,"1"],["B","ADD",44,64,"1"],["B","ADD",42,64,"1"],["B","ADD",40,64,"1"],["B","SCALE",64,"-1/2"],["B","ADD",77,64,"2"],["B","ADD",76,64,"2"],["B","ADD",75,64,"2"],["B","ADD",74,64,"2"],["B","ADD",73,64,"2"],["B","ADD",72,64,"2"],["B","ADD",71,64,"2"],["B","ADD",70,64,"2"],["B","ADD",69,64,"2"],["B","ADD",68,64,"2"],["B","ADD",67,64,"2"],["B","ADD",66,64,"2"],["B","ADD",65,64,"2"],["B","ADD",62,63,"1/2"],["B","ADD",61,63,"-1"],["B","ADD",60,63,"-1"],["B","ADD",58,63,"1"],["B","ADD",56,63,"1"],["B","ADD",54,63,"1"],["B","ADD",52,63,"1"],["B","ADD",50,63,"1"],["B","ADD",48,63,"1"],["B","ADD",46,63,"1"],["B","ADD",44,63,"1"],["B","ADD",42,63,"1"],["B","ADD",40,63,"1"],["B","SCALE",63,"-1"],["B","ADD",77,63,"1"],["B","ADD",76,63,"1"],["B","ADD",75,63,"1"],["B","ADD",74,63,"1"],["B","ADD",73,63,"1"],["B","ADD",72,63,"1"],["B","ADD",71,63,"1"],["B","ADD",70,63,"1"],["B","ADD",69,63,"1"],["B","ADD",68,63,"1"],["B","ADD",67,63,"1"],["B","ADD",66,63,"1"],["B","ADD",65,63,"1"],["B","ADD",64,63,"3/2"],["B","SWAP",63,64],["B","ADD",61,62,"2"],["B","ADD",60,62,"2"],["B","ADD",58,62,"-2"],["B","ADD",56,62,"-2"],["B","ADD",54,62,"-2"],["B","ADD",52,62,"-2"],["B","ADD",50,62,"-2"],["B","ADD",48,62,"-2"],["B","ADD",46,62,"-2"],["B","ADD",44,62,"-2"],["B","ADD",42,62,"-2"],["B","ADD",40,62,"-2"],["B","SCALE",62,"2"],["B","ADD",77,62,"1"],["B","ADD",76,62,"1"],["B","ADD",75,62,"1"],["B","ADD",74,62,"1"],["B","ADD",73,62,"1"],["B","ADD",72,62,"1"],["B","ADD",71,62,"1"],["B","ADD",70,62,"1"],["B","ADD",69,62,"1"],["B","ADD",68,62,"1"],["B","ADD",67,62,"1"],["B","ADD",66,62,"1"],["B","ADD",65,62,"1"],["B","ADD",64,62,"1"],["B","ADD",63,62,"3/2"],["B","SWAP",62,63],["B","ADD",60,61,"-1/2"],["B","ADD",58,61,"1"],["B","ADD",56,61,"1"],["B","ADD",54,61,"1"],["B","ADD",52,61,"1"],["B","ADD",50,61,"1"],["B","ADD",48,61,"1"],["B","ADD",46,61,"1"],["B","ADD",44,61,"1"],["B","ADD",42,61,"1"],["B","ADD",40,61,"1"],["B","SCALE",61,"-1/2"],["B","ADD",77,61,"2"],["B","ADD",76,61,"2"],["B","ADD",75,61,"2"],["B","ADD",74,61,"2"],["B","ADD",73,61,"2"],["B","ADD",72,61,"2"],["B","ADD",71,61,"2"],["B","ADD",70,61,"2"],["B","ADD",69,61,"2"],["B","ADD",68,61,"2"],["B","ADD",67,61,"2"],["B","ADD",66,61,"2"],["B","ADD",65,61,"2"],["B","ADD",64,61,"2"],["B","ADD",63,61,"2"],["B","ADD",62,61,"2"],["B","ADD",58,60,"-2"],["B","ADD",56,60,"-2"],["B","ADD",54,60,"-2"],["B","ADD",52,60,"-2"],["B","ADD",50,60,"-2"],["B","ADD",48,60,"-2"],["B","ADD",46,60,"-2"],["B","ADD",44,60,"-2"],["B","ADD",42,60,"-2"],["B","ADD",40,60,"-2"],["B","SCALE",60,"2"],["B","ADD",77,60,"1"],["B","ADD",76,60,"1"],["B","ADD",75,60,"1"],["B","ADD",74,60,"1"],["B","ADD",73,60,"1"],["B","ADD",72,60,"1"],["B","ADD",71,60,"1"],["B","ADD",70,60,"1"],["B","ADD",69,60,"1"],["B","ADD",68,60,"1"],["B","ADD",67,60,"1"],["B","ADD",66,60,"1"],["B","ADD",65,60,"1"],["B","ADD",64,60,"1"],["B","ADD",63,60,"1"],["B","ADD",62,60,"1"],["B","ADD",61,60,"3/2"],["B","SWAP",60,61],["B","ADD",58,59,"-2"],["B","ADD",56,59,"-2"],["B","ADD",54,59,"-2"],["B","ADD",52,59,"-2"],["B","ADD",50,59,"-2"],["B","ADD",48,59,"-2"],["B","ADD",46,59,"-2"],["B","ADD",44,59,"-2"],["B","ADD",42,59,"-2"],["B","ADD",40,59,"-2"],["B","ADD",77,59,"2"],["B","ADD",76,59,"2"],["B","ADD",75,59,"2"],["B","ADD",74,59,"2"],["B","ADD",73,59,"2"],["B","ADD",72,59,"2"],["B","ADD",71,59,"2"],["B","ADD",70,59,"2"],["B","ADD",69,59,"2"],["B","ADD",68,59,"2"],["B","ADD",67,59,"2"],["B","ADD",66,59,"2"],["B","ADD",65,59,"2"],["B","ADD",64,59,"2"],["B","ADD",63,59,"2"],["B","ADD",62,59,"2"],["B","ADD",61,59,"2"],["B","ADD",60,59,"2"],["B","ADD",56,58,"-2"],["B","ADD",54,58,"-2"],["B","ADD",52,58,"-2"],["B","ADD",50,58,"-2"],["B","ADD",48,58,"-2"],["B","ADD",46,58,"-2"],["B","ADD",44,58,"-2"],["B","ADD",42,58,"-2"],["B","ADD",40,58,"-2"],["B","SCALE",58,"-1"],["B","ADD",77,58,"-2"],["B","ADD",76,58,"-2"],["B","ADD",75,58,"-2"],["B","ADD",74,58,"-2"],["B","ADD",73,58,"-2"],["B","ADD",72,58,"-2"],["B","ADD",71,58,"-2"],["B","ADD",70,58,"-2"],["B","ADD",69,58,"-2"],["B","ADD",68,58,"-2"],["B","ADD",67,58,"-2"],["B","ADD",66,58,"-2"],["B","ADD",65,58,"-2"],["B","ADD",64,58,"-2"],["B","ADD",63,58,"-2"],["B","ADD",62,58,"-2"],["B","ADD",61,58,"-2"],["B","ADD",60,58,"-2"],["B","ADD",56,57,"2"],["B","ADD",54,57,"2"],["B","ADD",52,57,"2"],["B","ADD",50,57,"2"],["B","ADD",48,57,"2"],["B","ADD",46,57,"2"],["B","ADD",44,57,"2"],["B","ADD",42,57,"2"],["B","ADD",40,57,"2"],["B","ADD",77,57,"-2"],["B","ADD",76,57,"-2"],["B","ADD",75,57,"-2"],["B","ADD",74,57,"-2"],["B","ADD",73,57,"-2"],["B","ADD",72,57,"-2"],["B","ADD",71,57,"-2"],["B","ADD",70,57,"-2"],["B","ADD",69,57,"-2"],["B","ADD",68,57,"-2"],["B","ADD",67,57,"-2"],["B","ADD",66,57,"-2"],["B","ADD",65,57,"-2"],["B","ADD",64,57,"-2"],["B","ADD",63,57,"-2"],["B","ADD",62,57,"-2"],["B","ADD",61,57,"-2"],["B","ADD",60,57,"-2"],["B","ADD",58,57,"2"],["B","ADD",54,55,"-2"],["B","ADD",52,55,"-2"],["B","ADD",50,55,"-2"],["B","ADD",48,55,"-2"],["B","ADD",46,55,"-2"],["B","ADD",44,55,"-2"],["B","ADD",42,55,"-2"],["B","ADD",40,55,"-2"],["B","ADD",77,55,"2"],["B","ADD",76,55,"2"],["B","ADD",75,55,"2"],["B","ADD",74,55,"2"],["B","ADD",73,55,"2"],["B","ADD",72,55,"2"],["B","ADD",71,55,"2"],["B","ADD",70,55,"2"],["B","ADD",69,55,"2"],["B","ADD",68,55,"2"],["B","ADD",67,55,"2"],["B","ADD",66,55,"2"],["B","ADD",65,55,"2"],["B","ADD",64,55,"2"],["B","ADD",63,55,"2"],["B","ADD",62,55,"2"],["B","ADD",61,55,"2"],["B","ADD",60,55,"2"],["B","ADD",58,55,"-2"],["B","ADD",56,55,"-2"],["B","ADD",52,54,"-2"],["B","ADD",50,54,"-2"],["B","ADD",48,54,"-2"],["B","ADD",46,54,"-2"],["B","ADD",44,54,"-2"],["B","ADD",42,54,"-2"],["B","ADD",40,54,"-2"],["B","SCALE",54,"-1"],["B","ADD",77,54,"-2"],["B","ADD",76,54,"-2"],["B","ADD",75,54,"-2"],["B","ADD",74,54,"-2"],["B","ADD",73,54,"-2"],["B","ADD",72,54,"-2"],["B","ADD",71,54,"-2"],["B","ADD",70,54,"-2"],["B","ADD",69,54,"-2"],["B","ADD",68,54,"-2"],["B","ADD",67,54,"-2"],["B","ADD",66,54,"-2"],["B","ADD",65,54,"-2"],["B","ADD",64,54,"-2"],["B","ADD",63,54,"-2"],["B","ADD",62,54,"-2"],["B","ADD",61,54,"-2"],["B","ADD",60,54,"-2"],["B","ADD",58,54,"2"],["B","ADD",56,54,"2"],["B","ADD",52,53,"2"],["B","ADD",50,53,"2"],["B","ADD",48,53,"2"],["B","ADD",46,53,"2"],["B","ADD",44,53,"2"],["B","ADD",42,53,"2"],["B","ADD",40,53,"2"],["B","ADD",77,53,"-2"],["B","ADD",76,53,"-2"],["B","ADD",75,53,"-2"],["B","ADD",74,53,"-2"],["B","ADD",73,53,"-2"],["B","ADD",72,53,"-2"],["B","ADD",71,53,"-2"],["B","ADD",70,53,"-2"],["B","ADD",69,53,"-2"],["B","ADD",68,53,"-2"],["B","ADD",67,53,"-2"],["B","ADD",66,53,"-2"],["B","ADD",65,53,"-2"],["B","ADD",64,53,"-2"],["B","ADD",63,53,"-2"],["B","ADD",62,53,"-2"],["B","ADD",61,53,"-2"],["B","ADD",60,53,"-2"],["B","ADD",58,53,"2"],["B","ADD",56,53,"2"],["B","ADD",54,53,"2"],["B","ADD",50,51,"-2"],["B","ADD",48,51,"-2"],["B","ADD",46,51,"-2"],["B","ADD",44,51,"-2"],["B","ADD",42,51,"-2"],["B","ADD",40,51,"-2"],["B","ADD",77,51,"2"],["B","ADD",76,51,"2"],["B","ADD",75,51,"2"],["B","ADD",74,51,"2"],["B","ADD",73,51,"2"],["B","ADD",72,51,"2"],["B","ADD",71,51,"2"],["B","ADD",70,51,"2"],["B","ADD",69,51,"2"],["B","ADD",68,51,"2"],["B","ADD",67,51,"2"],["B","ADD",66,51,"2"],["B","ADD",65,51,"2"],["B","ADD",64,51,"2"],["B","ADD",63,51,"2"],["B","ADD",62,51,"2"],["B","ADD",61,51,"2"],["B","ADD",60,51,"2"],["B","ADD",58,51,"-2"],["B","ADD",56,51,"-2"],["B","ADD",54,51,"-2"],["B","ADD",52,51,"-2"],["B","ADD",48,50,"-2"],["B","ADD",46,50,"-2"],["B","ADD",44,50,"-2"],["B","ADD",42,50,"-2"],["B","ADD",40,50,"-2"],["B","SCALE",50,"-1"],["B","ADD",77,50,"-2"],["B","ADD",76,50,"-2"],["B","ADD",75,50,"-2"],["B","ADD",74,50,"-2"],["B","ADD",73,50,"-2"],["B","ADD",72,50,"-2"],["B","ADD",71,50,"-2"],["B","ADD",70,50,"-2"],["B","ADD",69,50,"-2"],["B","ADD",68,50,"-2"],["B","ADD",67,50,"-2"],["B","ADD",66,50,"-2"],["B","ADD",65,50,"-2"],["B","ADD",64,50,"-2"],["B","ADD",63,50,"-2"],["B","ADD",62,50,"-2"],["B","ADD",61,50,"-2"],["B","ADD",60,50,"-2"],["B","ADD",58,50,"2"],["B","ADD",56,50,"2"],["B","ADD",54,50,"2"],["B","ADD",52,50,"2"],["B","ADD",48,49,"2"],["B","ADD",46,49,"2"],["B","ADD",44,49,"2"],["B","ADD",42,49,"2"],["B","ADD",40,49,"2"],["B","ADD",77,49,"-2"],["B","ADD",76,49,"-2"],["B","ADD",75,49,"-2"],["B","ADD",74,49,"-2"],["B","ADD",73,49,"-2"],["B","ADD",72,49,"-2"],["B","ADD",71,49,"-2"],["B","ADD",70,49,"-2"],["B","ADD",69,49,"-2"],["B","ADD",68,49,"-2"],["B","ADD",67,49,"-2"],["B","ADD",66,49,"-2"],["B","ADD",65,49,"-2"],["B","ADD",64,49,"-2"],["B","ADD",63,49,"-2"],["B","ADD",62,49,"-2"],["B","ADD",61,49,"-2"],["B","ADD",60,49,"-2"],["B","ADD",58,49,"2"],["B","ADD",56,49,"2"],["B","ADD",54,49,"2"],["B","ADD",52,49,"2"],["B","ADD",50,49,"2"],["B","ADD",46,47,"-2"],["B","ADD",44,47,"-2"],["B","ADD",42,47,"-2"],["B","ADD",40,47,"-2"],["B","ADD",77,47,"2"],["B","ADD",76,47,"2"],["B","ADD",75,47,"2"],["B","ADD",74,47,"2"],["B","ADD",73,47,"2"],["B","ADD",72,47,"2"],["B","ADD",71,47,"2"],["B","ADD",70,47,"2"],["B","ADD",69,47,"2"],["B","ADD",68,47,"2"],["B","ADD",67,47,"2"],["B","ADD",66,47,"2"],["B","ADD",65,47,"2"],["B","ADD",64,47,"2"],["B","ADD",63,47,"2"],["B","ADD",62,47,"2"],["B","ADD",61,47,"2"],["B","ADD",60,47,"2"],["B","ADD",58,47,"-2"],["B","ADD",56,47,"-2"],["B","ADD",54,47,"-2"],["B","ADD",52,47,"-2"],["B","ADD",50,47,"-2"],["B","ADD",48,47,"-2"],["B","ADD",44,46,"-2"],["B","ADD",42,46,"-2"],["B","ADD",40,46,"-2"],["B","SCALE",46,"-1"],["B","ADD",77,46,"-2"],["B","ADD",76,46,"-2"],["B","ADD",75,46,"-2"],["B","ADD",74,46,"-2"],["B","ADD",73,46,"-2"],["B","ADD",72,46,"-2"],["B","ADD",71,46,"-2"],["B","ADD",70,46,"-2"],["B","ADD",69,46,"-2"],["B","ADD",68,46,"-2"],["B","ADD",67,46,"-2"],["B","ADD",66,46,"-2"],["B","ADD",65,46,"-2"],["B","ADD",64,46,"-2"],["B","ADD",63,46,"-2"],["B","ADD",62,46,"-2"],["B","ADD",61,46,"-2"],["B","ADD",60,46,"-2"],["B","ADD",58,46,"2"],["B","ADD",56,46,"2"],["B","ADD",54,46,"2"],["B","ADD",52,46,"2"],["B","ADD",50,46,"2"],["B","ADD",48,46,"2"],["B","ADD",44,45,"2"],["B","ADD",42,45,"2"],["B","ADD",40,45,"2"],["B","ADD",77,45,"-2"],["B","ADD",76,45,"-2"],["B","ADD",75,45,"-2"],["B","ADD",74,45,"-2"],["B","ADD",73,45,"-2"],["B","ADD",72,45,"-2"],["B","ADD",71,45,"-2"],["B","ADD",70,45,"-2"],["B","ADD",69,45,"-2"],["B","ADD",68,45,"-2"],["B","ADD",67,45,"-2"],["B","ADD",66,45,"-2"],["B","ADD",65,45,"-2"],["B","ADD",64,45,"-2"],["B","ADD",63,45,"-2"],["B","ADD",62,45,"-2"],["B","ADD",61,45,"-2"],["B","ADD",60,45,"-2"],["B","ADD",58,45,"2"],["B","ADD",56,45,"2"],["B","ADD",54,45,"2"],["B","ADD",52,45,"2"],["B","ADD",50,45,"2"],["B","ADD",48,45,"2"],["B","ADD",46,45,"2"],["B","ADD",42,43,"-2"],["B","ADD",40,43,"-2"],["B","ADD",77,43,"2"],["B","ADD",76,43,"2"],["B","ADD",75,43,"2"],["B","ADD",74,43,"2"],["B","ADD",73,43,"2"],["B","ADD",72,43,"2"],["B","ADD",71,43,"2"],["B","ADD",70,43,"2"],["B","ADD",69,43,"2"],["B","ADD",68,43,"2"],["B","ADD",67,43,"2"],["B","ADD",66,43,"2"],["B","ADD",65,43,"2"],["B","ADD",64,43,"2"],["B","ADD",63,43,"2"],["B","ADD",62,43,"2"],["B","ADD",61,43,"2"],["B","ADD",60,43,"2"],["B","ADD",58,43,"-2"],["B","ADD",56,43,"-2"],["B","ADD",54,43,"-2"],["B","ADD",52,43,"-2"],["B","ADD",50,43,"-2"],["B","ADD",48,43,"-2"],["B","ADD",46,43,"-2"],["B","ADD",44,43,"-2"],["B","ADD",40,42,"-2"],["B","SCALE",42,"-1"],["B","ADD",77,42,"-2"],["B","ADD",76,42,"-2"],["B","ADD",75,42,"-2"],["B","ADD",74,42,"-2"],["B","ADD",73,42,"-2"],["B","ADD",72,42,"-2"],["B","ADD",71,42,"-2"],["B","ADD",70,42,"-2"],["B","ADD",69,42,"-2"],["B","ADD",68,42,"-2"],["B","ADD",67,42,"-2"],["B","ADD",66,42,"-2"],["B","ADD",65,42,"-2"],["B","ADD",64,42,"-2"],["B","ADD",63,42,"-2"],["B","ADD",62,42,"-2"],["B","ADD",61,42,"-2"],["B","ADD",60,42,"-2"],["B","ADD",58,42,"2"],["B","ADD",56,42,"2"],["B","ADD",54,42,"2"],["B","ADD",52,42,"2"],["B","ADD",50,42,"2"],["B","ADD",48,42,"2"],["B","ADD",46,42,"2"],["B","ADD",44,42,"2"],["B","SCALE",41,"-1"],["B","ADD",77,41,"-2"],["B","ADD",76,41,"-2"],["B","ADD",75,41,"-2"],["B","ADD",74,41,"-2"],["B","ADD",73,41,"-2"],["B","ADD",72,41,"-2"],["B","ADD",71,41,"-2"],["B","ADD",70,41,"-2"],["B","ADD",69,41,"-2"],["B","ADD",68,41,"-2"],["B","ADD",67,41,"-2"],["B","ADD",66,41,"-2"],["B","ADD",65,41,"-2"],["B","ADD",64,41,"-2"],["B","ADD",63,41,"-2"],["B","ADD",62,41,"-2"],["B","ADD",61,41,"-2"],["B","ADD",60,41,"-2"],["B","SCALE",40,"1/2"],["B","ADD",77,40,"2"],["B","ADD",76,40,"2"],["B","ADD",75,40,"2"],["B","ADD",74,40,"2"],["B","ADD",73,40,"2"],["B","ADD",72,40,"2"],["B","ADD",71,40,"2"],["B","ADD",70,40,"2"],["B","ADD",69,40,"2"],["B","ADD",68,40,"2"],["B","ADD",67,40,"2"],["B","ADD",66,40,"2"],["B","ADD",65,40,"2"],["B","ADD",64,40,"2"],["B","ADD",63,40,"2"],["B","ADD",62,40,"2"],["B","ADD",61,40,"2"],["B","ADD",60,40,"2"],["B","ADD",58,40,"-2"],["B","ADD",56,40,"-2"],["B","ADD",54,40,"-2"],["B","ADD",52,40,"-2"],["B","ADD",50,40,"-2"],["B","ADD",48,40,"-2"],["B","ADD",46,40,"-2"],["B","ADD",44,40,"-2"],["B","ADD",42,40,"-2"],["B","SWAP",40,41],["B","LAMBDA",40,-1],["B","QUERY",40,41,-1],["B","LAMBDA",40,1],["B","ADD",40,41,"-1"],["B","ADD",41,77,"1"],["B","ADD",74,76,"-1"],["B","ADD",72,76,"-1"],["B","ADD",70,76,"-1"],["B","ADD",68,76,"-1"],["B","ADD",66,76,"-1"],["B","ADD",64,76,"-1"],["B","ADD",60,76,"-1/2"],["B","ADD",41,76,"1"],["B","SWAP",75,77],["B","ADD",41,74,"1"],["B","SWAP",74,76],["B","ADD",41,73,"-1"],["B","ADD",41,72,"1"],["B","ADD",41,70,"-1"],["B","ADD",41,69,"1"],["B","ADD",41,68,"-1"],["B","SWAP",67,71],["B","ADD",41,66,"1"],["B","SWAP",66,70],["B","ADD",41,65,"-1"],["B","SWAP",65,73],["B","ADD",41,64,"1"],["B","SWAP",64,72],["B","SWAP",63,77],["B","ADD",41,62,"-1"],["B","SWAP",62,76],["B","ADD",60,61,"-1"],["B","ADD",40,61,"1"],["B","SCALE",61,"-2"],["B","ADD",77,61,"1"],["B","ADD",76,61,"1"],["B","SWAP",61,75],["B","SCALE",60,"-2"],["B","ADD",74,60,"-1"],["B","ADD",72,60,"1"],["B","ADD",70,60,"1"],["B","ADD",68,60,"1"],["B","ADD",66,60,"1"],["B","ADD",64,60,"1"],["B","ADD",62,60,"1"],["B","ADD",41,59,"-1"],["B","ADD",41,58,"1"],["B","ADD",41,57,"-1"],["B","ADD",41,55,"1"],["B","ADD",41,54,"-1"],["B","ADD",41,53,"1"],["B","ADD",41,51,"-1"],["B","ADD",41,50,"1"],["B","ADD",41,49,"-1"],["B","ADD",41,47,"1"],["B","ADD",41,46,"-1"],["B","ADD",41,45,"1"],["B","ADD",41,43,"-1"],["B","ADD",41,42,"1"],["B","ADD",40,41,"1"],["B","SCALE",41,"-128"],["B","ADD",74,41,"1/64"],["B","ADD",72,41,"-1/64"],["B","ADD",70,41,"-1/64"],["B","ADD",68,41,"-1/64"],["B","ADD",66,41,"-1/64"],["B","ADD",64,41,"-1/64"],["B","ADD",62,41,"-1/64"],["B","ADD",60,41,"-1/64"],["B","SCALE",40,"128"],["B","ADD",77,40,"1/32"],["B","ADD",76,40,"1/64"],["B","ADD",75,40,"1/32"],["B","ADD",74,40,"-1/64"],["B","SWAP",40,41],["B","LAMBDA",40,-1],["J",10,[1,0,20,21],[41,40,"-1","1/2"]],["A","LAMBDA",20,-1],["A","SCALE",21,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",2,[10]],["A","IDLE_ONE",3,[10,11]],["A","IDLE_ONE",4,[10,11,12]],["A","IDLE_ONE",5,[10,11,12,13]],["A","IDLE_ONE",6,[10,11,12,13,14]],["A","IDLE_ONE",7,[10,11,12,13,14,15]],["A","IDLE_ONE",8,[10,11,12,13,14,15,16]],["A","IDLE_ONE",9,[10,11,12,13,14,15,16,17]],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","ADD",20,21,"-1"],["A","IDLE_ONE",22,[10]],["A","IDLE_ONE",23,[10,11]],["A","IDLE_ONE",24,[10,11,12]],["A","IDLE_ONE",25,[10,11,12,13]],["A","IDLE_ONE",26,[10,11,12,13,14]],["A","IDLE_ONE",27,[10,11,12,13,14,15]],["A","IDLE_ONE",28,[10,11,12,13,14,15,16]],["A","IDLE_ONE",29,[10,11,12,13,14,15,16,17]],["A","SWAP",37,38],["A","SWAP",36,38],["A","SWAP",35,38],["A","SWAP",34,38],["A","SWAP",33,38],["A","SWAP",32,38],["A","SWAP",31,38],["A","SWAP",30,38],["A","SWAP",29,38],["A","SWAP",28,38],["A","SWAP",27,38],["A","SWAP",26,38],["A","SWAP",25,38],["A","SWAP",24,38],["A","SWAP",23,38],["A","ADD",21,22,"-1"],["A","SCALE",22,"-1"],["A","SWAP",22,38],["A","ADD",38,21,"-2"],["A","ADD",38,20,"2"],["A","ADD",21,20,"-1"],["A","SWAP",20,38],["A","LAMBDA",20,1],["B","LAMBDA",40,1],["B","IDLE_ONE",60,[10,11,12,13,14,15,16,17]],["B","IDLE_ONE",61,[10,11,12,13,14,15,16,17]],["B","IDLE_ONE",62,[10,11,12,13,14,15,16]],["B","IDLE_ONE",63,[10,11,12,13,14,15,16]],["B","IDLE_ONE",64,[10,11,12,13,14,15]],["B","IDLE_ONE",65,[10,11,12,13,14,15]],["B","IDLE_ONE",66,[10,11,12,13,14]],["B","IDLE_ONE",67,[10,11,12,13,14]],["B","IDLE_ONE",68,[10,11,12,13]],["B","IDLE_ONE",69,[10,11,12,13]],["B","IDLE_ONE",70,[10,11,12]],["B","IDLE_ONE",71,[10,11,12]],["B","IDLE_ONE",72,[10,11]],["B","IDLE_ONE",73,[10,11]],["B","IDLE_ONE",74,[10]],["B","IDLE_ONE",75,[10]],["B","IDLE_ONE",76,[10]],["B","IDLE_ONE",77,[10]],["B","ADD",76,77,"-1/2"],["B","ADD",75,77,"-1"],["B","ADD",74,77,"1/2"],["B","ADD",41,77,"-64"],["B","SCALE",77,"1/4"],["B","ADD",74,76,"-2"],["B","SCALE",76,"2"],["B","ADD",77,76,"1/2"],["B","ADD",74,75,"3/2"],["B","ADD",41,75,"64"],["B","ADD",40,75,"64"],["B","SCALE",75,"2"],["B","ADD",77,75,"-5/8"],["B","ADD",76,75,"-3/2"],["B","SWAP",75,77],["B","ADD",40,74,"-64"],["B","ADD",76,74,"2"],["B","ADD",75,74,"3/2"],["B","SWAP",74,75],["B","SWAP",73,75],["B","SWAP",72,74],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","SWAP",65,67],["B","SWAP",64,66],["B","SWAP",63,65],["B","SWAP",62,64],["B","SWAP",61,63],["B","SWAP",60,62],["B","ADD",40,41,"1/2"],["B","SCALE",41,"-1"],["B","ADD",77,41,"1/32"],["B","ADD",76,41,"-1/64"],["B","ADD",61,41,"1/64"],["B","ADD",60,41,"1/128"],["B","SCALE",40,"-1"],["B","ADD",77,40,"-1/32"],["B","ADD",61,40,"-1/64"],["B","ADD",60,40,"-1/64"],["B","ADD",41,40,"-1"],["B","LAMBDA",40,-1],["J",11,[1,0,20,21],[41,40,"-1","1/2"]],["A","LAMBDA",20,-1],["A","SCALE",21,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",37,38],["A","SWAP",36,38],["A","SWAP",35,38],["A","SWAP",34,38],["A","SWAP",33,38],["A","SWAP",32,38],["A","SWAP",31,38],["A","SWAP",30,38],["A","SWAP",29,38],["A","SWAP",28,38],["A","SWAP",27,38],["A","SWAP",26,38],["A","SWAP",25,38],["A","SWAP",24,38],["A","SWAP",23,38],["A","ADD",21,22,"-1"],["A","ADD",20,22,"-1"],["A","SCALE",22,"-1"],["A","SWAP",22,38],["A","ADD",20,21,"-1"],["A","ADD",38,21,"-2"],["A","ADD",38,20,"2"],["A","ADD",21,20,"-1"],["A","SWAP",20,38],["A","LAMBDA",20,1],["B","LAMBDA",40,1],["B","IDLE_ONE",76,[11]],["B","IDLE_ONE",77,[11]],["B","ADD",76,77,"1"],["B","ADD",74,77,"-1/4"],["B","ADD",41,77,"-64"],["B","SCALE",77,"-1/2"],["B","ADD",75,76,"1/2"],["B","ADD",74,76,"1/2"],["B","ADD",41,76,"64"],["B","ADD",40,76,"32"],["B","SWAP",76,77],["B","ADD",74,75,"-1/2"],["B","ADD",41,75,"-128"],["B","SCALE",75,"-1"],["B","ADD",77,75,"2"],["B","ADD",76,75,"-1"],["B","ADD",40,74,"128"],["B","SCALE",74,"-2"],["B","ADD",76,74,"1"],["B","ADD",75,74,"1"],["B","SWAP",73,75],["B","SWAP",72,74],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","SWAP",65,67],["B","SWAP",64,66],["B","SWAP",63,65],["B","SWAP",62,64],["B","ADD",40,41,"1/2"],["B","SCALE",41,"-1"],["B","ADD",77,41,"1/32"],["B","ADD",76,41,"-1/64"],["B","ADD",63,41,"1/64"],["B","ADD",62,41,"1/128"],["B","SCALE",40,"-1"],["B","ADD",77,40,"-1/32"],["B","ADD",63,40,"-1/64"],["B","ADD",62,40,"-1/64"],["B","ADD",41,40,"-1"],["B","LAMBDA",40,-1],["J",12,[1,0,20,21],[41,40,"-1","1/2"]],["A","LAMBDA",20,-1],["A","SCALE",21,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",37,38],["A","SWAP",36,38],["A","SWAP",35,38],["A","SWAP",34,38],["A","SWAP",33,38],["A","SWAP",32,38],["A","SWAP",31,38],["A","SWAP",30,38],["A","SWAP",29,38],["A","SWAP",28,38],["A","SWAP",27,38],["A","SWAP",26,38],["A","SWAP",25,38],["A","SWAP",24,38],["A","SWAP",23,38],["A","ADD",21,22,"-1"],["A","ADD",20,22,"-1"],["A","SCALE",22,"-1"],["A","SWAP",22,38],["A","ADD",20,21,"-1"],["A","ADD",38,21,"-2"],["A","ADD",38,20,"2"],["A","ADD",21,20,"-1"],["A","SWAP",20,38],["A","LAMBDA",20,1],["B","LAMBDA",40,1],["B","IDLE_ONE",76,[12]],["B","IDLE_ONE",77,[12]],["B","ADD",76,77,"1"],["B","ADD",74,77,"-1/4"],["B","ADD",41,77,"-64"],["B","SCALE",77,"-1/2"],["B","ADD",75,76,"1/2"],["B","ADD",74,76,"1/2"],["B","ADD",41,76,"64"],["B","ADD",40,76,"32"],["B","SWAP",76,77],["B","ADD",74,75,"-1/2"],["B","ADD",41,75,"-128"],["B","SCALE",75,"-1"],["B","ADD",77,75,"2"],["B","ADD",76,75,"-1"],["B","ADD",40,74,"128"],["B","SCALE",74,"-2"],["B","ADD",76,74,"1"],["B","ADD",75,74,"1"],["B","SWAP",73,75],["B","SWAP",72,74],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","SWAP",65,67],["B","SWAP",64,66],["B","ADD",40,41,"1/2"],["B","SCALE",41,"-1"],["B","ADD",77,41,"1/32"],["B","ADD",76,41,"-1/64"],["B","ADD",65,41,"1/64"],["B","ADD",64,41,"1/128"],["B","SCALE",40,"-1"],["B","ADD",77,40,"-1/32"],["B","ADD",65,40,"-1/64"],["B","ADD",64,40,"-1/64"],["B","ADD",41,40,"-1"],["B","LAMBDA",40,-1],["J",13,[1,0,20,21],[41,40,"-1","1/2"]],["A","LAMBDA",20,-1],["A","SCALE",21,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",37,38],["A","SWAP",36,38],["A","SWAP",35,38],["A","SWAP",34,38],["A","SWAP",33,38],["A","SWAP",32,38],["A","SWAP",31,38],["A","SWAP",30,38],["A","SWAP",29,38],["A","SWAP",28,38],["A","SWAP",27,38],["A","SWAP",26,38],["A","SWAP",25,38],["A","SWAP",24,38],["A","SWAP",23,38],["A","ADD",21,22,"-1"],["A","ADD",20,22,"-1"],["A","SCALE",22,"-1"],["A","SWAP",22,38],["A","ADD",20,21,"-1"],["A","ADD",38,21,"-2"],["A","ADD",38,20,"2"],["A","ADD",21,20,"-1"],["A","SWAP",20,38],["A","LAMBDA",20,1],["B","LAMBDA",40,1],["B","IDLE_ONE",76,[13]],["B","IDLE_ONE",77,[13]],["B","ADD",76,77,"1"],["B","ADD",74,77,"-1/4"],["B","ADD",41,77,"-64"],["B","SCALE",77,"-1/2"],["B","ADD",75,76,"1/2"],["B","ADD",74,76,"1/2"],["B","ADD",41,76,"64"],["B","ADD",40,76,"32"],["B","SWAP",76,77],["B","ADD",74,75,"-1/2"],["B","ADD",41,75,"-128"],["B","SCALE",75,"-1"],["B","ADD",77,75,"2"],["B","ADD",76,75,"-1"],["B","ADD",40,74,"128"],["B","SCALE",74,"-2"],["B","ADD",76,74,"1"],["B","ADD",75,74,"1"],["B","SWAP",73,75],["B","SWAP",72,74],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","ADD",40,41,"1/2"],["B","SCALE",41,"-1"],["B","ADD",77,41,"1/32"],["B","ADD",76,41,"-1/64"],["B","ADD",67,41,"1/64"],["B","ADD",66,41,"1/128"],["B","SCALE",40,"-1"],["B","ADD",77,40,"-1/32"],["B","ADD",67,40,"-1/64"],["B","ADD",66,40,"-1/64"],["B","ADD",41,40,"-1"],["B","LAMBDA",40,-1],["J",14,[1,0,20,21],[41,40,"-1","1/2"]],["A","LAMBDA",20,-1],["A","SCALE",21,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",37,38],["A","SWAP",36,38],["A","SWAP",35,38],["A","SWAP",34,38],["A","SWAP",33,38],["A","SWAP",32,38],["A","SWAP",31,38],["A","SWAP",30,38],["A","SWAP",29,38],["A","SWAP",28,38],["A","SWAP",27,38],["A","SWAP",26,38],["A","SWAP",25,38],["A","SWAP",24,38],["A","SWAP",23,38],["A","ADD",21,22,"-1"],["A","ADD",20,22,"-1"],["A","SCALE",22,"-1"],["A","SWAP",22,38],["A","ADD",20,21,"-1"],["A","ADD",38,21,"-2"],["A","ADD",38,20,"2"],["A","ADD",21,20,"-1"],["A","SWAP",20,38],["A","LAMBDA",20,1],["B","LAMBDA",40,1],["B","IDLE_ONE",76,[14]],["B","IDLE_ONE",77,[14]],["B","ADD",76,77,"1"],["B","ADD",74,77,"-1/4"],["B","ADD",41,77,"-64"],["B","SCALE",77,"-1/2"],["B","ADD",75,76,"1/2"],["B","ADD",74,76,"1/2"],["B","ADD",41,76,"64"],["B","ADD",40,76,"32"],["B","SWAP",76,77],["B","ADD",74,75,"-1/2"],["B","ADD",41,75,"-128"],["B","SCALE",75,"-1"],["B","ADD",77,75,"2"],["B","ADD",76,75,"-1"],["B","ADD",40,74,"128"],["B","SCALE",74,"-2"],["B","ADD",76,74,"1"],["B","ADD",75,74,"1"],["B","SWAP",73,75],["B","SWAP",72,74],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","ADD",40,41,"1/2"],["B","SCALE",41,"-1"],["B","ADD",77,41,"1/32"],["B","ADD",76,41,"-1/64"],["B","ADD",69,41,"1/64"],["B","ADD",68,41,"1/128"],["B","SCALE",40,"-1"],["B","ADD",77,40,"-1/32"],["B","ADD",69,40,"-1/64"],["B","ADD",68,40,"-1/64"],["B","ADD",41,40,"-1"],["B","LAMBDA",40,-1],["J",15,[1,0,20,21],[41,40,"-1","1/2"]],["A","LAMBDA",20,-1],["A","SCALE",21,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",37,38],["A","SWAP",36,38],["A","SWAP",35,38],["A","SWAP",34,38],["A","SWAP",33,38],["A","SWAP",32,38],["A","SWAP",31,38],["A","SWAP",30,38],["A","SWAP",29,38],["A","SWAP",28,38],["A","SWAP",27,38],["A","SWAP",26,38],["A","SWAP",25,38],["A","SWAP",24,38],["A","SWAP",23,38],["A","ADD",21,22,"-1"],["A","ADD",20,22,"-1"],["A","SCALE",22,"-1"],["A","SWAP",22,38],["A","ADD",20,21,"-1"],["A","ADD",38,21,"-2"],["A","ADD",38,20,"2"],["A","ADD",21,20,"-1"],["A","SWAP",20,38],["A","LAMBDA",20,1],["B","LAMBDA",40,1],["B","IDLE_ONE",76,[15]],["B","IDLE_ONE",77,[15]],["B","ADD",76,77,"1"],["B","ADD",74,77,"-1/4"],["B","ADD",41,77,"-64"],["B","SCALE",77,"-1/2"],["B","ADD",75,76,"1/2"],["B","ADD",74,76,"1/2"],["B","ADD",41,76,"64"],["B","ADD",40,76,"32"],["B","SWAP",76,77],["B","ADD",74,75,"-1/2"],["B","ADD",41,75,"-128"],["B","SCALE",75,"-1"],["B","ADD",77,75,"2"],["B","ADD",76,75,"-1"],["B","ADD",40,74,"128"],["B","SCALE",74,"-2"],["B","ADD",76,74,"1"],["B","ADD",75,74,"1"],["B","SWAP",73,75],["B","SWAP",72,74],["B","SWAP",71,73],["B","SWAP",70,72],["B","ADD",40,41,"1/2"],["B","SCALE",41,"-1"],["B","ADD",77,41,"1/32"],["B","ADD",76,41,"-1/64"],["B","ADD",71,41,"1/64"],["B","ADD",70,41,"1/128"],["B","SCALE",40,"-1"],["B","ADD",77,40,"-1/32"],["B","ADD",71,40,"-1/64"],["B","ADD",70,40,"-1/64"],["B","ADD",41,40,"-1"],["B","LAMBDA",40,-1],["J",16,[1,0,20,21],[41,40,"-1","1/2"]],["A","LAMBDA",20,-1],["A","SCALE",21,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",37,38],["A","SWAP",36,38],["A","SWAP",35,38],["A","SWAP",34,38],["A","SWAP",33,38],["A","SWAP",32,38],["A","SWAP",31,38],["A","SWAP",30,38],["A","SWAP",29,38],["A","SWAP",28,38],["A","SWAP",27,38],["A","SWAP",26,38],["A","SWAP",25,38],["A","SWAP",24,38],["A","SWAP",23,38],["A","ADD",21,22,"-1"],["A","ADD",20,22,"-1"],["A","SCALE",22,"-1"],["A","SWAP",22,38],["A","ADD",20,21,"-1"],["A","ADD",38,21,"-2"],["A","ADD",38,20,"2"],["A","ADD",21,20,"-1"],["A","SWAP",20,38],["A","LAMBDA",20,1],["B","LAMBDA",40,1],["B","IDLE_ONE",76,[16]],["B","IDLE_ONE",77,[16]],["B","ADD",76,77,"1"],["B","ADD",74,77,"-1/4"],["B","ADD",41,77,"-64"],["B","SCALE",77,"-1/2"],["B","ADD",75,76,"1/2"],["B","ADD",74,76,"1/2"],["B","ADD",41,76,"64"],["B","ADD",40,76,"32"],["B","SWAP",76,77],["B","ADD",74,75,"-1/2"],["B","ADD",41,75,"-128"],["B","SCALE",75,"-1"],["B","ADD",77,75,"2"],["B","ADD",76,75,"-1"],["B","ADD",40,74,"128"],["B","SCALE",74,"-2"],["B","ADD",76,74,"1"],["B","ADD",75,74,"1"],["B","SWAP",73,75],["B","SWAP",72,74],["B","ADD",40,41,"1/2"],["B","SCALE",41,"-1"],["B","ADD",77,41,"1/32"],["B","ADD",76,41,"-1/64"],["B","ADD",73,41,"1/64"],["B","ADD",72,41,"1/128"],["B","SCALE",40,"-1"],["B","ADD",77,40,"-1/32"],["B","ADD",73,40,"-1/64"],["B","ADD",72,40,"-1/64"],["B","ADD",41,40,"-1"],["B","LAMBDA",40,-1],["J",17,[1,0,20,21],[41,40,"-1","1/2"]],["A","LAMBDA",20,-1],["A","SCALE",21,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",37,38],["A","SWAP",36,38],["A","SWAP",35,38],["A","SWAP",34,38],["A","SWAP",33,38],["A","SWAP",32,38],["A","SWAP",31,38],["A","SWAP",30,38],["A","SWAP",29,38],["A","SWAP",28,38],["A","SWAP",27,38],["A","SWAP",26,38],["A","SWAP",25,38],["A","SWAP",24,38],["A","SWAP",23,38],["A","ADD",21,22,"-1"],["A","ADD",20,22,"-1"],["A","SCALE",22,"-1"],["A","SWAP",22,38],["A","ADD",20,21,"-1"],["A","ADD",38,21,"-2"],["A","ADD",38,20,"2"],["A","ADD",21,20,"-1"],["A","SWAP",20,38],["A","LAMBDA",20,1],["B","LAMBDA",40,1],["B","IDLE_ONE",76,[17]],["B","IDLE_ONE",77,[17]],["B","ADD",76,77,"1"],["B","ADD",74,77,"-1/4"],["B","ADD",41,77,"-64"],["B","SCALE",77,"-1/4"],["B","ADD",75,76,"1/2"],["B","ADD",74,76,"1/2"],["B","ADD",41,76,"64"],["B","ADD",40,76,"32"],["B","SCALE",76,"1/2"],["B","SWAP",76,77],["B","ADD",74,75,"-1/2"],["B","ADD",41,75,"-128"],["B","SCALE",75,"-1"],["B","ADD",77,75,"1"],["B","ADD",76,75,"-1/2"],["B","ADD",40,74,"128"],["B","SCALE",74,"-2"],["B","ADD",76,74,"1/2"],["B","ADD",75,74,"1"],["B","ADD",40,41,"1/2"],["B","SCALE",41,"-1"],["B","ADD",77,41,"1/64"],["B","ADD",76,41,"-1/128"],["B","ADD",75,41,"1/64"],["B","ADD",74,41,"1/128"],["B","SCALE",40,"-1"],["B","ADD",77,40,"-1/64"],["B","ADD",75,40,"-1/64"],["B","ADD",74,40,"-1/64"],["B","ADD",41,40,"-1"],["B","LAMBDA",40,-1],["J",18,[1,0,20,21],[41,40,"-1","1/2"]],["A","LAMBDA",20,-1],["A","SCALE",21,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","SWAP",2,18],["A","ADD",0,1,"-2"],["A","SWAP",1,18],["A","SCALE",0,"-1"],["A","ADD",18,0,"-1"],["A","LAMBDA",0,-1],["A","LAMBDA",1,-1],["A","LAMBDA",2,-1],["A","LAMBDA",3,-1],["A","LAMBDA",4,-1],["A","LAMBDA",5,-1],["A","LAMBDA",6,-1],["A","LAMBDA",7,-1],["A","LAMBDA",8,-1],["A","LAMBDA",9,-1],["A","LAMBDA",10,-1],["A","LAMBDA",11,-1],["A","LAMBDA",12,-1],["A","LAMBDA",13,-1],["A","LAMBDA",14,-1],["A","LAMBDA",15,-1],["A","LAMBDA",16,-1],["A","LAMBDA",17,-1],["A","LAMBDA",18,-1],["A","LAMBDA",19,-1],["A","SWAP",37,38],["A","SWAP",36,38],["A","SWAP",35,38],["A","SWAP",34,38],["A","SWAP",33,38],["A","SWAP",32,38],["A","SWAP",31,38],["A","SWAP",30,38],["A","SWAP",29,38],["A","SWAP",28,38],["A","SWAP",27,38],["A","SWAP",26,38],["A","SWAP",25,38],["A","SWAP",24,38],["A","SWAP",23,38],["A","SWAP",22,38],["A","ADD",20,21,"-2"],["A","SWAP",21,38],["A","SCALE",20,"-1"],["A","ADD",38,20,"-1"],["A","LAMBDA",20,-1],["A","LAMBDA",21,-1],["A","LAMBDA",22,-1],["A","LAMBDA",23,-1],["A","LAMBDA",24,-1],["A","LAMBDA",25,-1],["A","LAMBDA",26,-1],["A","LAMBDA",27,-1],["A","LAMBDA",28,-1],["A","LAMBDA",29,-1],["A","LAMBDA",30,-1],["A","LAMBDA",31,-1],["A","LAMBDA",32,-1],["A","LAMBDA",33,-1],["A","LAMBDA",34,-1],["A","LAMBDA",35,-1],["A","LAMBDA",36,-1],["A","LAMBDA",37,-1],["A","LAMBDA",38,-1],["A","LAMBDA",39,-1],["B","LAMBDA",40,1],["B","IDLE_ONE",76,[18]],["B","IDLE_ONE",77,[18]],["B","ADD",41,77,"-128"],["B","ADD",40,77,"64"],["B","SCALE",77,"-1"],["B","ADD",40,76,"128"],["B","SCALE",76,"-1"],["B","ADD",77,76,"2"],["B","ADD",40,41,"1/2"],["B","SCALE",41,"1/128"],["B","ADD",77,41,"-2"],["B","ADD",76,41,"-1"],["B","SCALE",40,"1/128"],["B","ADD",77,40,"2"],["B","ADD",76,40,"2"],["B","SWAP",40,41],["B","LAMBDA",40,-1],["B","LAMBDA",41,-1],["B","LAMBDA",42,-1],["B","LAMBDA",43,-1],["B","LAMBDA",44,-1],["B","LAMBDA",45,-1],["B","LAMBDA",46,-1],["B","LAMBDA",47,-1],["B","LAMBDA",48,-1],["B","LAMBDA",49,-1],["B","LAMBDA",50,-1],["B","LAMBDA",51,-1],["B","LAMBDA",52,-1],["B","LAMBDA",53,-1],["B","LAMBDA",54,-1],["B","LAMBDA",55,-1],["B","LAMBDA",56,-1],["B","LAMBDA",57,-1],["B","LAMBDA",58,-1],["B","LAMBDA",59,-1],["B","LAMBDA",60,-1],["B","LAMBDA",61,-1],["B","LAMBDA",62,-1],["B","LAMBDA",63,-1],["B","LAMBDA",64,-1],["B","LAMBDA",65,-1],["B","LAMBDA",66,-1],["B","LAMBDA",67,-1],["B","LAMBDA",68,-1],["B","LAMBDA",69,-1],["B","LAMBDA",70,-1],["B","LAMBDA",71,-1],["B","LAMBDA",72,-1],["B","LAMBDA",73,-1],["B","LAMBDA",74,-1],["B","LAMBDA",75,-1],["B","LAMBDA",76,-1],["B","LAMBDA",77,-1]]} \ No newline at end of file diff --git a/research/odd-native-common-grid/source/data/word.json.gz b/research/odd-native-common-grid/source/data/word.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..476c66170e47832557ad1720cb7ced4b0978a500 GIT binary patch literal 348400 zcmV(xKXKZf)N$nIT}tjNws) zB9WjYg#-lz1O7a&va9^QuE*=!=j1~KIBIqGS}xyRuA8gu|M}zZ{`e1n^Y=gg>JL8D zuRrHEmGJfFmi@o^H{^f*xI=QkW1rgi?O#5QIvf4><9GBi#_^lRZyvv8{EobF*@Q*>qp)&@`jN&jJ#pg8AiS^@`aI)%8m63 zW4*#yuQ1js(44zYAIki4MVj)z9l4_`um8V{&@sUOC=V{bCY2EO@&7sYGwoeI>;F6u zlm535VICc8Ne@{4YJUFD1G&T4C~YiY^W~N2w>EU34FxuM@ zj)VjE&y|jx5C)h2#J;-x3s~!-zkHe0DZQbzy2S-U>*L5s|COdQ121mT3i^`<-%ngc ze39r>-IHX}AGl9^{>7!qdm!8cQ23WOBFT7;1is&KxBma8DEuA@!teY0dngEr6@!`f zTZ+L4rGOQJi!wm4QyJj2yE2fe4}Vbv{`V;Y&)@39zgQ*UsQ@5h|CV+N_xpdl=J`LN z0Nm0(DF7(nz5N9Lzr~*q;wF~=|0F)q+b^a69-{thSWDUsZB2bUhCbR4gGR(bBck(< z?U0t_9>;G2oH<>jaliiGmm{_SrRfx&M^y)8G8(zx}U2 z{^}2Z@cysA{@_R2A7UPV=u4!ekUM{-kMup(@u$o*PArs~=ue&Bsd%CcjjK%bJuu9d z*$91(v$mEw4`m7bo$7I1J13UFeJb@DS%f=Vwmmfu%Y}!?iW;Lr$D0^Iu*Jp5Rm~=ggdQE+wb;&QM;a#7j{- zL%D3@Qk6ePMhDIr5~mlgfe|AXN(r1Nd2WSk7@{0~W>gyDCH0E4^GpT$%N5RrpCe-w zn;msuB-jm!G;-DUD!mBt_C4+(mUSMM9Uqcd3q4E&E+SCF9BS`!jG*>+q za)rE`Noy#{R`whtC;>XAgDJHjya!@Rr03@UB3X%Ojhz*SP?>UttlGj2 zLS>ld5u`~o?Wn9h+JDv6j*dO5TK%$B?G7JRy+?9XHG2h0?C#nU=|R*d*(95xv$Ms3 zk(DeX5WrQH3xFF>3h+hRI7)1QEwLK6B_6#pC8Ui9pb=wXh3h>GPN)3D_)t3KXND;0 zqkgK#7k@h}oFG2PgS|{Hk{@Jwvq=C@76t(I#S`9u_$K`?K(@^L-S}H_I2w;S zj&K7UjmLB3?FQJ5KLmt#8~M#~Ex%x=2@o{jgD_F6*B#W*;j68kc+8tzV#RCNjPHFX-U zcUMK}sYyG7a+jSh`Ge$N^`y4znQHfznGVs2*4a&sgW#;?(v-#tn+hkvrm8w%Q+cNk zU15?mE8wc6hNbIEoeQ>-SEIXf{-U)}z86Hlylc>WTAwuf%1hJkrZTxc5O%Fk1D~fp z`ZZ@Pt^bsR*N6)72VT7_dA^dA(^|QXfx^>T@bzkhzwDNF2`VimG@X03zw+*7)%mNf z|J;%6*M6q)PYs-^lMfrVc72(}#(y?~Fq$lcok~9eR%UK%b&U&-?cJsAXN5bz4rSJ( z`I~f;`peb}#v)mWNpI-jOP4tY2@TjT6CwaN~k)iWCEjmz?h>p zx9fg1zPascLvqTucg}Y$`S`lm1%r_WqOu=);bFlaf!-h6dCzLR-uFDIxkYIAEwooH#C2ma*9rl z7b>{O;WPm+*rPC=(`%hu&{^)h&#E6^w2ajE_@)L8-SWlJQJY z!5&ujzUrJt^qG6-BR7cM2!HEg*Z+iRG0iEx+{L7NhD4;_EYYS;mL40sYb&pMA72R4`lGg*9<@of z+2;EGGJWQ&IqPXqij!$gQu;Mb@>AN6eN)XvduC>47=3X$@`vbAsMuG0+p?OP`Ip#F z!Xs<l)P>Cq>g>b(b9A>;%Qh%O6-ZG70?+|KQu;?e#6TkR+hHB z)5z;ebYxZj$!$s%XQ9|}84x`(Qm+1oLz(s3;GyF^lp?pNhJMyzjy*RpUTlCn@qL&w zQG<1psb8*59r?g-DJ{zYR+lzKO8HJLUX2l|dXNv9+8mzt1=_zVRI02sC7UHbO~XKv zoxrYVa~bs^Hw43KKF=GZx`z()5?oZaCS?H@x#O)JRS!k|P z=Swr=6x-OIBqc=+UACPR76s#T)2Z=3P<^bdkoU3vP%ZOX~BCL+zD~>1W+J$-%Rn;Dv5sjcSaS z-3L~d_LKvqjnW^+^<9t|*CHL{3pR>-_NrY7{k1BHZ@c}gf=#QkWY5>^PfFf`h(b){ zMJ(ncd)hfl!2~|3Wqz<5;bE)bYUD-zlm}^7X9a3CejXuka+BrMZ?pM~`2^C4Ebh?BmCH|?uz!PD_w_(?vg?Gt1zZR&j7R|b`uQ0&* zcjZy{NKqm*E1EdeRzmFY4c6v0%d_#v!p)MD6tX#Hd@pfS;bHE()b#UG1=h|=i?=-J zl~g~0k})iG>jB;VBWrq!RQ~lW<=&IH6JO{zOFoD8Mg>LFEuAuJd3_eCj5khwe2!Yx z+C*`=FtAi2h^R0b84;DaAW;`&2{M#vQOYgIP&Q6{?ZVyoW4~$}LR+>$KWyIG9&Di3 zW#Op{M}^jlJ-Dxo3YtQX+CkMO8hMuYH$AOrJM*?eDnDF?)CG*;fje!IOg%aEPXZ#T zlXcJYpZ-iB8)r$%ZXaezV$jn^N)ChMXlS3k^D;=0e9y~Y!y`!!?vwLN92>o#gpKs0N3A5{s&VOIH+rIg zocM7s2^GUD=gY<KhNvxxW*GuHPFr|Hq|PI{u|j4&0nO>e~X;h*YeePAuC zT8%c(!xthiY5e6cKphYTYJ1{wYcIP7eOI%@#EsbBXTZF~X)bXjW>!yaI6U;W>FdXB zPMv0_F|%AtPO&%ptaZ_Vy|34DJyx~}8St+H;Z)%QD?zijzsqJ5W|tHPt!72zqgMVV(QD+D(s`&xb5<@n!bC)Fd)m2`CJjCuJ&RUz5ak|55q?d3eXQTLIisLP^FWzMOVb3W#uu0oSSJqpq; zYH#mcJ}{7-RgBj_6;FfwqE$_Z!PB0iM!2UZlCYjl49eHT^H&{urr^1xV#%s%S$VQh zw`RUPU59;S%U++WB&qq)*25P^Ngs4Q-f~IVX0oyt>zR*goO;{#tY}MPN-~?_OyGt@iA?Q1iC>D1r8i#6`Pf?8GSKrC&?D~~a zES3*n#Jt8{=X7ucq%hpcn$vsLm*QQ@BjehpG;i<1$-lW>m1TUQ=F$OZfDb=5aS7*^ zdwHjo_V!&XQ_^^pTn>{z&_D?Kdc?s~(d7=Z5chjNjzIgb{3&&LI@kmqZ5uZ+zQy-hoJ0vWrPsW2K zi5EOfMuV>;fiFY%NcP+X=@7&6H>Ynm?*r53utT!Sq8gs_K)Qu_y zh4YpCl8qNK=RKT$2%ucYQ|^7zf>ZRJncXS=J_BK%bwqat=crI!&YDX&m`zgg^-0!b z30^YsgHOEFhb>yX!tBbkaus=-2)&2v`4W%c3v(sL57D=rqVGOnc#6MgFpo&o?IBSE z5*=+MQa)?egUOdXyfHFaWa_8D`=liO^uw>F?uS6tPGR~7lnBvWmDSF4eGpOA)r7!PsNV2e-?M0Vd7a$T~G1(F(aoSFvWv+Ze4_@ zqWy}47Ms-enh<%l=s68v&~r2@mb-Z_NW+cOh5eZ!tKqUf)tS{9 z)Q#RBc}~l2Uv{0MepIvqYRQ$9ZLH<_P;+f~tvuT@-D65#X9Sv<-Zn{2JkAAFrrVQR zRnmE;tWuTw*0pNw#7^C_Z=Cgq7?Dm#l`XhJ4KSKv zY5F^m?%BOf&)-`mo~H?C9NSUNR=@dxa{3;HlIQ(oB`r69J|NsdQU2>0FSUG$TG}2y z>(KVEzkdAjAO85?{>WE*kM0Z}Lwj?;zi75P_i<9x_!U`H#zJu zcj;2z`B#3WL|cF5S2`A|{M&!#3dq&F?_V8Ikbkc~(htYCy4pWdJT>{Z|0t}(KiaaB zfBTQXm`yycTAK;)#gtj8e*(4)%*s5?i52C*cPkbq*WJktnvpI58w_SPnYo!%t2WBn zERyY6lZ<>3C!HXSDu0!qP66~YH;tH?&L7K4pL`TC(fAi0`j?--{QL{%x}TWNBcsoT z@7);5QPMDm_-hQ{mq>jCWc|;i&_bB$I$^#;b#e#dJp7G`IB~Fb9VuVINxXGtDJu(e z;j+qb4U_BX#p+q=ae5Car%P*eudH01%XiH3RqVy_1+DaC0$yK#xVxqY*qk52V_Q=jT<@G~bK}v@CsH%qt>ACWF?GzyITZ|6A1; zZ`|!r6!~`Rk2>OHYI!S%e}-oG;%Rq=cCxdNybN%%Ut(iZI4ILS&@sY{*`XQoV-ElE zfBeJW{>T6DcYplbzyFW_^~Yb0k^J~C|M*Y;jqV;@$K!hJz$V-20?_5kk9BfHb^x-y ztN--8HGMink|~8G46+Zl$FV5Q{WASzC-JafjFZ#PK5~h|he%0$M`=FRjRbSF(_vN| zI>{VE3qY5t&uDqM)3AEB< zUh|mi)TfM=ILd&giZ*7a8%!v`p0`yXlSrdi6zBrpF{>2WO(;}2FnQn_-P29(V-&aL z`Qr7+);U_E|ME}&_@DmiZ~img2m9mS|LcGC@BZx%!pR^0XZZ2Op-_?=|MHW~Y4 z{BnBcz&C|dfpEVcutL}P2U8g(heS<3Qv)%AfvHDk>I}{J50jc=1F1Pg)LtG7evZkL zqjz>kC9x7k^=EFvP9n7L%(<1B`p!({>!{s!uMTAT5zgK!BU|jZuJnEPrs>d_zNldYY967X-P5uWc zLCFX;ht%)`Hc`W^$MrJD#NcodV!pV@;J9aR+1>nxTixu(UKs)i&n2J_fBIq@VbFKTCy>kWRzO{2 zPT=ED2%_PDPLQj|S=j_cS{qy$fuaLtLgz9GfM}^B9*?Je*N;-OB?28SO@Ql=fCb^q z1pz#s12<&c9}%_BkV`X_@CMaJfbWVX!STvfxa17;9`=Hmp7)?W=7trPVHpDTA!O4u-62HE-ii_oNN>8n0kH-%Eko=IlRX6AO7lPSn8DW)(3@kE zeWcKTHg}YE0v*Uz(-^l4>8PMemOccHK?A~BiH|EsbuObWB&nh0OyHxq7jX7TXs8*x-(xQ=){$Y1@Rf%Re4Hi6JUB`&2Y5}*pz8i- zNk{#ztinClXj<1viKWC)&8&?aYg)&!J(zW!n8DTBU^qX6OYP{NjIi`hOLq=nRI+BT zl`;Nf1gSNhpmX-fg2J#dFQcqQo8IfAurKbUF>6sBnOO(rcKytf*W9L*f;V07ed9$= zJ(~GTbxkl_IwtTkeJLNCnqJtPNY#6aCrYLw^U@ow?71|l2wEgpOFwZk6=^w-?ZCy~ zU_p$K$B$k4l(qRWaEp|AwI14#>g~d$EX@zOFPVV>_CmC#5DK_zuWLO7&U2 zDZd)W!1w^3$e6;XZYTdJdIF<%x)KdMYmV(x+4>2XK6E(x4?_+86R>>(zUKGDt+3`d zc_L^AH-y~7(fCizdTF+}R4uhizC4lAg7XKg=s{^=AH>jLd{+h&{8-Fxu`c#@Uy0bu zC!ms1H|hq2Mo8qOBPWgJQ=Mz&RhFYM@qNP-p^GEN_HH(o*E%1KmaH5#WJRNCqgc=fCXK>A|P zx}!nwLFPqLaM9bUTa?t5k)1zTTkt>EY79CLuo5KqOt7D*cJBQwNuCglyh)zwUt05ov z=)j)!bgD9ij~+_2Xvl^M*_*8cdKS9w1M0*v8BGMRKvo1YNyK*OmHq>D4_#$P=5ziOwB$XO%xw?z8oG24QMrD;TwAApD29nMbnsnQLipayYK28dVsG zVufR`=#xBgfCGO+R_60gPJ)vp0~ln=8(Byvu#Hv~Z5zq-W=ZSncNuCkpp8LTCL`84fxj8ij?g|xV?Lz(Cf#;6Qc~jA09~%a#d)snAcTwi z-T~1GX>(!^#Fr{UE))XTOtn@zhr#rDC5{}zW7D~Nb zJ9m)vx3hmb`>Bu3ha0FbG(b6ID|Ju2)1dn{sw`Or)#0~HKbPqZS7ByQPluRLRU^jO zUVs6p)E`KSI816mM4|8OVymD7?K7H+gfZF2i3epHAj%kNK@vz%E}WeoLW05cvIUGp z{LvXBve4mNAtlxcNn$nI<0lrI5R<9q(Z%)E}V4W%^!WG^bDEOKL;Xzex4cBQ@8s|GiY0q8s< zhe(UDjWJe~L)Fw~tciZ}To;R#%!{gfDTNF=K$hZ(&O;_Q^1`Tpm7l!zP`U=#KdnBX z@9wn-W{qnTd4TM3K$sd?s%U*=ZM03OG&qe9Aj3k0HYCGdVH0WZhGJzZJ`J2zI9D5N zLzKMgS^u(_ptiliJp-b?gI1{hE_tx0vLf_gj%W2^-5bQgTVuE1*1dsa4iG)RC5?p4 z%JUftR!gjD(tDLdChIlpEHVh0-N9}yYQDqF)r%N~gxVr@0cY4lJ(awXKKCF1@ z^*Am@W_G4^JvACqruS$TMd}ENY)Ft)Z=O!7>3MRrC8K2Mm+R#U%q@Np$Z}J8E{rBl z{LN~xxPYA~EqTC>J~?IH74e=d+$*ML1#Z_KhZe5o4t9=fAFTE4kG800MAG)4h5gga zs9sygasbAcRXFGaXVDR>4A2jhEEZ{VeVpSGX)zgur{yt4Iio&^v1AEZ7VDh|0C5N) zri0rwVCiNSW64eN&D&UVQGBx+Om13jR>pY~6J33&rRPbquuh+cHXo5>;B=bD3R?>8 z^k8tQ6JQQYzS0J#lR!?rVUWL5bImz^JSZ7e=xIh8?69Lr5D6d?12aPq0|d0_xm=$b zBWdKS)BFj=TGH(ujZ<@2^SU2pT{8ls8=Q&J3z z<{h=i->e~RTPr3T6tl3nN6o-bB!&maJ&|4~9xBi7b;t}nbNYwU*?&5!&tm zIH;pQIMwCl=xWIfm z{&10hhkCsuy-J6fSM<{NHBRBc1POP5#KVS?6~3d*213v>A%{;l@5}QB@k_+%9AfJ} z#S+~DM2<)}3W+uA5&7<^dSV$J`9UnJf_^xj&Yw;lHm^qHed9PnZ~eJv@WtsMt6@Ih z;S#TL3kdl}dlLocEI_yw;h+fPWH>?bQkyfZjMII;q=PV{1(>lF2|$7kl$a0@<}?8* z;npdz!e@|vF7`^Mh03T;pj9=jW+*oaC_ zo?#vlq-WUliv9o%NRWr^)Qa&yWlX%(OfEO%<@i!ifFd|R!$d<1NDkyW4{GP|jNHNc zaX=yL5ePw?02`IH(jy##Yqv2wQ~(6*&SbpvL?APh)De|Vd|_^Ys7!7=Kfn&25hn&? zIN$`dTPLlt=^j_law8f*sR2#IjCH6Wf9A*-JFwg_TC8AMo9r(8mgB#{jG|~S5g zlMB?)U9Cgn$`H!WnvFXm19OQM)>c6uJ(;?bv;Kc8gC}cNan}8BR!)aS23S|&9Dasu zyzeHgrwEF=RkV^R*}B~^ET&9Kue1Jev*w``p93a;x7lCQBl2~dpxDh4ke}P?ZnJg9 z)t}zb9Fhy$thmN=EaWD(8Z~o3E@BL$LnpFXSobhlbZ-VzrQT!*TBEFKBNLvp9$XU~ zEW(hF6$1lXxQ%}m!v;}e$1&?#HHXuS^LE|HuWGGZPjqr-J*HN#(=?k_s4UFlf4 zIO`C#;B1F-)}x8RDS@Skt8S7L`%mM|CHpVh$&Rv!L#7}fac300SrYH;pqm#Fh9KKF zQwWSLTb~nZ!K>5ccbTo*k?bL!YGW^%NI=nOW}&?7qn3X9Yz!(32gu_#8E2tIE+Rln zp$K&P?(OP2S)tOw`ne>l;1Exp&bAbH%D%&6gFxXlYZvaq93OQG!x`n0;;eg@B6-Jt_-jXEp zgjpExizRvF2D9*zd~FR96k(wOp(ZJa()lxdx+JA_-E42KG(H>pPo6Dvx{_I5A^*v; zPcO9pyHKct^;cQE)ft9O{wQmClLaOfU&x2r@*FQbp?hz~DGZ@>D}Z>F$jIF;8y68- zR=WeD_Gy$fKpASvbjo5kc9caUZ+TOCi+NyL*?1UJ~Kn-ZR2 zWCQY}SR$Y)r?fa0ZIJGga6GCb+Nd)et2G~W9 z%9L$cB}#_cIU$9lJy=%mM4JB2g*;Zz1LUA0X7^yT21Vi?fxzZO4Y#tQ6JeZ=7t9R% zxRn~ysK4@ZCv=j8wo3Yry*FV^hSjm12-`#Gv7#K=?Y4Sp7F|T~7|H#_;;B=r)lPis zN=VP~bRnZd+-0X#bB%#=Y=ho(iNR8KtPgYkQ#ElvbVobeT?K zhMENMyhdp$>fNAp5| zXA(jYy9MRTD#zY#GZnW9#)5=SBx5>@DoNO4YLLdfELODvp4Pf3(u5yNaaJpvaA?j3 zq^1Lxt$iwPdqpv9FzUG*2@=7XTZnFlW>L2X2@&qRe`pP(om(+RwN;t}uPE9AOAqIb zNUAL$>0M8{{fTE$73gf4L=;OS1vD6X8C939^ZGq=MbBat(IO+=&$HN1rC^^^?$zUH zx=icc&J8N_;q&@Sj1M2>c1)bM^%96hfb z$YCrf?N-XGu0j6(<^;UxStJn1ROoW23NISpc_blEUrZ^koF)N&<<%K~(^}*f^uuS9 z)6*rL-7k-egBjw@ed;rrDoQq)>jCN0XR%lSIR}CKd~GzyKRx~I0GxI9ndy9Cvu(iT zjPtXzE6C5T`k+75e^AY}|Lj)@>Ssqglg{pICY8O&Orz`(7VQ$UmpCdak=^0@e_44KJvvg?CJC+_rDi(`!sPqPtWa~4$kz7AOVfneiVT9=7;HC z^4oZnnSNfKPTmoyCf|Z~>5ML^?Fvc)GAGC3UMO5fPv?M_GIT&A4Fz+;f``h_UR|o= zXX!C0lv_*QDWsiNV>k}sa;UYO*0O8iJd|MP!VR7>$j>1-=uDuCdz>Sme1{)_a2{yscW5Hg9a@!XC<~OV? zhYKKGh{9#ywK#rD&b~8|f(^qV&mx;lNwbb$$UJ&77{d`sB~M!frkKHanGVK`w&kRN z$7pos3$RU z#*;D6WR}uSCvJk!!-m$`c|sDsu8=ICCe(&VaEBi>gGl)DAi2VdLV~$n#mN~}LY{X& z(6Bf*#}118)KKlyN;S%zTb70nt$h49@PIlI9p8+$3q(Tryyny+f(L@N~@D!mZU>3v%u*`Ia zrea1CC6JzB!&AS=py3rsWYdkjypn0ZbdV07f|(GCA_6^PO(nwu5$+BSFbW`lH17nh zbjLUOpe6`qP_lz#_BT2=!;U(Hu%^@i0B_l;DP@peFv%f*h##O+o#RhHG9)40A=19W zkxVaZhsd(t)-u)9QeofMyErD%mOaAI$zK#@eDtj*tS)uq%@aA~-o2_b@=l zgPzUdbcZAd4#P?|b#7%VPE13cU2P7}GO5cH;E(&N7*r4uiK)TrLkD6d16skXV%orL za)yg%?_!wp&1v45v10S_#rb{&2o_u5LYK-mhoZ%14sy!#0mO?Dcog;k+E(G(5?|AW zBE~pFN?d_MA!A%WIm=`eGseZq&BmjsF^0zK8Yt~n>BLrQQ@Tv3&-BJfa42$&YY(v} zQ=DVR2#k8h=6bHX@U4X)d~EjH6;L)xS-x}7%qd5ZQHDyV-vPytapiVGIEIX?9-sK0 zXB0&?d)A6wZjK`(aOnXIx<*+n$1WQnl58OwKqWTT6F9~g0d(PUkGb-NaVVaQmm`%K zr2^u~=ClM~VTOec-?{QdQ4U3v&HlR<=HVrXDVrFRY2`8sD&y&Q)mvy>_2(f1N8^_` z!^#%i&QFw;O|9}hRw%TLGhFCE(2br8AS6L{dUMI6`h)D$?sBat!|Hyjd<_=}F`HA@ zKoAngm@#tX6w%uFES*m_649@rSE@SMJE_;I(pJqV&WwBA9ba;X0?l|)3R+SpV-6ib zmB9Ge?2{XkuO*wnX^5XTDWBRP!4zUC9UbO_4Jx5*k z3cyLQ!qY{eh;?~kEHQ#(TrW(8^jX`vq?@(;%r<6iNg37PdF+Y~fR%ID+GK_WY_KRZ z;(IEs0tyj}b}K|sfy$gSava32O-uw6DvT&s8&fJwsD=RWFBIjG5w)7NRk|+T?4S@- zKmfh+DyaI5Hjl`;gn=1Fu(5R0*-6x)7`938Y}}nNFeDauk&rXrkB{QmxLUrSHKRbb zwMv6#Ac7`LDADB#K7dfRB@Pt;EgzvWDwhzCa3TYzA$4|(fKKUn@}PF1p=2! zN_@w}IY3@r-qeI$gF%qnT#WiN+aR|s_nEN7oVRoaG${^qTPT{rbSG61J!V-P=_Z_` zg007~ZfoD#E#g$-uNjP6h%*KTne=4oy4%D%1S`Zip}>GZIwh{*CkTdnYA|-Rq9uF- z!I0zOM1-(Vp{^|ih$BI}HKay+QG`?S8s?)W4n@Ur11&osRyr{?AfeWY0x<*=(03mn zikWR$$!|bqo$hzv0eg2sWxEIBgA)}Y6u#5Lp#Zt9H3t+SH_?;Ca)97Y7cE4CgK1=X1$t2xQs}dhm^iF%$|l8SizYQG zdJmFh7puk>XK^61Zq{xzj~e!Tq-tV;>y}K)d|wj;*G;p`IUhxE4^~_Ry@rNuc1@8* zNI+*VA{vxfvfa(4s-1(MQ*j{5Zh~_}rM(h-OGt{cD|;Jl?YBg42o*AJan^%q06_lED1|F zo(w_okN)LzdI(URPGjxq-MY1?3#&YiMpEn{XjJd z4eZ_GmRba1!TJf9KJ+zyu+t>9143Z?1gv8BGLeZgt)+ru?!!3zrv{ZK*`wklG^yI* z%efV(GVUWBJ8yAY&k#_QuVif&QAI0MQcox@JUdo3?2;|Vh9k~xP?N1%cC;_nXc5b{ z^Mqh6jd2^80LPDdbX$6|GJ6!|DcB>rxb5e`*jCkfA_FUUlnvp*p+OXVYl=;0oTTbo zQ1wx#if(W)3MwI^QS@q{_T3QUsD^|Vs|QoO)oP#6Aqs~mPNge_04yEq^pLYN^dkrl zf~P1!bPRq{H`qAENzmyD!l{zmP{qf59->_kjSpE+f*|y1nha&L#n6FiFbK{@I?z7f zu^0OW8mx%yfXJv9L_#okIqL~oeLkAmctOxVm1TFc;fz;Q4SIYPz_GnL1pxA;C*$9P zs#?2OyO;E;s}02!ow#jnEC08VSL6s_LcY8SKcpg_U{7H6V4uBGI(Et)5+WXJArgudknZ5ay18i z40uQ&mSv_R=W#F2;}OjMe2W4kdz|dxXxZP}gXDb4?qT-kF^WvDZjhWWn8QxpC^>`Z z4!?Z5!Gy9;H^9K@yAA5`7bHgyK+N=LA|d?p!UnZCJS{0E- zqxwv~xE}lIdJN`eKBr)uhSx)CHhV$?T^_@r_5?Q@av1i@VHhOCkxCq|H+xp1aEqBs z>|^Vvk1a}Xc+$Z8Wz##B9nK4IxtRjqd>=V@kDNeRd6~~gmvHfp^( zG`oOBpH8w=dG7w^B|BdvP1eq^++=ytDyqFKurH~!i=XU#Ej}Y3wCN|y80#ExMVWrG zb5%>PD8s^v?;7YW>kQpwXMk08!1-``$<8Nvc~6`}kWERPyKPybB@wb%?7s zFWI@Y4V|`5FImPLOb>!=_|ZHdC_y&-;G7=%i-!81UXT4`sft)TSl}Som*{XbBR^T* zRnCL8@oVyE2Q};`%bj<8RsbAj8SOpr2@66?O7tFhrMuN~3usZ@8uL7)Fi_bMy{DU> z?0h2{6<*z@=Kz3Tr4Xs_j=U~~NI??jd;AUVF&$<3iFAHG89U0#xHI&VrKfH~10LDa zO?EyRpK<^WZ9?U$cj4kCOB2&Npfl4=*3ah|E^e}O4+FQD=_fl$;KfhY&l5A~Z!!I3 z`DJA9fVW%~BrgRxwN<4*VRRGCx)A8^L4WwwXyht8Yv^=Upqbbzqi;1McfP7(#aP#Z z9GHu6=3bDWagn8^%il6^lx3z(4xt(O$@0ttd13m=&SlHM3*QU(KmjjaIL9}g*aC#g zDvWsKC^H>p*Ym^f<|*sv^B9nKd0{OnH0uW`Y=!-3te>pcH3hf*$F2zHZ{DyxZ3#Kd zM;&;Kr6B*!SadVFc5#QD^`nUso-@EVe^{nb>EaN}yfgv2J54E52t#NXWGl5;3wjSi zHcIU`m)Irz=8n8xg;}D~%8Wv79c**&w+Ls-x(`Bt7pb_>yXY1wLT?To%$VEKO$iwh zFJU-CQt3CR*d-p_ykb9qSLG#pz!IE@y*ZM+AFx;K+=B7u7CU!%2F!B$#q!JT@#Yvi zOFQ5q?S!iPUT&VTytl1b<5XrwgvklHO$kkSX-~lfL$`(#RJx__js@eEX&Wu zC*Z3olKpp$-M*Hh#5A_jz}^n3+3{`t8M?pTWK}1M!BF+n%>kB`jsTh#THD;s|8kEw{cIT8H_IR(+I)BSZ>IKU1Q)xZxaH6yQMQ4YQfIEm>>jHAE!ztX5%aF(fe z(G9+2*{Gp~r$Ez_oMwVf&iui6u=>HW&&q!vrgs?efbt9Qt~H9lr6Bi~nEMi;U3 z>%=~y{~kHNZfk*u&aX6E*}M}_1odFeMUcx!*Dmg_G~i+lNJV6T7J4^(xd;oNwig2x z?IHC7%BtyMaO;cn>m;4^;{Cc1uUf<_!V`cnSi~Z<%zXhmzp?-T91n_EjF8=;2-RG; zlc4jfE>l3xuNQ$Riw50*WRaWy1k_E6yy77UJ#qmGQq}{P!O*dz>z(&yrS=@~lI{BzvssKSL60PW@gs{a zjD)i+r#O&`coizM4KL1m!sC&+YY z)uN{#)_GBFe|0F2)(uq;A8ZgqQiYN&wkP_gT(vYr4{K&rpU0Fy=%Wpc1#?BIHv z;8Z?XBa#RN-}F!qbaB0PH~9~zqDh2>0*sJJEq%CX{RmATIvhV)UQ*~Eq3t8IZd-e{ zZ*7PgZZRUbPowc48x@jOnhms1n`8lRb3K9r)kZyy0aF;&GzNhp!encYh$>H^l6u&1 zVaZX2s#wfRAtE{TG0cn0D+`zD;_^C=Z_qU;F+Xs^4oOd8W41a#6orY^`4gBPDz$kV zM8p9Km=4(Il_jbGfbl68W#IC9)uhx>qQr~OD+?0M9#loK6Mv8WY$rm^2fd+izNp-+ zj%AM4X;rj?&QHcB=1*M1n34}?J7Kh^7kP9o@@y??rbzyz$ ze=GUouLY8~;QlKy0>zq7wgkWsSUW8j`Um`tcA2lFr;}~s7W!TbM|>^_P!%%jkeAx1!=bI6td^tY&3*3EMhv| ztuA>p5A1oz&>>!QZ{AsFrpTyKs=3FnO3f6ja~7g;jHa|lp|S<|dH+sgxs zli`ewJJ^dUonSW|YAS&i9$8vmJNb(d{0#cv|b2D?P+`A}qVwF}~-@ z_xe~zJMJ9a%xY#O3W|gj$g-DXv95L#6@CIYJ1NSy*EHZ}#~Ci0JnVhU_d6L34T{=% z-b>qnpWU8U0GH19UJaH8FB`e=q+1`mi4iqdyJSA^4M2O#`q<5>akXSn`C1d&mu5+n zPJ}qn$u76kCF^KKos2oa-6y0Z)o!-E^Ph`4os#)Fv30WJ`3wk{Z&b<)vAJLgyVp$w zE@QzhF=82QciU_q_OM%6Ft%?Dz{8GrU*_lj0`RY!SnMq;@=DBzG5j<=Ta(=wyRCB_ zPuF~&-n!Pwbe)w}ndh8c1jLyg>lS~rHCMrFewniXw>qXYd=DY0dQHX<)-uDbPu*ns z6dc$K@Ti*@LU(1A1RUz-Zgvjrc6O(m3)L)kvNzovbsmdoz3C^D}6 zx@Gk`(XD+3J(M|A%VNDS22ZygH*n)5cQ~GpG*2%&=FP=0eDnR6$xEGQ2yEi}$R4g3}2X>q=qTK0LcuOoczlia8)OLEv@nrl2zHu1f z9t&gTcBe9F=w%4*2F;vO-1BYP=@U0W-Utfp5GTa=EGWddlAfL#xFvG(j-S90Zq*5- z4=185ASzDC7o2s3dq@uk%h(kTB7;*ZIX;rVx3|ypEqEhO^pg}ip>{cT+b7ems+)kzM)PfZz+0jjuP_yiAiy^EBTC9T`Gj&>^ z1IO9FZ4K3G>Rq)f0ycZQ<76G=!h9}lmyuMvE7`ei^|&&HYu35#j^|C5Cpo^2=}l{@ zDif229Rsc+|N3$Y>{aB;u_=u{ScQTS>poV7{o2+RsRkvg5}6?e_F$!>8aFFA$694e zhtp_LW#5v963=~E75}HsbuK|wEcQbpYsRBZq$gW*Q9Y01_KGtOZ6cVOsW024=U}Dzp{yQsFE^z<#RwI-`A=O>AbGufTjWTCPlTC+k{_IO#igJ%GnJeU72IHj31e> zTchHzBN=aDQelE|BU?PPpZ1!h6f4oy-Dj<$kA3sQ3dV^{ERzSNO1WGRGi8I8+*GuXYk(#o<&8Nkge$>ij^~DZzyOK<=GEb z9*tfYmFIL|sAngy)h;iM5uP8X<>BPVp}W0q(HRG?WiT)ktY_KZ!Ld9``l$8r+S7Q5 zNVD}lifr$JX(rH``d0WCL zUg+E~VRH_IghAw2x>U`~kJzV)Asy!D)~+U9QBU}h8{?dy5;4!K>8{__GPBvXE&Y86 zA}(EXoqrxj#iPZ+G>s3?1n}*F4WyfE{8oC*mvnk$9yQHgU*8D;$m^@xbUJGrTL=Np zXT4WC-67}$0)*psxRq{h3zYNi00t$#Q09D2hTcg&!!@~ft!3!W?O0@He zwv|p70Tz^=&12&WLaufZ0d+HJp@s*gUNi; zAL@?1%X6mFwzA252Veln5$3KPR-OhU0@?W*K{WN#(a?@+z0_^f`Sw|xTpe7&U|)A% z)UKS>kc7i9bM{Q`S`%X4<|6ugDKv=MDr7)j3YqGLxHKWg^>0vT+z|PsTpA+Jk{c-P z(FS`Yei<$uMoOvkoMo^H+(9~KltFoWpm*sYoqpXwyntx_=&%QmijGZi&*^wV8}jC4 z0{4NA9pGrm{Eq?J>9a1fz{4VBv%VDZ{W2P|7+)Zz-^NMy$V;Jc>jGI@6cUW00oR9A z3|t#Y^SB40`77kQaG~4~p9JMgbvfK1ilt`1g2`Ue-({Nw+Fa3G?L5<2`m6ezHz2VN3yyJTefBRXtqHL(ZK=O0(%xNP~cU zDc~=2&(d3j5R%_AhHz{J7$ys9sQnyo?MI9)EU3Z!?9`9iw%0ZbAX?EPql=qYI^EoC z)8{?PHhs!hwp}{Efn%N*DMx@^Q^ta25^g*Ph}bOdpcR^mtxc}&(r`)+k75Zu(L&H& z$P;jz5pPGa1eR<)tH^(I;M+jxIH4NCS7wPXIBV^Ll%R)O0DruM}isJrDB80;&vL zWk1uyr4jos110;8>ml(R*5iSRW&*;gb*|*gM0pXy0EC~F0i#}w7?rWXc{4e{;mxNK zKs}3}+NLK1M1WLr6Y-YL&q<=10$vO9UOS`rIQ=>s%ossM#Q)IRtr$ksCzo&=>tO=~ zfK%R$@q|*F4{%oDO9&$!J$XRMx#G@{*AfPJkLHxTe{3(=1OqC8VVIO|UoWB5l2K}& zB&Hd_47dcfM^w+0Jwmk=v4jD7zaC~l0FMh`j7}YGd=^wXplK|3pk_JTGu!@8d8D3i zIS`~=svlP;6GbPQX6wx&T&p88g@=?*Ur-2JZbG1(7` z!^8-TgiWH;Jo^a{#7K6YKra}*#d861ynesHz$pexaGg{**o`T9VGxlJ42k&)N%Jxd z2%N0fB@E2hj_{Zh95X+Wl`kObOHCL?V~Y?(2LWgnJ?m=_P%Z$XdA`FzdA=|J6=G99 zy?={J@%*-iVPU=xk6>)4xxsjP@jL~0Ta_tRc3h0fp}WBN)*HNJ-rdJO#ZTPee6H(S zkS`DcfOYi?E;Zk2#IRcDg>D#_`7!_un=hUs5Z|ofYr#Ms-=*L@g2xlX;z!0S&jg&V zk;OoMy%%68KNW^6WSqEwrZ)~A-Zc8*ow8WN4Op(o%VPLtvYp2ij3snf9ZTJ)$h@A! zzQ!^@OY$zLKEAx{r)(4EdWw&IZxvFO634xX}q>GRlOHc)zmJ3mC3(m>&oXxoM;Q+A~vLCHhyB}FvYuu*^10^14oLCJcAC>+i? zLwWM10b@Pkyat)qm})}1Ehr+#;4rRxr4%&;ynJ4|(t7Z?5}DjE27>$QHvy+bwClVn z+F-6|@|C7VaE*>rx>G9JQck9dK(P7G1d%Spkp?_$K*pDlFjHKIO~=+RMjh4 zymLR_y&^*!^AB)}TwR}&U{}evsYs8fsEQ=-`zCCy%I;R}vg6aVL;L z7h}-SgnPPabnIY3d~=TpJufhr{!Mdd9)fl!EE__}H1 z5DOp~_M2lwi+Ezk=Ih1PA zlbW!*%HL|pXtR{P_yaz8khzFQ2o@@>jPE-#6$d$*NqF7i=y zs-V|7Xrt$KJ8ARbIvBZ!4Be-!G9li)%7;^pXxpXT15?y*skegt6m?E}05}@=07&Mt z#p~vX#PWyGY3nGTr6RxO|J>lRDucHS#4BqL32z}~?4BOb1bD4nJq#8A1XKTD>61w` z+Y8;xLui6)xLNvOlZ^d#CxveDDG+m%Ar1 zMmo8B=pY$za<>WcARG<1p*R&HiR5N$($zt_8pYDD>1{k4>7FPYXeB))eCnL$Sc0fg)((jN05;EPU;;95sL9AB->EaeM?Bzc3wOLHP4~55# zUO zZASaqEV9zb)Erm{x9tm!8IA3Oi!WAb5ka+`O3%t8BJ12kWCXa_`@;ls^l`e(PdnPI z-_Y0I_nu5S+RZ>dEW&StLoB%~#uQ>^=cewuR5g-K(I7(KBg{wvm|l6j4zYsm)O4MO zOysBuvzB!$Ws?A!PSmX-(G5{;}%N0Sx-ggdiimD_jM50M%p=x|_5<7rR z7Z94%z4cFtxaw9r1>UNAXsNqqZR$3Wn!*~Z7g+q#v{ z%9a|;t|)a|?P@|Bw`?^nIAA+0CEw_C$@!wP6y-~-UY`4`C`-u@>fQ!fgC9jDe^SeA zm*dMIZ0c89JkigpHRJ1TrL)=*yf+e7Zkv8|!;*6IAEEAp?3e3PA~_gH-lCaVqr8Q( znvtZE6+;@|6@5^&tmt7h&#dy?RB6w7&RcP>(E;TsD{6h;%)zq(*69%rF?TZ|m?H8d*aEwMonA@8HGm@FmAO4cu>r3cqV z3~I6`9q!zKs^vy|x|RKdA{^U557uHa!dF&)6DrVM^A_!Fwc$p0v$84xa@Pu7e^9Oy zRzDH}S8nLN86OFjC-2HC^RfBK*1LHRn~!XHchN^v-vqG(;*++h*nzT{)Vj?A@v&-2 zwfW$a2Zoo_uIP~3)(u_k4(O<0hL1smv?5vrU&~t2fXdQEdpCaQUyN&bWacU zJ_3O&>G`AO#Ywe#J|sVru zv3)9AKLOLH{>D#suoU`7X!{7QTeh?dzZC~QU9oWYVMzXC!^$Pt#(5IDqT`mwy9sqpf3-18L^$UbH7u_)nAbh<b(h zro@XXq*+2e_v}iY3xJeJtgQ4v&- zV`(57&X9CCth}D@K%i^qXLxV)5El5(YY1}ua7_mw3TTH-aYQ>F6bJv~QE_wwhLp?J znvw8BEnC?n}2l zBO@u<6cD69{7yGYPsT^Mhh|t8D#7ar$3o#=XkKQ#SFv@Gy@}qH0f5WqB2y1u;3zWt zPf&^?0uhSMTO+_I$pVAh;ft?82@WW00fm$Cms17xhx!~mfWHQBku2!&2=(pc zh4cXlgMSq^VRrtxt!&+1+6F$6D`tx3rGhQF;-#2`*;pi*6Xb%u>{eVcD4KScEbs#v zaQ;(4>1>VmA>96;X%-lNgBq{6rZQb#t-p9{yI6HPruxV9^fYGdgAl~(%f>?#BG$ZkY zU#A~`QC^fSO<6%e%&8&>&ruviv9-SJzFT}zQu+zc3S+FQ$ry}4p<*~QuU^_g;B)k!H!_WJG2(?KhCGtQBeZAWZ& zu^*G_8;&#{$(dL|nk-#9t~KHj|1`M+NaYcm)b|jyg4k^;&&}BszB%=4nOc7uRN}t9 zvlq|qqqZ8_(JtA$YT4typ7$bB9eh>Aap`QTEBRf?zG`0Lja3I=zTpJ!L|kvFS9>!w2k@~G>zGEmjmuu* zTi7=W)ITqBkKj(@$c{p$2n!qC+!al(H__5B>Lo}XNg>$v8`X01vDjr&8ME(5+vs*@ zG)X?zn@#~MxI~$3eifpaNu}ORb^NS^UiD7hE;&6Wlnj-vT8&vISUWvq2x^~Celt-! zPXs&PMEh>E&->!e+vNtST(`QMr^MtP@gtaU5l;TLAt0P?92o*4g0bW-FqS=)j zJ%LwQQ}$ZGFhT0`8kN(}w;Ccv4lOoSVv2}g6cn$cI;@dw*Aa8!H<#b4WL62?T%Y1p zurJ=~J1d@JikydIL3+s1_5seVnw~JPvZ(P;bz3w1*?{ZLsxhJ9p)#*WslcDJUB%|* z3Od#LbLe{^j4HOmR9GIZ)`jq)Mf^;_TWG4Mrl;AZyGp+tPp1%T{W06NU#9>af( zuQu+g)u10{RXeY`is-7DuJ!W78jI{UE}W0ShIYsEhtV_^dfe3n3hMNJck6|kwt@M? zyHM|~cK@Ig-A3Dn&7Z0@c`x5I$Sjraj|Det8aH7x#+$0f7u#F+G%TCVHw1q0B!C|p z7D^tf%1k~4-68+jH||K+>&+@sc_tqX(wthO2D3Bp(8-_*B?8GBC9_5clHE$SIvT2j zouaH*O^mUFyW-iz*G=tYoU^Hy>hp- z(eo!Do|=XK0?#F|k<_2}+4Fowpg_>XM5~Cf7HPB=qO~TKt;9BO=`gQDd3%SQpqWK| zCf>v@V%acJkWB2;-p)QPvIZkq+AwR(68iKnOQ+HYpSmJP8j4mu^B2#drsr+rgEZx8 zk|{2ZA{?y-I`8r|FCDG)L+|M@JFkSzPFmx-P1RPO?LFyHZV&cGwwl?GtL&M3&euha zq9D#wrxZ7RBErem*d@W*L^%1t7)oPjh;YV6P8SIi)oC-6g~q1xjU=;vn)!mGLGS zm#3En2>L5qk?Z!XQO9VnA=`(=;N-06SvKfw+I|e+C@`g~DkqnpA(2onK0|XLx1L?f zl@G9V#nFcYNkw;%?L`LL!tcZMYR)Y8L3%Zt&Fd+8BBRxLptntE=!iFLy)0N6->b_D zxYpDAeIh-2Wg7PWzKOQCj8DaJ?6T$i@UnVJ3^?|jVdE_a8nH|sAcDp;r*gF>r~Ju2m-B_)<;~KNvy98`N-5X$j=Occ}7;8D*oLS8C zY;T$<@+RN65#2H$pq+=br0-#X!vNCL)3OgFbHOkL!JAjI##FF}Y&5IE$>-ZsWC&>8 z9^$a)RkJE9Ik+bDXfaI&za(W&6V}bDGD#&mf^ek(@4zzl2XJX| zbbHzICp4gPcQs_);>Xoz@jHMLV4stmidTdnxT^3Ky7e}pijdhY!H3vqI?Rpf(K*jTrH-V>``C?L%h72I%_iiaY0^&dyhz6f79V%c;@ret36`4~(5lVu{%K$VR zY)fPEYLX!>nE=Z-OWJ3KKaB~DY0Pm1RFOj_C4*xIvfP1WHbHQRw7J$YW#FpF_JgyI zx@3yeggeqhG5eH`R5LmSBM%%1VB-QJ8?^5-@Gm11iE(V@CC&2vEyVcnDM+!gS8cxrO>;m#p zd~NdfL3Jo^zp?r$cI8F`MW1;#3I9sVHWZdrGZJV7a-6s2$u`32r^8XGMqdohFr-1Ik~dFS z`=xW9{r2UOp7}OTiv=B%c}hq8j?R{B$O8E`Co2VM*n{yUwy7EmVJS~tT{p*m!HS%5 z(0ZUQ@U>lt9TNcMXN$G7$Al!)fgQ=NM^@FNJ=S|g$x!OyrxgL(aTqXK4K`Sw1d-0v%0IYgVCszc>Gq@+1D3cBXN0yXsYw;*bq+d4N3`<1aY-QSRtW(Z1 ziQ40Nu#)WApKyLW3w6ELdI&dU5bMF5tT!YdQEDit3dROA(m}f>OEahTC^=&soG1BE zn&%KFZ!H-kJ-UVqz^H8ql%8f-w5;57t*s5Vc;E^=;$fMqqe5-QLnILs0#02FBjNygyNAwd9MUb2>gm^|{= zNX9QGdDQhN9!$s@iRLVlP-~0;(F5X6a|@azu`NJtgs;^@5@cJXC>S>iWFQQY?_ETu zwX4kymxz3G=Z89DI~>XdXO|8HDT#^EZIDCjJu2YeR%eG~|!3(wN?C$pBW= zo;f9Gz%!H28=Q@}C6eh1N=Cs@^9G3Aelc)&db*qJGoBaJLfds&qwR6Ul*w#5AJf@% z9@SY-YH$(f)e^2^Km^`y9Q%NX8UbRkLlaj*5AIf|38wp7I-u?IrUe^zN5Vx9z%oU4 zV-QfzH!DPd&g|M7LD(xFo}fjeP{?H6Hu=thT9_d{SwXBUms>57mQoHvbh{4>6|(lVLSk z)H@64HsY2%#!&C0+~atrM?IlD0PX@HUNJA^GY(#h_FLC3m|xG$Eg%-#Q{G|il5Te- zpV`=rO%7kR!eqXG?R2$`>#W8b@2zZI!r9&&>=xpO9MM*xEy~wTdh7hOHa#I1?Uf!KN(abB$qfX=GL;9F`*kqnk?Rha%>k(0R?j;tIGBzGl`5t% z1c)(TFCD;l4p>otI(45yw8!b`lApH~NT;+MfR$mnjCQmcbXG_j5prwe=j2dq^gUV)K?v2oMS+sN}_lHfkYy6+6guSlhDn> zE(RE~mMBLuq0|95aILd& z8SXTij7My?aqsfY4kLNbQ=WcdD3V8(%c>sDun$(X?+V_eE?wOZd1)kcX zS_v&Ok9O7lLrk$yG7&sDTSN;FTng_hXcSG%YCZ`ufr0rh$Ao-mf@HQ*^V7ZQLJAv zfoY)dEp#Q+!K8NhLng;4VkVWazKd|T|G_;~ZZ16;)l>!s2E{a@FQc1FC!hG_mrX#V)4ETz{ zdJ8PcAkkP#?Q{Po^Q-H+Psx2c!(^mEl`9u3`aZ!nXoV9kx*!!?IOMc(9}3ZKPW-@P zp7YvigfbG}lO6L~WR8p}kI0$m7xqk9_j@%4D>q7Dfp>5iBmhb6yOJZX#$;*G!CZ+X zQCaVkD+d%tTmU>R2dLK!4FT5Kk*82U06|qxDR}+Ue^$h0dsF3Ah=<(~9XHAgfafQp zA|PgBnIWCc{Yj-lq)v?lCw*tck-%(&2_^s#F=2_YG&~U70xx3_h*a$j47|b|P`5RM zQuSn1+`%m2Mq`6$X3iQG`)sjrFDy?L{b@QoQQ7XwL&i0*n``nO9*+IF8==W8+>@#D z!Ypz>NnLQ5sN_U`51tCsMo9%LK;0DNf>L`&l&a6lPHtcX1n!(NHg3TUE-z*V0bVU3 z4v+NVRY1xW)}Y#nlyPb#Y8QItpNlMp;7?IpR3&(^I9N)kk|!?oDRQ7Lh$Kw8(#OyfBYBKMof`&3pbM#CejzyS zNZ<%%Y|(dZ1#AP-s-`DF4~H1Ji!vgUyI4_JD(?q5e;TXe%H*1PjE`eTtcnL51%Ooy za%#k*MvBvu&=3tPj9kUx+5|(Q5l$wra-e#t%=xJ1u8X1eU@43diQK~gb{JS|ohpaU zP_Q<-3c-n0_8d8!-h~m)7|xH#H9L}HFIr-e0{i^n2sQX0i4ZS{4;}%C+{jt*CW*qy zoz15p1|%@Lnf#;&ZN|u$m3tt#QSd0D2q6*+)wKqqK(;YF&f;)6y+^~pzV~#b?Ok`)`5ctW>gW@F4s(v8CHC7tML#QRf%v2+B zfCIfpSwg5h3W9^c;~I#tQ+f%K3=+k13K;*DjZzX3L#Cg`9LoAG#QUs+lsTn`uuiPh zRh{UaJ@1 zlKAk(Vm;{MA1hi;oim6@puUDcT@ZFU#jjzT6GqX^bnlsniEqX1Xabw4kx$%QC{db< zDTBE%-;!iui@(kv+|ANNHsR@NPC=GTJC82tL}OV-nm5CE4~KQL zV_tI$3>)kZYK~NsJina z@FyB-va`JSIQO>5tA7y4J?UPffgvfp7A8O^utc`Tn4LmKWnCLa0>{uy4#v{fg2$gU zGZ!}O&0u0fIS*>n;qgNK#UZeBBZGkIk`W>ye`Lz{A|2Tltv^}W(#3qy#!gWw8pJ}G zd-76dn9xNTu?_IZOgH_AWN0e)2=b2(>P1lTz-aV6QU@`K?10Dm$&7ZqVC3jz?Kej@ zk*D#0kWI4ZX*B%A7W&2k3BE(Yc=L@O&y^+Hxs^l)%r}N-d@lw_d}e`e>0VHS$j3?E z5Aug57AO!{fYf0^Kt56v&qPwJD$P{XExbpzgJaE-khppIgc~6fgRmh#$x?W3&>X%( z_$0*TNMFYi1PrF#Fax2l%?L7cc?OGa8PX2N8^Ti41{14QR#>289pLu_^1F{~!2HHr zIA~#wiaDa=@sRG|gE)PpTRP}%nK8K{h3Jj+;VWVM{a}b-#+o`$mA~Ydd+6d`4+$-m zCNhT3FX-p4NK2&t@XB+Vn^9)&Bj+BHwH!*!_=|yu!w--cRi=Rs`&^_!S|?GmQdEPE zZNF?BsOF}JEv+J-Ko~@tyvoW&>LE3fKWR8le&PO6dO>SW(%-Pe0@g&+Oqw9;&VAmo z64)DI*DYlkI4We(!dqmfA)W(iL8QzBAy!Eh7RGqUGm5jQHW^S2NJW&m-b#QIzKr`_ z3lb&V-B>zhbZLwd!18RYmN`tI;uzyEX?MUT8mf6RkU-BTt*(yieY%xLB)nwV(=z}b zhSG7r&**5_t89?`Q4=G1^&v~X@EEC{4oG^p!QP47s^0|Cy<;3M6h{}}k{J?$L^LN5`vv8Jw*qMtlM&)v9;|4Bi zV=Uk>(%q0nu^FbA+3LPyBF|iZ9)tmk`XE;?*q$atb(>$$eJ;{@k{IVuJY4w;AA1oN zVRpeP6w?bv!PNL}VvbY7l2rLoW|CdPiO7t8n&ukpc_XIq#}hA_AE{ye{kR0T?_uc& zNO~VEdXyS39Wi~Hkt85g%BDl2lTL1h*%tZn3X@@6=%FC+7AkYUSpuLh)3*^we_@<{ zyFO3LsNhHp#_->PQ2D8>P$=s>ok9lfAuG5%$64AoH>jR z$IkgrmNSJF1|dz-u}S{m54H<`xoqfm)7j^hg+suy6^EPou&0-N=jV@L`)VgWZA5I4 z_U<_zos;mzv&cv5_L^FF)+>2DjHQXmi8H;e}neCd^ zN1gd{+-r>=&!8KFlpxhZZHUwya&!~isZ;w^?G(!5Qsn_v{Xt{(aHaE`IY%tHkV-$? z%T}b*rJhfh3^7VMC7Qb!VUJ10lZ)BR3H&HBuSlSjIQc+4n=)bO3cS#c%Fwl5r17*} z1+&6nQwj2|Ing^mA_!euTuy28j)TWTgP9<@D1S%c2ulwzGeTg`Wgo1gl`{ybkn@Tt zpqx5n9GO_?f_h6y;(dyP=bIOKtZ}?R=pX&3Azo)R0bOC?s zfm+>=sg-3y#KV^DiNBeE)n)`237mukSsk9txRM=*T(JwS=q9@`5#58&!-}WF;p`Vk z7aryXOz7jGe*XoMNzw+D8yHb2$6n_R@+XC5v$sAN8A6LoDZVA1uCyo1o2)+vp7gM4 zOCT4!)lFce>+M8E(kJ%>p?0s%%hhfO3-@n6I2Vf=vMb1v1*a2qeAP znC|e1wX)1zO@JcebwlA!oziQJz9{~oQfgr3->imnATUzD6StwYNRH4Dl2HW)D0gRh zy&!f*P3n|%o(+1*h!c4s3lE;Mx3t^Ee3%Q71}>$)Tv}`kk+2!D-?4-w)c?&n}k^bYpIsqSz|9<`|J60RuyaAoGzv+RUKop5Gx zs9OO#rOs40vf)+dJ;7}2I)MW00y=QLA|JST=1^e%8v9g{`fF55=pn+#8uDH0(|WW?9T6Hmg;TDD-ZhhZ4dufVbuBA@H#qE0NB^I%Q(SWY}#u@6tL zR7bi{kK=HbJ>tRZp6$vfb>c-~ZfQdxpp$EGCxO}=#y!V>hS&SCGRc|H8iqsc+NvTG zX5A7AfL|qgh2)-bW$!`cG-Ob+7xe^5+A3L}=U4TJs9qH%1k$~!R{%Lyshm9Rtezm1 zQY95FxwG=U9}sGX=GxcK>PSacto~hMY=}qoK=`x9qq4RIn^qOBx~oWoZ!Z3>0Uo7r;PAM zaoy`jI~V%(Hk?_i8@^rG8xh z`n`c44G7;B;m|v(Bcp{%=27K0$gIRg)kO2|%mR?ZQofYLD`D*i7iNeH-H+6%>{EuYM5IgF<0i#J)Jf$#Bx0ePvB6D4MJmEj9XJq5h zg#-7QH+9NhEldCUy+H%k5tX?1^{aY88l}N}FZxKckUX&*?d~>kJsek=LgHUnBshLB2 z-W%YPo=AB9j|N2!#gfPqy*9wexTi)GmO6EAU?~|uD7;cTepD~upH|7t_V`V?0A4^P z1)bSv<=bi_Rf(EwUq7oSc*SHr5{W0^sGfi=TO|p5Yj+Td$Hrxzy6_tkcxjLtW2-p z8$@LF^>hm2Ejp@4q{r`5_xe$}LBTVXMD)a+l|5O0FIUxE`}$d(ai9iEt|R2G|3?Gd zp(IcJ>-Po;P$!;hFJwzQswY4KspOEIbW(<$LF=&~Z0JoH)?_Pgi`&SHG8TCd*S&sK zhNFo}5_&4m%1BMFl7wfNvvS6YAxedg6l`bZTp_4;OEMl0&&m?fOJ#hj6(fKz>P8## zKUM&iIJMpzkWxx@>0iG$$O8+Ij8(toS9KVGu6O;Q*kI_Xgm9^HMWo?WNy9OER<_c) zq?&HQ^Us@lgedyVgeBglqk4q$$#K!uT|X-WqEf3WVY$S!a>a6!A-L}KqjCjv#i{79 zAmmY*mL0!E6)l@Lbz0=RWm?kcy+J?|Ecg!-{P9bJ1S?E3_6uUMoz**#uc{>Ba&%VC zSbOM}kP`N1&k@;CMSsDZOdc%|pp2FkpGRdQYX z`c*vwYo|&~_xe>CRtJ?tB&$3tODvcVqeVk;DS1dy1xsi= z&*~kr4OEg5hk8~P!7Mcuk!qlC>Q;K4Rbv++@za+E845FJBVmkW$Q{+K*fNyjFx~4% z<%GqsMs(flN96=-uSycB0d`h~d8v|w3-wvqn8Bc|~6(XY~di?PmEaXk;9f?==)%zcRJ2pVfgjv{iuwEmQ|AQ zDbC7hcc~}WDGGrXyl87eNi!uy;m5_?(XXOH}!(!Fjas4_fXGkekNlAm1I^@cv{F#X| zW}v>Q69P^Xx&HNg1N0rbCy?aypViTmsS@I5d{c&{Np}}g6z-^;0Jo=-NXpY4l@lxq zDoF_NJ1ZARrBX@4_2aDEVB|DQMkd95ES+O`WKGw$W81cE+n(5VCbn(cwlmShwkEc1 z+xhx_-tTuGee~|CRcl?>S-Vy#Oe8TC%BtrE@1(GDL8+2Nn)>0Vg7^2S&%*ga+n)zb zb|=F@_apSOkD*V}rG>wqYCMVk4mqEW-_GK6RrgU82P9@$P%v^Xy9{+ue$EOeI8_ob zp3kDZKIz(|EUCimWG7&UY(R==nwco+=!}Hf-`!qBovJm(YXlp6D9WqHD2YN*7~ymk zKKR!@k5ZlVu}rj2y%kw8MtxH&9EdMY9u0ME;VPz6U9k)CShl@KwjP@lCDdfF2;T6I z=G?=@SEcu7kHvg^4GiYXpRG?cWz=%K<7J)*SW)Bl;W!4Y=>jG4GC;8C_RXo%O@h6g6*~osiKe1G%I2o#GPsV$PE@%)H}MQn zWSQY4GJC6!@}znup6LnFSOk1lgs6&ms6fQ8(2qwT@X$)0o@15&mraI#@8P%){&7-Q zFx;plOS(S<$k4D{8I-I*iz66Hhg7s?;F$^RMmkmHy9z&bipgF(jEp!(b&R2SDx8o@ zR133y8(msPkpc?Fb5JK_)&2FAKj)w|wzS^im9UHxyHq&pLkhPTlxBQem8Jz6XEiy6 z?*O^Td|N{&b!t?kD@}gV)FC#IYaMzdUH1Aj_n&eARMl-Dx$-ubKRYRqIeMx=9Lq{- z371o1pz+-H=jcT|ONP~vsZfGdqyqh7=%B*(=OxYU0^EVDU6si=a~N+%qrFY<0TC5T zH~U@ll20LYa5OkrBEA|o4i7z4_WtUamoDh=Y_;2q_Q4oezOsvy24}UxA$ZM};27*LjGn<4A(OIe1G6^ zs9jnf|M*)XIVQzc0+wkWcpDgb`}I?`lL%N*R3p*TZuENzuq4W@7*Vu6JdLTF2I&Ze zmYRiY*Gut#di{<$HDQ#Cb|;#e!0BPJ$4@;yV*GkUodDW%O(z)cjbN>jQ_AgAi+?bv zCMl+p*utzj2C~T)pm>@(z;q>o=l&!RzpM+(FK|^!*7K>6 zkkNnE#N@58xc(tb#TAQGB^i?TR+l*4p|`?P1O!4tl^B%FZ4Dk6=DiNu9fkclN+JWZ z_P9Lp#kXuQgk6#O5(iZ0z7{|5NsbJTSL*Zx^fPBF8CkivQW$8Q42oTd{lxCw?=4q= zq7NJrC5L{QYjOf(^kN(3@&XWcAZrzAvGfluz($A!IW)3^g&8s*eN{yP1KyQFE^9_#lG!t8K5w1Nc16d45+feQrkwE??bSj>c0}0{v-wV z?KCy6m|<2(XESwv7t~dLU?WJ;5J!FkG9I&iswp2}HIR0Iv#AI7-!-vd&rN*FcR>N7 z`b)P40{*T#C#9i2QAWzBs;QBvZBYz;i^cvN8*2%WbmHHO@<=e+YW`=U1{KJmS4x}i z>4ICp1OJ^DSiXzd$nhq4UVIOuSSH zhANM@EJsHn;HpOCYOEsLS30Vp3$o#&!SU$vRf+H8!+4nQ@l*S=n_Zp88zz}oe9zC2 zD1L~c=5o+o3G2AjW*yGd(Zwz_Uv!GzCcQnW#SfNKU-%`76}P=ePIOig1u%Kx5JA^W z)d@IIvS-$y!rQjh{WL?t&&ve^Aojx#B@N1TlCC9tu}lBOiu8SZX;QN7SqYyZQDul( zC1EOSU#%*O!&Gi6>+1rbx@Wqo=Y>W|XBxv5^;CF6zxh@@su8^r;_MdAh*f)i&A`L> zv>Fp;UIJM>!9=*HqJ2(Tm(9rPt415%@#@0x**5 zm{XIgO5zot*&SdZf5Vy|{}a8dPqi?1L|m(wuKg@FG*Ol$U6niP{5+*2^8j%y+}9?| zwBU=xxD3#K3cvrqI~)Mi#?u)AT8n_73Nj<`u%^b4u(@2F6lCuEGCT41!t#+tz^^9k zp=DgjX^h)WpCeyEp_}os^i;|YB{9vxNg2C!u}jqpR}B3pPEZ|40ZP)&Nu9v~L{(Y@ zXSm4;xUEA5h5%z`g5-2aQAyb4BfBHj60%+H>w*x+kf%KIKl3ge>R|mhiYjD(R~&zf zh_nNc+gZkKXZZtOWv3^SZWV3PsO*63&w)D8Pu55+PMf@jj&#L?xVAK0<=WX3F93E) zh)IGv?t@4NuFp`BL1Ym2K#iQTPMA4!w%B=01b{IB+PgW#3ow2`4KJk}5-(&~t#H_+OjgHk-#hXyEG1LUvE zRF&l}&n=*U>u$jVNqn|3o(JXD6~&F-0z@leod>i0*M$KN5oxpLxTNyxaczI!K8DGE z4hga*rnE@7%BZWtqQ0<6Yp5h<8IViks*_@lpS85=?II&t>}CMZ&4Hc@MeTB5#?WS6 zU9m^-SmyULNEB`+mmvRLD-4nJY@?mXx>v_}BTgvruy=SRT*5D!-6G z)grA8daEdJ39HDA#vW_<`kd6IMJx`q-tzL>j>rDX>zE+RoUh#phu13*$e_4$B*b7l zKg$LEz};FTP>~^BRmD%<(KvZ00AAo9VKFNn^=hY&s~WIZ35bjQC20~n7d&|kA< z(LPV=Pf>mQq<6Tdzh&nk9$yk#yFIQbrkvnZe1zB^X=M(fVH)|;Yy!L?%TEH6S&m+EL{s@`$rgQqdT@fnx?QUEnrPZuMILB_AF zaoJ`0jc(S3nxS*9#k?xAi7!RceW~{;VZ_E=NC~QAtIFoid)|sd53A-=G-D>*5NwwJbL*$ z?pD%^VSoM*4H`c`z36C1ss}A}L6#8fwn|2#zTosyO789pF#r8X@9eF7;2!qHr^i@b z>k*4)2q&KXfSZ#5^5l(hAOvNJ#`KwV6)$x%J7u$m*`6HQX*%%pO3_wJ$XXrT5i$7{ z;oXb-k8*01N9e`Rm*lUBWS<=;kDptAy_Xv?NY5DNtGqy7sDJ*N+YqH7vn=ESErjQs z9>YLjAGT93;j;2Z3NQsp`zT#n&sUHJxS7Vtx@QaQ_j$AQSY+$ner0M6Up`p}EJTJ` zJNUB1@pZ_r+5PplmQL(u$=15DdOw%FGAB_ZG^~()F)zL$n{l>P;=K5#TIVcSDs;>~ z=A5itT^t`Z9f<(eT>LW4(m>gEY8S>q#e}6^)sZ3`IG}#tXMnNus~UQcLiqzJ^KSR641MrFW6?n(0}Rx zayM3$g~|C#9J^kH1{+GA2XH7)S$$lnU`Z=8fq5rMqDw&1Ou2D8sT(?eRVfn!Qp@$D zm<6NyW&UAmh=)oN%Dp;7^)CR9++U6@0vHE3WJURB&6d;ab*2T~x7q=I0k`bM(AOE9_!2!dhLD=893622J$rKiynnLgck!q*lomPavR5b|AAL?=LO$TVZS^Y8vXX zItTUX+gzvYj+OX{7d|mrdikphcUMi@|BI^#Dki0oqc?dyDD|C&uaNl1Zs282=1=(G zmtM}k{c9Sh|BxAYV`lUbMY8rS;32oll7b>iy4iY+1oOXJVSu&h4g%l@+>5IjmF{vo>e zH95Nn)nxGd&fGMjP5|H*myBr^fKo|jL@^P~@~GIDK2pv_JGl3Y9J=$NMi)r5Iw|C2 zsEK8HMNwL~?Mh4Qmd}<%Ip#p#w=aTO5rR9Qw-R!S8%lybm|+F;2_mfHKl`f2FRY#> zgQNWf5aNd}G}0M8uId=V&4p1g`^DRfth@A0W}HachfQ8#rVgp5j}^VtqQ)6$|1m&_ zdtd-5;WbFkps6l>dZ#E){FiR`Rx46k}TP9RD$7uuLA|P7-KLNmU!4J&blh? z|0kwl_0{~Wk`yUrYByO zI9(Hkb$LtxP<~bjsgh3LI`=Jb8XiSX8B}4CNCkjk_qIL%+k-(BYma0R z7|Z67{$X(HE6rbmUO4|RVC!~yE7TL?8dURBj3g>cii-DY_!>fVJV<8wLI8V540faY zoQHkcnKM0Ga4;UPFhh=SDN(q2L9ePn-B@Au@bEjOWnZ zP&7EF@O~#~+L&s!9yei<|EGv6tVUu+th(=0EQ z-uMYAV|D;!M}!xVY;O;PBJI}+2B|~;FWW?Si~z$HkgJLmh3Rse$7TZwOz*;YL^rX_ zidKav)^$+_&lN_}jFFC~Mk6>v(NvV|W*kkVfu;b@C&L4a2~0$Lp@DQF1Cpr*WN+O6 z<{BS$6+kzkUDOpE&efsET?J_+>)BP4ZX>>n;CQWBbkM`kl(a~+&uC=Y;Cm}&$G8fe zv;X7%FhihGMi?wwz;Wm3^(HjbSOQ$MvLfl(Q8bN-gp1ak_sCN+-Qwsc)56_D_Xfca zbuuu@*g2`le^P6<$thY@jvTWUK!ZkTuq`be&6G9}luV*nNLz3;mYWM;Y~*MX#S{v4 z_1L0;er=6pjl$?r~MiikYMSXJl1^e^V0I(3BQMg=Yg&FTw7?>wui*EFwJIW4}nPIWTJil>IC} zS}M6DU0)e43=r=NNc$7a2B)m=We`bRm3$%>GaW00eto1cfD_n*&RSNnI~QGXcB zz=`~>@!Brko$K2pNDnr4dP93VXrB%Hr#WGBHEE7aO1VqKb8gk!oFt`{cAy`d`Nv#g z-qOF&+kHvo&ycSZeja|`upYgBf&aV!im8Bti_h+rg?hY4T(7Mz3KuH;9f;v ztir#Pjb9#@Tz`Pxc-ddx8n$n>RP4o8PL=lBAv_sooHsZ83ID8^RDuJWWV!CzB7yO2 zqF~#dMTcIpf;zO7Oys#9d}*81t8(Z&VNh%@G?%yes@T_fv*m=pB*1>Yuz0qQ5sLJ9 zaxS+vn-J1LB;69*%*=dXk^Z{P4SmggIjruC_wTeaIxxAn8+bu)k$8+-7>^7#jKbu= z!1WA7KGnu?jKrHCql__)^4gyKey5+8PF}Nk0^Lht;eMLc~4Yc0VL)OQ{^NjyF-Qg@tRnVer2;_Wf|8mNQCw572= z-p6Cx3gs%FVV-z%?Q#8_jL$h(%h0v{sv23v>eisjX8dV!5F@-?-1rwl#}s)77P8LrrnSe$7{txkKunwz zhC@$+YK#B2Eag^hE-yBZMFKO=s&;P$(_IsK<0Jc)PRmY}O{cRe4FY(Fm{%HlOz241 z0@l=QwxUHN7Rz9yw%5+?(hU5p09LnBb*OyRP?kjkH#-fVFFD5c! z_>^+O^e8!}M-NinOfiMI$2{uIRQ3*JdII1@;kx>8HWq70ZV+ipm#a@VAHFY{5bh?? z)ri!LgU50*x8?9ed;%VwZxukBFIn)u#z8%>T)`~fYa{u%M~qZBv3rCa?u!}VY#(t! z+FjN?Ek4Q?(!)LsmJX+QA&r9x_em+tb}2~TzE}$Od&A(&s~u<^!eHVBSHdmmh|ilOu)+#!P{Ms+RFRGYRFDUr|#AjlYQ=G_{CJ+$Ei z5SE3g>0Ai|JKp!GeA2n)^5lo>2{J(G6DCpf42e>N0VMNUL^hi7|BiLn3AhEfdXPWS z{e*A!$Y&D||ALL&l!HZff}W3mTm_)2K%Wg?KV3u4xsA-lV$?ApKzZOD0AUW;Td9Sw zp?}!&)?H48nhh5{Pb=!~u0mg@^v6@Gsl{|Vn^7u@deNcdd#<#-7tZraw~IfGuG08K z@~`&C@{Ez{@sjfTk~O+v9`77?>Y7DEuwuaIl>koOBmDMrS%Vlkuz{^2`OI8D zmUbp4vg;dh>0lk>_+eqF-!Gjj)&*>{xj?E3AO1Gv7fX12rY?Z2xEp6K=|96tIn9Lf zcxQv>u{{+}oS7#AB1o_REPry;eM50fQXD2zgi%tUmXl%D8n4BPl+6VIq1f!v3ASk7GPD>WWA~qO{+$4P75^ z1mZ~5(2czsBCWa9rZB$Nj_Nw+qM&*OD{ZSp{4?9KA_{-kVSkr&EVm6UK3O;7F`N-_ zuL$1=Z3M&xK5URwsSyPa5$Xo2q@i%aK-YHcujirMm(*DP7N(eqF1}#w-V^bR&6f}$7lgrc? zgm{7Pd562M7KA7IA!{tCrv<+jIoG*~`VCAi`&O{4Rs*md)Rok&w`XQ zc=NifD6JRieutxaD&kr0yP@LdCj$k*Ve_O&6!;k&H>XZbF++IAB<6fk?GxRj(?G^q z7h-XJ>!)&q;vL3@8@7NfjPs&+GZB>FU!I!El^Yh#wwBJEF9k)Uit@vy#s8JGdo#vF zVdh7$m`%`vE9#I$6-f%3CfI9h-8|j3P$40M$snKAZefHshx18C@hn5d*N@D0y+T?r zJE*QVbT6%oSf*x6FRUg-+*E@&_%{VpFdH>y7?*61qYE)5Y}86VGps}yyhcedxgJQF znRgXR2xak!#Y<{p>d)dBDApqw0sF!MZ8lf1-SJMd#7va@ zR&?xvB`fZ zHPZqqB2SNZ#o`8|OZ-to!r%zC(d^bKSPGVD|G5h`9GWT<*6H`Pyd9>)p?!IL4oPbk z6^*>gK?{d*TUs=OzbA)Fj$(b>}7e0vjwb2)N z_ZbBoFh1@`#>mJ)rMuXVLDo>GCQDUJ9PFn-+(+!m2P?c9t<_>RCo*|7EK`JVekZra zn9Mb#wK~JfRICdkbswIXuf9v_>)#RBH@M!0hV~dICF6pVnc%ln=WUocA=sI3=woX{ z7<+wA9Nq_e1$eK*^em?CMQ$EZaE{w&NmHUd>`oer$k@yVE35Lad@nbz>d6=bS5BE049vn}(quOyHhV$Sdu#X|X zQn4hq-r0N*DUJA z$9~gHbnpkgl3uD=kAh`iy;7A5m11J>*`n^`idPX-uO77OxZWt7Q&*EADlYF04{4Vg zL($?h{HT4(qc2JQ4yPG|hw=q*N-QaH{YL2MPl5?nBMU1>8|4fg-q1zG%hadvtoB_=>{^#g8IUAhFhqhL{P>qM3t{k!P<9>$=31D3Bq z>VUsq;Y(i-f*C6$4Si6PNh~U&?oQCmBr8%EF|nyx#mJxDV?cvyCOor56$1v|z=)E@ za!@Wo#J~qIa7bX_VP*{;A4j9tXlcIhH_Khtk!(+V>i#UxQ zoUA@kZ{*CkVt>3{IcIC~v|fVDb5~Xr^q;K$hDgv5#OgKf?R*xfZ@>57sXWWir*x`r z5MM-x6KqYtdEq!W?rdaN%&HO7*P%Dj4&UnF*q!)8q72@Hb@rTg*em5WKok1c4224s ztvXSScI~(L!#CA*cRD2%zw#&h6iFW($L8#&>TpXmGY7s)H8|JoD5lEfdAQ@Mu~#GfiGAEb>L=JpD{FVt+@C=POjMR{yWR zd>*W|uGO&e?*j8^6idMR-_NgngS5cxzVd_c?^knwyFZ}UUqJK*Y;L=Y(iO|Nu1C8+ z9CkJ41yIRYof_)xmiB7XPDuPIacg0HXN2!N?R8@IC3SmkOnk}bm%jLH=kI+f@MpFj zUP7O{t~s#8R@bNnJuTikCuTkJSOx;;>uh*UWomF;4hvfH#K$z62l{NdRtZiKdwquz z-!$eP=zaajDKqI?3QL7rJk2^YDY~b&zt2ev`H|mG%0GJMI!-FDWN&a#kzw#=TGQU; znY!Q4KE4OMe|393{A-a`94(B@OFjV`@`4fQ;ZPw?)>>H6Y~PK|ckGC*TarA>M)LbU zUv&q5kA14x$2`BbA?hxhY_yKQ@;E^}hPiowQNT4zo*Ji_YSpJrZ4-Ilt6W$LQg^Bg>txesbaq>EN!uDcQ^LyfCP~ z@Itvz(5bgxuJ5tFc)MkY5zy{0czw}o&_=nD|7ffC_szzvwY^JxW3&EAnsb}$=HypN zZ6Jj>9cF1C(lf=!i;iHuYs54CorD)VvTLaws7$g**Tze}I#bz?%O+>S+lJAOka@U2 zp>;YT*G>7>TgHY=iu%B7PszWN&6662((jB9-!yL*@4ef$buFGIy$RRLT;gBx_Mm#* zW6c&HPD3N!Z$CZRwP9|xH%rX&>+9d9gyq)){RbAC1N(%OkRSF#GRQ3TdL19^fOWc`UZbmuj1(O()c3tjY7l5az5_M zuj>*mfGs=!vhu?EnftBv^nT-Lthh5ikG(%bhh6=dThSJY$>kPt^B4F~(_*EtJ1DEm zWPWbS>1EX1zIYq`?#Xw5C6F_N&u;d$|7-IpIbfa$h4?$Oc0YR6?|a+{huiur%*?_~ zl|+5`9Su90FCOGu{4d>cyheog9B~B{_vYJT4be_r9p@MpW1jnrS$6;V`vZp#YT-qt zSKEmlqQR3^VNdTo3;V69`dV8}U~QvJl-YboCt`#96u9U%bxioNX+ZhOn#Q}I%>dzS z@SN_d_xg;S&s)nuB4VU=3wbY}x6)Rxf)=R%2V5ckN^iY{-+Fw28UK@8OJ&VqDxuT2 zi1Y^N&ezA(;uYs|ef!IEE#*QKE+SW$+@$QYpXbQ>H*I3WSxUw!3G#fCGG_hyi8B0G z&s5pgy!wZa^1r?VZN*k(Sxx#EPx8_)xsCI#me>-TVc%?9(`L8vLnZMk%%jT844{pDF0|BzLI`1(J8 zelgx46M7f3j3Ga?xY9$q>^NWda~hH1Pmy^EH!xu7RQ8jW>6D+24<~6pul}QVerrLY z+7)%fU5|Oil6DZ~KljUriU6C8j|EF)>N6^2G2%j1>iHVKi-EYac*Ahf-xKbFj z%tdiruU0gsNKu=>z7lsPT~x5n#4Xe_ON*g(EUiGb(Vp^RCx)y_J)#29I5tT%A@pj5eq(V01lF!34@wo ze&NO@?daI=JQt2eDWXnccU>^#1~&hmPGfJ4IK^y{c?foI;IVyUOzEVoUs+_@=Tx>g zUzPq`oVXpP#56{`1e)4JeUlHhkc`04CJPIsTTBio5~y`eYBF5%;_mWC2aNe)zxV~x%xT??eA&1506h{vNND!?_nI^nd}XW4F26dfxbsb zyI(qHg37=Pvr9+duJn|D7AgKLFbr=7V{v(O8YLct)1(`9OO`6y6PGHd&Ulcs*ka!A ziQq=>Kwinq@^2nObOqu8SL-Cz6IJYI;#Cv$qcWFchR5B+lVI67-^aSuROv){Z+`EjD~`-QxBuf95yHfqvQ*oWFJ zEB|@@&OL5R^D~F>x&<#rS17`wVrqtkI#PFi?f8Y z`gL1zs%DT@&Eikxb_C;mZaZ3OrWFVSu-AZ8pr3;d9#)*z95R$fV=xAuy`U5f)WwvU zAtFP}cs49HYO=>6V$Sc|n9?@%l#U0OCOGoaLExe>g@z|Ony!8>kE+MlOU!+OL!h#+F#>s-BZ*d(<1$dgn1@nLp1?HpMwxH7MOIwfp~<3 z6aGR7vvN?Z*NO(r;?^PyV(6dXtXoC6*s#}dsv-@$&jzMSQfL$bRP?|`QDcQ0bJ9V~mRgvG3IjP{*?K>#OI!;HX zxH=JZu~cd+&z`n%q^mkj!82uwEk*cv83Oodvfi5B6POK2J^@d*^`W^CV-v zD>J*32{&sDfY=he_qEbX?scibNG{Uf<2=pujH&a!b-{CQs+)kG-#BZJ6EYtO7#aF7C-YI>Km7|O0ogg~Hq@3KSHf(3e? zU|oJ5eXlVNl8Rt=VY##XP`t^&mcn4IX67H|*|c$u2EsYOE`kQCc+8aDe|N>Bu=U$+ zD1y!S6iOTXD0RfCo>^akns}V;r(Pi58)d?MhO!fsgA$xigx(`U>zP=C4&m=R`2tq= zdi8wsp@|YL?8eTU%VH{b|5n%`&UGf=8P#}|JIH`?aYlgC^cBJVJd@$))BUi~baQItroE})X<*4MY-K>hv!S5Q{ZSa= zK*iXCvU8K7MG>qa*yygzL8nOp={U5Ic0(c|-zfhBW|6Ostmkv^?Q)*uB6Z&r*7AOpE*2B?+r)QV!k>(Cz*h)4zTrb zmon~sxyDmSx1$WvT*igy#OcwDm`~|DI*B3sWlKB*12rQL=IO$y43Du(3y^lF2OmJ{ zLbak=4}!zwjHcl%@0mufRL(h2ep6Ny?-?(0Ogz9ohXoh^*rUwEP(sqOw&Xg`i;N&I zmIGIXcs$-k$A;TNz6nlcuk>ZrMaa#$IAHpF2isNqw1W{p{9`1O3v_rRbg)_yD-ftu zkU|U)-1bVrcz60*@^yfz}W97v3-m=!gPBM_)f@J+Hya;Z|nSo<2Ai$T{}=O+F$_6jozt3 zgvTSGmeq^_=pMp z9K@GjK>;W7eW&(Gb8A_Rp7AC{a`Msm_|8qAPDs9M-|qTi*(HAh9xQMVaZ@L}bbZ^J zM*9P;our83tig~-0%mR{Ptta5XLR%ih1_PMhc|1XhqA{W&h5J>8xySjBfwB}OYWHLEjOk)d8@ z{`M3cX&6-|oMIJcYJbuKd+%ZOqFI00qO&22>6!`9cPmv)a>{&^g+?{L!tn@$oC#$O zoA5N638T-qxHwgNl=Z&+x9@Z@pN4FI3wIBPaq>=s`W@*B8~hdX_;{S=`rdV{@L1+~ zU2TE%#m4LP^4E{RV`ojrg8*L1;4yQ770fXA^P(7-Aieiwg1Bb)G=8RSO5U0l zh4(QaD-orb@aCO~CI#~WRuBw9vTV$xKnC^ce^gKh$@E#w&M~Dhr9&QTPcf*_&ROeb z0dHRg8wDu?BC#Z%b_5|R8eF>)9x;H+h=)+k8o)acEw>5CEcpyA!4^@DW`9IahJrzQ z{S;e-#6c}>tlhwaqU5;i_rh{C=7>Ta5Sc^zH(p+2RAEs{V8XoJQ4gy z7)8*&B^G^eGK#Obr>`>450spx+<>0%04?ss^b0ol8n?7TSalf-W&a}YS9|h#t#l8l z&cJ(UZh>#C#MHR)zN^2G_3&_C5C81CojYLzdEiuDmyc-)El@PLPh{|mg;uqonQGE?@;MEe; zNQZKL#qQzOnu&#qzYgh>*q(-)QztW{&?1@t`)|${3Jj8Kt=i;poA?}sCtGGE&^d2= zL3H`AuiT5S1ISooWAE#>=>JVTfElgKJ)mh9uiF`FkC+Bj#cps;~6UK zNAG12{sburx%Tq(@AV6#kuu1Js4Y0GvMqe_Um2ob!C&T7=Mm=_#Fhy41eu`=$LK^K zO5eO9;}wN!5Cff~ro`=?Bg+Z$g_OebTEO6F^HK-4 zXC9Pe-qDKu8?RFxn-{W|mVj7uF&ZxZhHB(tP%6mxX;%JJDN>9jK#*e^XAbAb9K6Ev zE)9MFGfi-szP98Kw+FW3hy4kxw3-HD@w&cBz_YX?KB<`O)QGs;KgMu!E-o~HBF=C9 zZl>LpY9VOp%cNsCX5FMK2M2aoI~iWE3$NZ8BP2?o!C08uu#$}cH?RJ>9G-pQbNV6T z?Q*J$?Q8u5*mUy)%Wo}<;r?N6oNlUJ0-ADE1+lXXNMDr6@O%}wNDHr zod{dVQ>R7@!P51fucXIAG*LXm`>X^SzYaThKjmJ?o_r{=V!BP&TZe^jW}hu^)9{}L zNBWmhZ1{(*z^Bg5$`HSP)a7RP^?n+hCgn5~R__dY*Y z5lE{A6MKcA;2Dp)aG)q`UcG~G6*Hp31Q~P>B0whU`A?csnF)V60S9mef{vVNsnCL0 z#eh{^;L|M*AZ_-sOj(&$L3O+iwO&aM5uLIJ@v<%oiQp~ifip`=>ON9)2iJ8j_vUz3 zvycU_xxK{`95aZG_NZJ;zgY^ojF?~V2J5^B0edEo>ds1A2i^flSml<$=AsP>-e?LOVBi`$_HN+$NC zpJt^-13EBYX;WDLq4h3Uu!DQeoXL*8a;=JX_yK>eNj<;iHAI!kwsoCSaGmES^tWGS0=$g1neX)Qc}0$Qpf2w(U! zldCexv21X(_b9~hh+0RP7_xQE)F8EI9kUQ$hLqh*WTK~)xsFs7h66RTM$EBH3kY9BrYq?n8t3X;>kkjujGMZ z$4Y2eu;#F{Y^O2zUV7vngEG*6{y5L9apl}Vq2HhsySH3QeOMIZuIgYjT zr{Cl`p^a_=#B{88p-Z`Qt>tpgYNHi=7hF~av5ji4eE&QXezJr9ld~`_tQAHLF zLzKCZS=`q7I|R^^h6&r^RfZ#(;i~vr2(?6AIO!|Cn4~826ooq)1g^_!OAs&_Qz|cc z%ZMDi@vR(8D>7VCuhXGHDMML-PPauciW=j5MUo?sdu8mtW=%!qGCp?$wV3}}it9k} z87u492(!r?)HY=*3UR#=NozBqe?u#y0&4UHl7_=#|@2+XtJt zbSIzdY%v;seP0f7tOtA?@m!Juc%>K<3OLIf*gKt;cgsrDNj2D=*y<;`V+M@-mPxml zz5XlE)Q`)Vh39n-c*- zf`|nn=*VvplI3RSP-r!WK;xgUw!C0W1E@V~!rD%^I46CIerCgbJV4tl-kbMae2|8m z$Ab_;(6tE&PGB9P1Rpu9j+~(OV)}5PNu;q}z?$Bp^Q4oQV)0oA(6qNzO#%H`}%v!g5jmN~eJ(9Eo@T_+cUJpS$p zK^DVoNKh|BWb}#M1LBHNcPu(&H=+PQJNxWg7vIL@Oz{Q@+ zSK``f^~jm47Ze5M2EH2gvCwK*IHj>u{8kMl1N4rg!_I3g0{)_4(uw_%;zIYe(ti3U z0`+CuMMBz;IDFtZW=#nBR=h*;t&qt`qDAkN$+FBZFh#r7H};+H{h!PH`{r^Gd|Cb*TpP#-=~wRh)G2@jVsjmw#6BFVh? znGlNJR?Cb!vGUkj#S56-nv)Ar;#Bq$;xgIr)9%&wu4@O5`hkdoF@sh;U_ZJf{Q za|lDs2|}tKPFx|Olvohn#OZDPjD9geTkBB7f#x!&ps7DI1Y?*?funA<(39Y0nn-5+I!01;{cTZ@7I|6E~@O-sBEz39a>B;tY%>ME{De z$8#cr(C{PZ@Llfhn$VPa$5{P_r419Qqa4#%M^XjxvOJhm`#nk~X%6IB{-88g=oI+~ z`I*qeuI|oSp4DLu&e2ps-8e3f$e}g^+EE(iW(I_XNXn%LD_I#QsbibNGT~Z4X+k02 zf1dSV2U0-bIsns{td}Q-Tc9YDy@mdpU~9~WsXOeNMd;JJ6qKE6c{6tqBImalg8Ms< zPkYqY!9e!?DIuT=EwuTHM+4}PmkFL<;a~6L0Fisgz}E9QNoMZ-FB_by!lbEo+7zN@ z@+kc`=y6eh{!FG0%}JO42+pc%HSLF;${ILRuG~5>{^bo~TJjFwf})&2Kz$L*bISbK zR`)#w9?io57syhSw!}73(^TTxn$XWaYBljg(w7vxA!Y;a+544~RLrl)Ze862_8Ye; zU0@=kkXp47ICH|pEY3sB^DKw4QzO{E>ql(ZjG#wSBXps_DX)*#j2~uNOFTG%PhICIm zl70ay?ZtP{4D9PWEG4>KF(A6qr$xPSuAP1flAk9mPyDUq=k8!PLs^yKwJ!+wSLO;* zs!+L8a9r(qLzG>)Qy#<(;fDf{uB=5TW$a4<^G%ryQ$#f6PRd_ z%EVU+YX6;)O!=4UpO}`x4Ru7oA-o;n*Q;gTU6)o)Ax(ZCAT7cGv)gGaO3hL>^Ca)z ze6tT5?r_UTzWLXo@_c{Bj(g!E|Edt$;u98r1eVW8;zw-e^#Z-M*ia107^i$zXzRJJUsUk#Zi7f z^6o9TZE>G*Jf}zYRKCiREUGZM*R}7+UcTZtP#%s*pQz17SWnp%BOS7J#Y_l>pWGxr z5j3Dfpk-3yx&WyY4P zrCkij-Lbwli1R12dp8Xnx|+dL6zjS`GCGCGtq@T}$9Y;OLzY_ur%PF8HI$Jdx5(3s zEQI(H8PLKqB4HPO&SglkMqWtPaSD^<@r8_WaGkv(CS@fOJ6EerV@3aiK$@3#$bOmf*8aAlk*OeV;vQl|UZ2uK75c`@3uW*N(t#Pc}Zal@Rth^*4Bil~9{6L#n|h;IFdPXFV^J zJ>YMW@_I0Ib($E;;r-RcP(01#z#n(&UnkJ?CJ{WCw0r${z+S|W@!p0})$m8~^ZL^a z%b3!S=3AyU8syZMV0Ol*GjW|h$q=GNV0^Ae$kJI!w-4>kpEBz!e{aUoIc2Zhqy3KtL8H_HjtJx+0w5j&!W>0r7^&ru_6oAytZ5GFI9 zFW^RPOItw*Ny#h{%bJ;Nb&mSiIfz3u5IDW&lujq zg#9zYFoZkDP-6~cpIl>4Q0UKC2|GVETlIYJu@4V?PVyhJFnE4C-seLhUkI7jnx#;V z>$C8X8f0WKmhsub!p_IcR>Nuf`WPaCnEB)2%<&cgE31dCwWk1hvkWN%;&7;Dx3?QTXoZ z);0Mo@=VB4sMT*DxuOw0SK&Wcv4R^s^7$$`VC;KslElFFyJ7U3uDSB;Y7qz>=vevd zLnfHpq=)}nBno<|*+wJfv#=#RCfH7cDD<^RLR@~{sgc72D=Fbe1ZFe(na5WhJUsZe z_0@%ikGW^-Pn8@E>{Da_1swM3{`aIpZ`B-iP?+%3llSJe-L!r>KnSJv>Kjs^`uPTM z$3VB}`n(uGX`V$97}FmMd9%UmUk?CD8mAHXu^o1wE?-6DvFNtp6dNCb}Uq358rna)ZU^4j4!M2m0erD_+g2s48Qzz~a`<4j- z8NTln=E5MRZh40Lw{hhj1Sb@tEF<4sL$l4t^dby;6)MRK^SW6XX|Q#iq|SN4#kgwr_+va(EYjsmG%&M= z#}xAuNrPuFl6acLL5qgkr9zX5%DjXD^5jLENs!4Fo*_uPO#uYKIL-#EZDlY&8Q3B{ ztUSQJG-mjQTsrh|C}n=&h@nh%01`&-NIUt1hQVLA!+2`+Ql8;2Ufc`0v&W!fC-lSn z_{o|*R_p5(=@rsj>Z6*hc3XpZC>o;1w3gHp&lSMOE`5L(c*MMBWs zAHR8|^e_~b1ixFd9M&rX?2`shD3x%eRG2Ke(NFxOe*(RBIgBplL0$38hz^OmuPiwj z>0)Fkj(B)wcbmaSNcPig9n>8@2>?G-l*y{?4oLFRK1Xr5VDxg7iCY(K;Ji_>G1yUk zI(Pm$yEB?3DadH*a#$G0@kagBgJz8-fvLew-k^lJL|qJ9g)L^8 zO6U#Uq>Q*=rw~_O<+Q)D#TZD}&6M{2TYBPBgu!BNX2UU|IHEXKHVHm(W0*8?auaVx z1|=NkNY-jO>3}W!&~p6%wasQ8rA837k$|4-6bshAAQa&Cd@!Ns&J3_UOLT(){NU4p z^l@?$Vz>?m`@R;5T?YH5e>(DF`jsED`i4mqk zq;63usX1?ZI;&gbrOO9n?6CfnP7A4cM_(ttMPQO>CpN-~v4q?jJIJU%{M*-A`#9mH z+`|yDGOc-9og|;Zh5QXWIr|5e;H3fNF$la$U1vqoj>*0yqZ2-9yATObRV@Oe(oTfy zp$P(Rt#YLRV$@0jS-MX7&gdw-P|Q7JXFY}K)oj5BCmHn4(vLr%sjSPRnnY_&5xajioo{>;6BCIv~D(i^*B;=HaWPmwBw(pxX zV^P+Sb~bBvzsF$u&Y_a>#M* zF5kjET5=|3GMpF9>(#-z6$__@mw6>24lH8e(YSdgY@;Iw4@O>eo11$AfNvrTFzD_Y zA&z1^8#AzkfaZAxQYAGD25+@~0P^;g+lD-uzI-SU=X81Ql+6et|-GC!Qq8aB2L(VB4#4Z56Yn|_b^{Y!?Z@3pN$WJd8#>O-s zV8^Km8-2l>2DBVPST0!c=&MC2`W`UCPj5$*u1(`D=3x~AB*2YGv< z<1jum4~h4U|k5|nT`WkJ%9wZE{MFO}YR?h-6+cVf85WL_T8JD&sKIbn%ZA=}~64Ad7BW-3}L?5iQ7&M4%yxMTiW4lx59X zaNdzVTuaynFG=n6kydZyLNLvIm88$FhxIivcEe?@6b*Zc)z`9M{hBfRy;c*r)tVTv zkBxZP5!+#5HR`h&Mu#L){|SgotPw?6&dB^L&ln^HpYf}fEPP;=^@P zhSMVgD2-B!ARXki6okLVKn6Cfg`Yeybzg`EF$el6Ie(LZ- zZ`o4cchqdK5!lI^6P{n$Vd?exiA-!Pr17`y%^x=rhHQE>^J^76z!?=GZScJLhDjb% ze%mMs!b|H`iR6WoA2G^9y-@yCBp$TKO~~=LZU$?&TVnP*eSZcw#*B`&Vd16uMgU&1P0To!s|EZFSkb4E~YWchVE~3~_yb zpcjvy5wl&9&L1s?@l1;SNe9bVZs`S^RwXuyTd7cgo;_xgCW$zss&ny6< z@4{bp8fe`JZ1#`0eyR~(%QZe5qJ_g@Vz~v^iKVuBk8qbC#$20YgfKU+QC*d4~E%)5~#ybIExYveS8Y{EDAne}YB zA$808{R9Pt=S&4^MzTT3n%H3P*VqmnCi!$B6#njtLYyO=7)W+2sIDMkO#-x@*2^cf zkvcKr!x}GXhdS25R|vPOe2uJ`7*@KX3sA&{cG!kXVe+!Zijr+@wn=KIjXTfoANZc1 zF^1*T=I`&%tp1{y8P8Nuw@ONoy0a|8lh+vn^dE=OK2itw@u$%Eg*fgOtz)!5%_#jJ zgaJ$^StPy%ior{~M!Ok*^J8rb*yGs73#9^_!xlWw%{?-IC@V3+N-OyaNnn2c1nH7z z^}g`2XiZ6}ga1Z}ho{YRut$JRGx6$hf?HPTApt7V#}_UAO^8C|$#spuCU*K=PVX8l z;e`V6I>obk6qtT$#}5F!%CU(#dO71i1glrzR^E%HF@VJ3VHF`kA4-?5MtUk`IuyU5tU$eSWxdAx+?!Yf-mDS|zx&5@ z0y&+;8eGy7;s3DS0h<*0FSd?9Fu!b@hj98V^0<>s($AzW01r08g~sMwZuA3s9yPna z!i34Hk)PNS5wm`{CvHjbIF`oBipi&bvR>593uW8l6Vuw$fteYiwL{ooh@GuR(Gt4C z{-ylrNp7OWh|nI>BU&Qq3bt_J(x|b}Og0^@pHm}8o*rtxuwSj?)VqljM~ZRaF~g?B zhcER2tpLQT&Ret$Quk`2AdNlHWz=||E)eI$a3p-I(bTaVN#2XweQ1o{vpIJ%XA>qW zq=#}zK;8%$Vp<_IA=Wx#Gt=6sb`(>j4t5QHle>HRaUkZWnb)0QLVKgnBL*753O{B= zHw2G8FeXsXwA&Ot;qz*jE4+bVPFr;OZdNNg4I!}i__j@nptCZ9fdl`v8j;9^9#4&1 z1Ygc1LFr6xC6EOU=H_umkZWc`!7NvV__-BI%49b>pv=_tV)2_iQ1o#qnT`)dFjIL7 zN4Xu~fom|*$NbQe2>>}7@_>fGKDa|2;9>d-J`1gaA$!IR0h_iJtP%_Xb^yrg-d&j# zXSS!{NGFtu31Njb4SEwLi*AXO3SoU(I_nNA&X-|bE0KQpLc26S7?I8VX{4Jh{Lw0f z_2Qk4tu-+z-nh~=G^g&{!e-gr7Izbb3*UxZ2!Iw=%oUnGfpMqi);c{dE6>@7O9RiT6At{Av)2R_3)Xyfq zXH2P#o_qo&cX=uBB=@JCcK2@1vAw<1HK+}8XQR=O)QPy_qTLvT-5`q)>EyA;k9KL~tFvglwef6Y;eRih<>6 z_j4wH;>GZY0=N_^%jefbI2Pnso?|2KvVgQJ|dEw zz{vHDlpIX3YVdQ+920g#({ya_V=xIw$VO`nN0wO6p z-J!|amJ7RcqItP1=@+CVjX8KOJ0|O{`neb#q>G+LK@J6fpPGGp99!+dHJS46Z)_wR z=H4GQ#=MKI`Vz~~iB_5}rE}WJ#_v<>Tph8H^Npec(W?Go0Ob2aZG* z6A~h_v`t!+%2LLCM*)y$pKat+C_V4FwPez0)F2Bfl%%#)6B@I>7r8=+L5vwxgqL3_ z;Xt5)-E7rx$kDdU#awojULJ+kKw-I^K54-1-~~Wf%AqcCq>iMMAPH6#Hv-~TF~}Z$ z+;cW1Mq%RBzwDt{>CB2;7d-h_Q}Ed=H2WzLD^&_R0W+Y4+7T$W<9x%auwz1xWsg-v zwB$=;TeKJY4u@h!=-YY9An)@vNo6VDM6A(BBDR~rhOEHQ#26_um$z=~JIm3h$2v5g z^jj5lZ=0EfM^wcJ7jj~}zX2}17N17e4fVX@)2XkE#Mbju3JU;T9nVdU;R%u1Pln#+ zev(8(2Sn}!)Fl5rIEg1?&xrg&@G=eiw{tq>cCd&8S=IcV!QJMrWfB$f)bu0I2XV_7 z0T_Boog51nFsICA7urh8zL2#c3J-SJGDXQ#$OR2sCK|?)#|8of9vjcj0G<->CA67z zd{xBpY2cMi{j`c+lc;OktxWf(LY15}h}3xSL2C05q`GFBLAO1#DN}N$I4cB^@O7jy z6GoC{<|PuY7z#Qxs!qy?xeKwehrK@c{lYgi7|A^tS=9-`Qm$+kgQAw!m&M)*XqmD=d#-}#RK~EP6Ln-mY2bQU=lz; znj@=XX#Pkd*YApVQ8U4ku;U)rNU0&Rqw|W2#k{_?QE|7tgD?>ijzV3wa$ndj!Erqxal>7YyJrC=eUs#9gp6mWH z09F-t_|O14yfVI(_G7;^>iqNRT$=YMEaDApGsU?2g#IKwYbsWyQc&nEuLON;Jb09QQRYj*V#(QZ^aoJio`?B(>mW`k zopD5Zk3F}=Ay1Wvb;E6>Sh9|qPH2&Juy$ec7n&s`M{?XZ;n16a@W}4t>>pXdR7`<&`8=)azVo%&C4vC^YPfVk;WzOG+^-;WMG!z<${SWWAKnF;K^F$lqj3X}-2U#(8<4B~0Q13ZR(DXHGJUF;lAX#BLW5aQA zJmp~>Q?%Tf!Y(<%s8nW##&w144%`=QKSQtdc=#D}a!iL2DPh3;0=9ES!tO7tO!I#H zmg&yFSiWNg2*tx)c=5>e$+1j~L*e zcp`KD)WZeyqtF(*bSw*rRmwYDvQ*h5G?bATN^PD?P)r$|mAOr5?m;>psfC@Ly-FWl zIjz_avjCk!KQSKov3#spFhNeU#=?oT7Znl2Ok?NfCa9&?2A+|)$z|0Y|Az*I72Mo} z|3B8=97&d42in}rl~39Y&ZOA(TWhWL{`b-ekP&&3{;^(NvlglZaEKup8~}$qkjVbn zAPX6}LqnE$#c!)eiiWgV`}LdZHeCFJ6xL%1;hZb;+_S#)-&IzURkOf}`dm55F3l`3 z1D-4M>Io6rbLA=-6=qp3lHXMhm~hi)?bolXJ9DLkg~qdp{Ferr(PMLe0RH;_~q^Ia;c*Op?>)DmPSAOVVdY6W6wlhA*vECb#wS*M_LG9z${sJA6z*E!z@`mQE(Au7RndN4L;b+?WZwz0gbMo zs+)GK4mC%Y=q$sP{h%#4*Xjf=gP=`V{XI8lNj@@5)rp)dzt@>E5s3s+ya1Q+bAzmQ zS7Ai0lXHV1NWdW^8ax;dP3*^${29~6kHKXat-vb9(P|b^v_wV&z8h}g9 zmHa@S;^zj(wdq30{C`-?eh}*61}@lXn)3S$e%%c3zpfs1&YNK81WD*WHHexWIE4uz z8w0E7_g5ap-ENkwQvz3BNzkAU;yXv^c4*9Aj;`1`dJI$k6hj9#pDFy4rv<9$I7}T>#OeT7nP$Y(l^kQ=<9E*>kO1GN})JcR+M$Dm4vm;17oNO0I4tN!c1G)Vf1TlgwKcEF*5WtTWbHVCL@NDTU+ zx@yr@2i3!Q<6ON+c*ZPKp!PSF&2tuIC-Alubv&FaPiVn6a;sA=&$%+>A9=Pdo(sv?cn1-SJsL5VNd&Is( zSB{>fG(cVyqAuskMUth>QuOe8u1o@(X7bvv-&C*dhBNQU>cB*FuDqE3w&gof;@8jB z#`PbB4TscgXQ3o$pT1wHc|I}b0Lqg~z zxBFv*deE+hMdi@oiB%s$)vsSy|0&A;`b~9L!b}=@Ib;!@sv8s07)tlnXOS-3R6UH# zQ)m8BI;jB}*<88*f$e}L0RicXok7MWsc|6Vybdx-Zta@Xn zNNr&0D>bRVyb$RPS2jW;*tOZ10I6QCeEFVVXXtARse<3@#|9TL57t%x^5|%Ja(PKAPcBFm}m%apgNRcpS()<0+N+(4Yh9&b8{le$}A4Cq}n* zg^1wJm8+aK&4Q#+RQbupl2ojfy7jxt?*prjSW^|}G%u+B7jcHjCKO!=eyXmdfb~ib zlgBTrJKKUhr&FN;RE8@roW5>tLYjrT5&Wrvf(3)43j-xnbA!v^sS?9&Gl>O;EmqGC z6r{(^lNJ5-tLm=8BY`HTZ39j|svPWKR^;?w+*<%FQcv~oEHDGM$(F<{Ri|36oXh*< zFQkxW$wjFzu(D~hOqBedTwBy*e6Acc**{=f_@T0ScnY#m1PB6@KXCXlvUCWdV&!OC zJn`O{C91cFD`%&LmSA_kyhJ=bTjl@v|NLM7&;LDfMbD^Mwh6Y`jo%oJW!8{u zW>3*V80WlY~RKF`akLvL*boaNCPU2RVgxNjoB5b@EFrXa9Z#<~77D!c>GqUcje7qz!=RgC6#2paP6@u>RHmEX#KWF*fxz2yzP#`pDivh&?RqX}?1xTV_|@DTvuHt(COFUIrI1~^S5N-ILAc}6EJany4 zy~%E+=g5>1gc4^4lDc<#C6G&P1+g!aj840;={1TLl*{}y&8M?xkE$tS)sfA?>U%*H z!pVJoe~wfIxm?uBG!!$XHep_OeTt%@sW0Hsa33obqTRg0(+*jS zT79ORsokk0!CpSNrl^TGl-AiUx*un?RcfdDL`t`AJoS(y`O@HQOh--uLARNrX0`lS zJvTr&1)@&p>Jw3UY1Yu?SwklX=0(Cm*H77d5HscmJn5L_5QQQ8iR5@YsngTa7k!--GURr|`z>r8hN?$?~#FIIWv6UD7W&yneazo(?)~*K^2xVv2MR z6|Jq|*)w4euq#b?_`EJWeB#Sl8Lskhy~2)ie5rgsRcS++;cltocMj##B^VQZqp9Q3 zVx`!@UK@UMhqvzg*`yU`Qq|t4J7MIlMwle(Ko15Fxt3_hs;9GW|J(CYXyT@SDUXYb`Yc?pmn!$65+2suWy2y8DH9qH2 zVacZhkrU(ST{$6nM49VjzQN=V^Md_B{I+IJ1JJXtM!<;P4njuuUHIaVchbJOWYnF6@1_;Z`Ykknlm)fl zM=e6Pntgkr?v+?)vkV`Km5hJkSm@U%|0=cIJQk zq#T$Fue*O1WqcZ`*x70mB^v_3zw=-p=Ro|vH8;=n2cczLSrOa7vWJPao`prSe0-fW z=6tN%4ORNVYLxl5Mq+b!n$NiFP}pm|;~XLzGj%Jzr~g>bNUe^$xrte3t0#E z98m^Nf>1>+FZ#yS>52i7k+24HazBHQy+*9~Lus9yPzK9082C+>R_CBukPb_g) z=0y}+mIFGD8xaw2pD*`9uFJT##Y8u$t9y1$1+8!2>PX53_#q}e^OAydccsmJU)%Zz zvp?9>HilQ5n~GT(=YK|$b@O=4lC+I>dyq_f4rjv7fnH#aLY3mg+`1odocMJn{f5t5 zHKbfkg*cv#vYd$7$F+jGNj9Mm`C^ysS1*YN3KJQSKC42Bsg=zoCdvwSPmaJI2jA8w zX+T(PBhkQ_hAh}E1QCb&(c^VXoJC1tc=X%gE5ss?=x`&;xF7Ha+Y%7i#;^-)HzHuS z-E`|Z#5$R6W@x~;?aI`KG0D5Ez~Xk=0^Z^B^Hd6J>JO^d%@E5rXLt1nZAkcpour5@5*5wVq*&bcR@le zh{+tIe9CUu&xRNm)4*;FN}#>uKJc33a4RFyt@K3$l=h+j&;#j-6e(8wL08RIGcTYo zn3dRU+tI$l)C)eiDCDzJp5PYAD2;D&S8~1Rkzz#vRekPuzIe&D7rt8M%dE&1m3T@s z@??6JaTNWKc@U*v#5bq>0_M4m2}Hx`2AqDKx164@LC^Dp7ib33FZi8pmh*$V=n6Q| zY?t$ShtTQL5PHex;|^gG$9E8ZHJ{=tMdYLBu8?ep{p>}@(9Di$o#kw~#Qax_D&$`{ z^Ic`oS~Km$%}-8-IZm|6+_)BT(X5TGcu=Op4dT7NZPhz^53~xhQg-5-zV*0E%^h?r zRu<>(GxW^id4aqyb9Ya97e&MZli{OVwJoCCi~4}>j`}VfLLJ%cg;%zn1~mxd(7>ga z;h~*goNmckjJZWbd%y2h_NV3fL6b;Bd4cRiTD=RpWH>O-cyC5q%zv=I0hmA04;I>(OEMgYfQTn72ag$h!YJK!&mN}-~d9p<9 z4LtbsFu+vxPbyQiC-SPsimgsUmNr(K+PoQUNHz#2xkM*cX1lY}`ExX_5Fs1`s;o4ImM{R6jQLYj} z-Trc_sRSU|y42wIp&S-8y6*0sLgE`!2dpaCvy$R$PUHEwhz?qmE<82s8k(i)WUU8c zic^Cs^nVi}3t@(H^(;YpvmEIDp6o;QN#}e4CE}6$`Tt*{wFmlw2_Fc8 z`#z<707UtKw+9p)CSfpQi7{+f0;rC^c1+cZzsq`Q3g0OQ@JazRWTEVoN!$(JP=-mQwg7+8gitZvz0H*p7hI9e@=9P?{h$uX0-4z+9pM=(q~tr+M0sgnSh= z>7sVXg!^O&nj)Ao^gELdHLb3mK*%uSC|cl&-dVZ!+KswVAui(4x@0gsXG54@*m!n#x7 z6%bPnA9DY3+_hhbWI6s}pJ%8bTjrg+ImyCAHhE3a8goqB};ntK(?elV-XsBI7+c zkRP=N6)n#>kQ8wysbi18>hxySAu-9+J0QQQzJC;bUc=LqY`00fq5i8Kz<`TAfbl3Y1%QEnKBrp5wX@^Hzq-g;g_4e`FHpfspT3JEYSKAlC#+P6hcphe+bK=k!}?HECv^u69T(P_0K zeIv@NQkl8`PSoAskMR|&5Bi`cXTErV(O!?#-$4lUML{kosD}ufyYB_>VoO>jKuvTC zb71OyPa1p9{PP;>g%}b)>I3h6`cp7?n9}3j(-C@m>f%le|CD6miUY-0e@|ea(vcvF z{eFl7A6a-jUdp*oSTTD|0;}{?5XTG%)T> znnLBl<$#xbc673@1jbvN1J;&!^Foe$m!NqSYxkh4>8O-yZr%*|8bhqr&U9hG1bic( z75JPN_ryL8gSC>?4i*zXllKjpvgL*w*}p%3ZXIWycI!tfMgz1W{TWv`@>@fFmZuCi zCSiLgEB7F&rYUAI_{mM74f%o$iTHk7In$}g2)A=3ITkSc20d4~M_1>R>OO{YCGb$r zK=al+-=iNFvW6#p39b>-j!3P&T{nD^QS}&`B#Cfaeeyx6o%YppqAWxG{Gar7&ApMM zt>@Q(`Y5ZcSwI|)$A-nKx&d{qA>aYD-IXxIxy}KC`|h-zeGK<{X9nec%c5HoiwCIH zB4yxux4pJjHuy!;M0^{1Eogjf#6>|BDCcd-MH~{p1O#Dw96j8w486)K+@TVUBdS7u zP+c_27;QDi0V0;d35Hc~SX;q3YA+c4Un#~>$x(;CG22fA}t+3#$(T?$ZGG(_Ak(3eYPy_8T)-P=4!_GG=4OOBx`H zyrgK-mHv$O`MWi#n{g&$#XUm{-v4tq-=Wyv4==L}{1wyfGAg?Z`lE{VU1IyBrvy_; z^utd%9onQcxQVl>Tm*Y)GsOjv60T2m70u8Z*HiHQn`Xz<&{Z6LjW3`-*Oz>>I{40V zd~UhuG4=2=UFPj7pbCGV-L5cq~HKh2=F)H_Lgj%Up zyTaAaw&PD_<1BslZj@KNV9}UA+)gF=zQpc-PUGN?`lK(vj`_=+T5~(}vVce-d%C5g zKWruytC-CQH^uB8Q7WC!{q5owkE7s4x$T*b=rN$3xuER4nN%vs&Q;_!w+BudShL51 zUK~r+;52K{!UjUtwjCxeEQcj|0i=93^nOi8lV)U=d=eTRhk^;Oy71vUHQY{FU@9Yf$>+WoL;~ ztnR+EC;K>L^@VoI|90|nOp^|YJDYIfDDj8)?B78*!eR`n#bBO(IHf!sk}nM=#*PVV z`Ih0`?=pH62~WWrIp=3Dj7YlHNdxG?;iB_Xjgad7Hz~vxVS9w%GzWosB<5-eJQAL;gMIlYOr(k9VYt}7`neb_ z?un$SO&2AsUW2J0|03Plzr(2{y#foGBC$d&nycd3uCVJJpOS4Bb4DI&6yskd5Cg+D zkMR!LDW_$o<+cE&rH8pX3H?@{FY z)|7#Q3ZhG@uj}Vs+>4uB<8WUSIX={tZ2J!E%MV@rE<-(Jxj7>Mzn3R7E(qFvJlE+$ z#!5F(|9WG3g7bm_2e|vbHpUv;b?`0M!;N{OHx=(&s)Q1P-o9|(5q!%ag4S7lDN zD+3^)-nswaCn9xP&-K!Knk(k7HRh{(%%!?H$0G4pdx0DdpYxd_LP2`ntyx6z8i5=< zxtd#%{R2yErMpGk+OY)MOy=zB%% zS6t?F()-0kt_HbGNf}~4FbJGq4`kDxu5{QajC)FsL2^&VGr#9OfXi!0KJ8(`XR+8P za-S4eBZ-FcCMGz^cK{F6Oh6I=(|OhedpKxdUJhm%G*f%}(`-W2MBhmEd&)e(d*a+$ z6eQ^;`$L}%82RE)kXHT_$j+#j|i@sj(ZjLD&qj5@)!ga%yqgd z*GaoRgkJCs%p#I;P#v_H_^Eb3i!*7MuPt=-nJWrUQt}5r)@A#6peFM)(gGB6eWfl2 zAftm^NB34Av@P6asT6rm-U0UeB05bwbsl*br=BGwwp`4n^sp?^$L|bz2!*^b7t*gS z5-Zai3<$jWQK}@%h=)sGKH9DZexz`cSskd?>ND$P;On~5T$&X!{nkpG=O4|0jL!E% z5N)34i`I&JWL2DZCuA-45PYpgQ6l~301##X-QpYGdztmXUI^r3(cn@6oc#WJ3gKl8 zCrTZ;&$0^6$pTu~zfpM;5Y-NMV0N4&*dH2I<*0OX+xY~`BtnUU{{~*2xNAIoQ66ko=yNP4(&U5HH{ccHSRS}*F4Y}7`!cIMuwN=s3f68w8=Ip z-poLEVs#$gCclgGezi_yO$j#q4jYGD@9M!CIw80)Ik=fquBR4-TX9$rAIZZhEA?zUC`84~IIF!eg(}4oq3y8<} zqHH1R#&H4g-0Adm&N{38dwhTPFM+f%lW~=#1o)(VolvE&MPFWl*CCRy*WJk>3w^)l zRaS2Ho-wuP%kbS#0<(yGXL0ursMYI1g#6G2dA=U%BPU}XJoR<4O zNBdD(Xx;+fMZNDL?YRt*60pE03iX`_mF(AbxTCQykar^LpbBMn;!*Xc19=VHRVZ&EoadEB`HTcT*Kw2d~?O)srsPPo7+ z-Rj9QkdE%mkC%$qT9X5h6E@v1hYed8l=UUH!Iw?N*gZRja|r^fkAk@E#;AL(dDv2(hrMY>{CSoI}@ zG*5^kz(?`XZ4{n`$V7WK)6KnNSGz|dx*YWYJr`zT1N0vjK<8Cd;FH2%@0|{z^Xyos zX@!PGaI>O@Jr_#V7*uxTlP4mm=;@_w5{he^Le)>`B0HBA(b%=L**PivLP;|{6!?2C z0j29Yi3gZ#;&{-VG!!HkK6c8ZQpD+v=6@;W2k~y*R3HJJD};RxQ4e?TH8eu!=3CKF zVT_b1U^t^Ws02QE=WhUIa6mrCawL(y((`F#$wBp1H8V#>-e>bL*+eDB@epR~pULCE zwvq5elJJC(_y|NC$qC`gcN$F;q$Vxz2Gd0QlWs_CkK|8i;efvK!whH=Klu1p$YZGSx^>d%`Uxy4r0s_%l9Ebj+;S7M0xqTuajIMv4BBQ)o6OyHL zOMaHiO_P&TK??|~TOL*#Qv(+o%-q?x)Uk^>il_U~1SF#gw*^_(HuNT)^L zcNCdLKfuZzm0i|kEEzd4MgOg{Er9S&B=}2hs>UDFi++My9?%eylve3ev2QbrMu&re zi0S(FV+lnEJ7!{p&L@8vQC$0JHUUB)G|X)GXW8Zmt7^8}J=F4y%*4OwC0OFh{}y@UL4rV|Z%vLBfY(9giI>9ZPx{7ZoY&=`5$|7MQUysaPC zA4MlVq<`@48?rHUT5t0tH`&957ZW8Lxp?PdpET;B9S{bbXCm;q7`S)USd

wfam>^X-EU(tCON4-J~8 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ÂbK%CW+}Hsh#2|g+Q1!I5wL#B$G_CY*Y~X8#(uM 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

CJNeHrV^K(6&em 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 literal 0 HcmV?d00001 diff --git a/research/odd-native-common-grid/verify.py b/research/odd-native-common-grid/verify.py new file mode 100644 index 0000000000..0d5862d041 --- /dev/null +++ b/research/odd-native-common-grid/verify.py @@ -0,0 +1,98 @@ +"""Source-authenticated dual-method replay; no native or supplier admission. + +Prepared for @CubeJerry with substantial OpenAI assistance. Apache-2.0. +""" +from __future__ import annotations + +import ast +from hashlib import sha256 +from pathlib import Path +import gzip +import json +import sys + +HERE = Path(__file__).resolve().parent +sys.path.insert(0, str(HERE)) +from audit_bounds import caller_bounds, ceil_log2, require, word_bounds +from audit_controls import controls, rejects +import independent_bounds as independent + + +def authenticate(): + manifest = json.loads((HERE / "SOURCE-BYTES.json").read_text()) + require(manifest["head"] == "4e13b7acdbea1c9f12aa88126435360eecea7401", "exact candidate head") + for entry in manifest["files"]: + raw = (HERE / entry["path"]).read_bytes() + require(len(raw) == entry["bytes"] and sha256(raw).hexdigest() == entry["sha256"], + "source bytes: " + entry["path"]) + raw = (HERE / "source/data/caller.json").read_bytes() + wanted = sha256(raw).hexdigest() + mutant = bytes([raw[0] ^ 1]) + raw[1:] + require(sha256(mutant).hexdigest() != wanted, "single-byte source corruption detected") + return manifest + + +def source_parameters(text): + # Only inspect literal declarations. Never execute the source check.py. + result = {} + for node in ast.parse(text).body: + if not isinstance(node, ast.Assign) or len(node.targets) != 1: + continue + target = node.targets[0] + if isinstance(target, ast.Tuple) and all(isinstance(x, ast.Name) for x in target.elts): + names = [x.id for x in target.elts] + if names == ["cutoff", "floor", "power", "offset"]: + require(isinstance(node.value, ast.Tuple), "literal source parameter tuple") + result.update(zip(names[:3], [ast.literal_eval(x) for x in node.value.elts[:3]])) + require(result == {"cutoff": 11, "floor": 12, "power": 1920}, "retained separation parameters") + return result + + +def main(): + source = authenticate() + word = json.loads(gzip.decompress((HERE / "source/data/word.json.gz").read_bytes())) + caller = json.loads((HERE / "source/data/caller.json").read_text()) + expected = json.loads((HERE / "EXPECTED-BOUNDS.json").read_text()) + bounds = {"word": word_bounds(word), "caller": caller_bounds(caller)} + require(json.dumps(bounds, sort_keys=True) == json.dumps(expected, sort_keys=True), + "complete exact source envelope receipt") + + # Independently authored fixed-grid integer and positive transfer-matrix + # engines, not a second invocation of the rational row interpreter. + iw, ic = independent.word_run(word), independent.caller_run(caller) + for key in ("dyadic_height", "maximum_scaled_mass", "coefficient_visits"): + require(iw[key] == bounds["word"][key], "independent word: " + key) + require(iw["odd_scale_lcm"] == 1125 and iw["numerator_bits"] == 24, "independent scale and numerator") + for key in ("maximum_mass", "denominator_height", "pre_joint_height"): + require(ic[key] == bounds["caller"][key], "independent caller: " + key) + from fractions import Fraction + require(ceil_log2(Fraction(ic["pre_joint_mass"])) == bounds["caller"]["pre_joint_mass_bits"], + "independent joint entrance mass") + rejected_scales = {str(scale): rejects(lambda s=scale: independent.word_run(word, scale=s), + "integer grid rejection at event " + str(event)) + for scale, event in ((225, 1101), (375, 36915))} + + threshold = independent.threshold_run() + params = source_parameters((HERE / "source/check.py").read_text()) + require(caller["ambient_rank"] == 153 and 153 < 2**8 + and 8*params["power"] < threshold["H"], "compiler carrier below fixed N") + A = max(bounds["caller"]["denominator_height"], + bounds["caller"]["pre_joint_height"] + bounds["word"]["dyadic_height"]) + B = max(bounds["caller"]["mass_bits"], + bounds["caller"]["pre_joint_mass_bits"] + bounds["word"]["scaled_mass_bits"]) + require((A, B) == (178, 161), "source-specific unfinished-context bounds") + require(2 * max(A, B) + 1 == 357, "same exact threshold coefficient") + c = controls(word, caller) + receipt = {"source_head": source["head"], "source_files": len(source["files"]), + "word_coefficient_visits": bounds["word"]["coefficient_visits"], + "caller_events": bounds["caller"]["events"], "independent_minimum_scale": iw["odd_scale_lcm"], + "A": A, "B": B, "threshold": threshold, + "per_caller_scale_scans": 2*bounds["word"]["public_fields"]*bounds["caller"]["operations"]["J"], + "rejected_scales": rejected_scales, "controls": c, + "native_endpoints_reproved": False, "full_supplier_admitted": False, "new_kappa": False} + require(receipt["per_caller_scale_scans"] == 52272, "complete per-call scale/unscale inventory") + print("PASS_ODD_NATIVE_COMMON_GRID " + json.dumps(receipt, sort_keys=True)) + + +if __name__ == "__main__": + main()