From 6d9244518175caf9e0089f92486959bc2c317273 Mon Sep 17 00:00:00 2001 From: icekylinx Date: Sun, 11 Oct 2026 19:54:06 +0800 Subject: [PATCH] Raise conditional kappa to 0.001120864952258278 --- .github/workflows/split-centres-global.yml | 23 + research/split-centres-global/.gitattributes | 6 + .../split-centres-global/CERTIFICATE.json | 119 ++ research/split-centres-global/EXPECTED.json | 9 + research/split-centres-global/LICENSE | 201 +++ research/split-centres-global/MANIFEST.json | 51 + research/split-centres-global/NOTICE.md | 41 + research/split-centres-global/PROOF.md | 184 +++ research/split-centres-global/README.md | 56 + research/split-centres-global/SOURCES.json | 134 ++ research/split-centres-global/VALIDATION.json | 39 + .../split-centres-global/code/bit_audit.py | 126 ++ .../code/bit_construct.py | 134 ++ .../split-centres-global/code/bit_global.py | 226 ++++ .../split-centres-global/code/bit_price.py | 18 + .../split-centres-global/code/combined.py | 55 + .../code/complex_audit.py | 168 +++ .../code/complex_construct.py | 278 ++++ .../split-centres-global/code/complex_emit.py | 136 ++ .../code/complex_integrate.py | 109 ++ .../code/complex_phases.py | 24 + .../code/complex_phases_full.py | 39 + .../code/complex_replay.py | 177 +++ .../inputs/bit-geometry.json.gz | Bin 0 -> 116121 bytes .../inputs/bit-r767.json.gz | Bin 0 -> 183408 bytes .../inputs/complex-data-phases.json.gz | Bin 0 -> 33869 bytes .../inputs/complex-phase-receipt.json | 23 + .../inputs/complex-phase-recipes.json.gz | Bin 0 -> 96078 bytes .../inputs/complex-ports.json.gz | Bin 0 -> 23365 bytes .../inputs/complex-template.json.gz | Bin 0 -> 415067 bytes .../inputs/e8-r865.json.gz | Bin 0 -> 33865 bytes .../notices/NOTICE-PR352.md | 33 + .../split-centres-global/notices/NOTICE.md | 47 + .../split-centres-global/notices/PR386.txt | 25 + .../notices/PR426-SOURCE-PINS.json | 1116 +++++++++++++++++ .../split-centres-global/notices/PR426.md | 53 + .../notices/SUSSMAN-NOTICE | 290 +++++ .../proofs/INHERITED-COMPLEX-GEOMETRY.txt | 161 +++ .../proofs/PR386-BIT-GEOMETRY.txt | 191 +++ .../proofs/PR425-COMPLEX.txt | 211 ++++ research/split-centres-global/proofs/PR426.md | 108 ++ .../vendor/clifford_exact.py | 149 +++ .../vendor/engines/base_two_moment.py | 63 + .../vendor/engines/moment.py | 113 ++ .../vendor/engines/outer.py | 58 + .../vendor/export_records.py | 72 ++ .../vendor/hamming_packets.py | 253 ++++ research/split-centres-global/verify.py | 51 + 48 files changed, 5370 insertions(+) create mode 100644 .github/workflows/split-centres-global.yml create mode 100644 research/split-centres-global/.gitattributes create mode 100644 research/split-centres-global/CERTIFICATE.json create mode 100644 research/split-centres-global/EXPECTED.json create mode 100644 research/split-centres-global/LICENSE create mode 100644 research/split-centres-global/MANIFEST.json create mode 100644 research/split-centres-global/NOTICE.md create mode 100644 research/split-centres-global/PROOF.md create mode 100644 research/split-centres-global/README.md create mode 100644 research/split-centres-global/SOURCES.json create mode 100644 research/split-centres-global/VALIDATION.json create mode 100644 research/split-centres-global/code/bit_audit.py create mode 100644 research/split-centres-global/code/bit_construct.py create mode 100644 research/split-centres-global/code/bit_global.py create mode 100644 research/split-centres-global/code/bit_price.py create mode 100644 research/split-centres-global/code/combined.py create mode 100644 research/split-centres-global/code/complex_audit.py create mode 100644 research/split-centres-global/code/complex_construct.py create mode 100644 research/split-centres-global/code/complex_emit.py create mode 100644 research/split-centres-global/code/complex_integrate.py create mode 100644 research/split-centres-global/code/complex_phases.py create mode 100644 research/split-centres-global/code/complex_phases_full.py create mode 100644 research/split-centres-global/code/complex_replay.py create mode 100644 research/split-centres-global/inputs/bit-geometry.json.gz create mode 100644 research/split-centres-global/inputs/bit-r767.json.gz create mode 100644 research/split-centres-global/inputs/complex-data-phases.json.gz create mode 100644 research/split-centres-global/inputs/complex-phase-receipt.json create mode 100644 research/split-centres-global/inputs/complex-phase-recipes.json.gz create mode 100644 research/split-centres-global/inputs/complex-ports.json.gz create mode 100644 research/split-centres-global/inputs/complex-template.json.gz create mode 100644 research/split-centres-global/inputs/e8-r865.json.gz create mode 100644 research/split-centres-global/notices/NOTICE-PR352.md create mode 100644 research/split-centres-global/notices/NOTICE.md create mode 100644 research/split-centres-global/notices/PR386.txt create mode 100644 research/split-centres-global/notices/PR426-SOURCE-PINS.json create mode 100644 research/split-centres-global/notices/PR426.md create mode 100644 research/split-centres-global/notices/SUSSMAN-NOTICE create mode 100644 research/split-centres-global/proofs/INHERITED-COMPLEX-GEOMETRY.txt create mode 100644 research/split-centres-global/proofs/PR386-BIT-GEOMETRY.txt create mode 100644 research/split-centres-global/proofs/PR425-COMPLEX.txt create mode 100644 research/split-centres-global/proofs/PR426.md create mode 100644 research/split-centres-global/vendor/clifford_exact.py create mode 100644 research/split-centres-global/vendor/engines/base_two_moment.py create mode 100644 research/split-centres-global/vendor/engines/moment.py create mode 100644 research/split-centres-global/vendor/engines/outer.py create mode 100644 research/split-centres-global/vendor/export_records.py create mode 100644 research/split-centres-global/vendor/hamming_packets.py create mode 100644 research/split-centres-global/verify.py diff --git a/.github/workflows/split-centres-global.yml b/.github/workflows/split-centres-global.yml new file mode 100644 index 0000000000..1adf7dc2ea --- /dev/null +++ b/.github/workflows/split-centres-global.yml @@ -0,0 +1,23 @@ +name: Split-centres global kappa +on: + pull_request: + paths: + - 'research/split-centres-global/**' + - '.github/workflows/split-centres-global.yml' + push: + paths: + - 'research/split-centres-global/**' + - '.github/workflows/split-centres-global.yml' + workflow_dispatch: +jobs: + verify: + runs-on: ubuntu-latest + strategy: + matrix: + python: ['3.11', '3.14'] + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python }} + - run: python -B research/split-centres-global/verify.py "$RUNNER_TEMP/split-centres-check" diff --git a/research/split-centres-global/.gitattributes b/research/split-centres-global/.gitattributes new file mode 100644 index 0000000000..a251e913f2 --- /dev/null +++ b/research/split-centres-global/.gitattributes @@ -0,0 +1,6 @@ +# Hashes bind exact imported and generated bytes. +* -text +vendor/** -whitespace +inputs/** -whitespace +notices/** -whitespace +proofs/** -whitespace diff --git a/research/split-centres-global/CERTIFICATE.json b/research/split-centres-global/CERTIFICATE.json new file mode 100644 index 0000000000..7e807079c1 --- /dev/null +++ b/research/split-centres-global/CERTIFICATE.json @@ -0,0 +1,119 @@ +{ + "status": "PASS_CONDITIONAL_SPLIT_CENTRE_ASSEMBLY", + "kappa": "560432476129139/500000000000000000", + "kappa_decimal": "0.001120864952258278", + "bit_lower": "561061350132569610283/500000000000000000000000", + "complex_lower": "1183986549206329/1000000000000000000", + "binding_component": "bit", + "gain_over_pr425_percent": 6.9522005058117555, + "bit_invoice": { + "prefix_bits": 223, + "charged_prefix_bits": 256, + "coefficient_bits": 223, + "two_level_coefficient_bits": 483, + "charged_two_level_coefficient_bits": 512, + "row_coefficient": 18355, + "live": 14502, + "physical": 14511 + }, + "strict_outer_constraints": { + "bit_positive": "14363170563393781995540516430294897054798660372747977408982986647014886397057213204999835240182750048003850764774138423033492369699369310106183121233447528983183/12800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "791857266447229204459483569705102945201339627252022591017013352985113602942786795000164759817249951996149235225861576966507630300630689893816878766552471016817/12800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "30066013450793671/1000000000000000000", + "beta_positive": "1/1000000000000000000", + "beta_below_one": "999999999999999999/1000000000000000000", + "leaf_saving_above_bit": "791857266447229189304455739864091745201339627252022591017013352985113602942786795000164759817249951996149235225861576966507630300630689893816878766552471016817/12800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "7181585281696890983407087651753666531858813756079091649692832950759465789545619955485031223034161819002090142204319163512895420075546232019599190917354454385408378766552471016817/6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "14363170563393781995540516430294897054798660372747977408982986647014886397057213204999835240182750048003850764774138423033492369699369310106183121233447528983183/6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "395928633223614609015398433325827868141186243920908350307167049240534210454380044514968776965838180997909857795680836487104579924453767980400809082645545614591621233447528983183/6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "7181585281696892583407087651753666531858813756079091649692832950759465789545619955485031223034161819002090142204319163512895420075546232019599190917354454385408378766552471016817/6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "6392818414718303107416592912348246333468141186243920908350307167049240534210454380044514968776965838180997909857795680836487104579924453767980400809082645545614591621233447528983183/6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000000000", + "lambda_above_tau": "14363170563393781995540516430294897054798660372747977408982986647014886397057213204999835240182750048003850764774138423033492369699369310106183121233447528983183/12800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "791857266447229218822654133098884940741856057546919645815673725733091011925773442015051156874463156995984475408611624970358395074769112927309248465921781123000121233447528983183/12800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "14363170563393781995540516430294897054798660372747977408982986647014886397057213204999835240182750048003850764774138423033492369699369310106183121233447528983183/12800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "14363170563393781995540516430294897054798660372747977408982986647014886397057213204999835240182750048003850764774138423033492369699369310106183121233447528983183/12800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "395928633223614609015398433325827868141186243920908350307167049240534210454380044514968776965838180997909857795680836487104579924453767980400809082645545614591621233447528983183/6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000000000", + "lambda_prime_below_one": "7181585281696890983407087651753666531858813756079091649692832950759465789545619955485031223034161819002090142204319163512895420075546232019599190917354454385408378766552471016817/6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "6399999999999999993600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/6407181585281696890983407087651753666531858813756079091649692832950759465789545619955485031223034161819002090142204319163512895420075546232019599190917354454385408378766552471016817", + "epsilon_below_one": "7181585281696897383407087651753666531858813756079091649692832950759465789545619955485031223034161819002090142204319163512895420075546232019599190917354454385408378766552471016817/6407181585281696890983407087651753666531858813756079091649692832950759465789545619955485031223034161819002090142204319163512895420075546232019599190917354454385408378766552471016817", + "guard_width": "7181585281696897383407087651753666531858813756079091649692832950759465789545619955485031223034161819002090142204319163512895420075546232019599190917354454385408378766552471016817/6407181585281696890983407087651753666531858813756079091649692832950759465789545619955485031223034161819002090142204319163512895420075546232019599190917354454385408378766552471016817", + "K_geometry": "4807181585281696892583407087651753666531858813756079091649692832950759465789545619955485031223034161819002090142204319163512895420075546232019599190917354454385408378766552471016817/6407181585281696890983407087651753666531858813756079091649692832950759465789545619955485031223034161819002090142204319163512895420075546232019599190917354454385408378766552471016817000000000000000000", + "K_dominates_log": "231664041345061050845983947421186256401668584010497584446258683699366907737186677571792433338340060113453513521617978855187267028104098984087218414251878140832554446748323117142213588175726741393/206683276944570867451077647988766247307479316572776744891925575256476111799662761934047904233001101994161357746522719973016545013550824072000632231965075950141464786411824273258607000000000000000000", + "record_suffix": "7181585281696897383407087651753666531858813756079091649692832950759465789545619955485031223034161819002090142204319163512895420075546232019599190917354454385408378766552471016817/6407181585281696890983407087651753666531858813756079091649692832950759465789545619955485031223034161819002090142204319163512895420075546232019599190917354454385408378766552471016817", + "phase_local": "57452682253575172660075115932332441271463422396879066665683849849996634666672126693120783994727674596531689914600391489101073218400050692643898107263289403063667839215065313749127621233447528983183/51257452682253575127867256701214029332254870510048632733197542663606075726316364959643880249784273294552016721137634553308103163360604369856156793527338835635083267030132419768134536000000000000000000", + "phase_boundary": "11490536450715029406269754961108975467567014357972880107649718965136053613580158978016584167309038954918313004492748842618542529916554807718463285392220894997054215109129499241498821233447528983183/10251490536450715025573451340242805866450974102009726546639508532721215145263272991928776049956854658910403344227526910661620632672120873971231358705467767127016653406026483953626907200000000000000000", + "gamma_sublinear": "1/2000000000000000000", + "cell_above_band": "12799999999999999980792818414718303109016592912348246333468141186243920908350307167049240534210454380044514968776965838180997909857795680836487104579924453767980400809082645545614591621233447528983183/25628726341126787563933628350607014666127435255024316366598771331803037863158182479821940124892136647276008360568817276654051581680302184928078396763669417817541633515066209884067268000000000000000000", + "prime_interval_packing": "7181585281696897383407087651753666531858813756079091649692832950759465789545619955485031223034161819002090142204319163512895420075546232019599190917354454385408378766552471016817/6407181585281696890983407087651753666531858813756079091649692832950759465789545619955485031223034161819002090142204319163512895420075546232019599190917354454385408378766552471016817", + "alpha_positive": "14363170563393788359632590021810442080310539860404516767526852145439839929398406960210596656522703682519149061374476508023700697946773300526302961759162676751217566615750487648225621233447528983183/12814363170563393781966814175303507333063717627512158183299385665901518931579091239910970062446068323638004180284408638327025790840151092464039198381834708908770816757533104942033634000000000000000000", + "alpha_below_one": "12799999999999999993607181585281696890983407087651753666531858813756079091649692832950759465789545619955485031223034161819002090142204319163512895420075546232019599190917354454385408378766552471016817/12814363170563393781966814175303507333063717627512158183299385665901518931579091239910970062446068323638004180284408638327025790840151092464039198381834708908770816757533104942033634000000000000000000", + "alpha_below_one_fourth": "3189227622077454657132070953804066391185618867017635029057319564329939892965374403017531918954994377226981896009727683073732747012090999815483496633699514550441486622767525747860182878766552471016817/12814363170563393781966814175303507333063717627512158183299385665901518931579091239910970062446068323638004180284408638327025790840151092464039198381834708908770816757533104942033634000000000000000000", + "delta_positive": "1/8000000000000000000", + "delta_below_one_eighth": "999999999999999999/8000000000000000000", + "short_record_fallback": "81827972558059963142482295831039750365059753405165839859500887157900070163784215146039541956047009515286378723945407637791323146319740145866082020356197908534083134290654194352838948148633280800174595114507063924980758679362172726895650066012032777455278212210736064133662717611940569491044304210260992667579958374711353997952140066809896811489/82011924291605720204587610721942446931607792816077812373116068261769721162106183935430208399654837271283226753820215285292965061376966991769850869643742137016133227248211871629015257600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000000000", + "artificial_boundary": "358859621458028601093359598365557325330989185343344322865175917750116843085479998176003320395642823216282588862770178911921831577311447916339793034478937323776724933813811421508232513136299657413050451/51257452682253575127867256701214029332254870510048632733197542663606075726316364959643880249784273294552016721137634553308103163360604369856156793527338835635083267030132419768134536000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "5122866517862023505724960619093421545844111701898553134698525509504383311993872387184513125657251444712150871805627114225726283245038727038504547469670408073428467093191496467269437/3203590792640848445491703543825876833265929406878039545824846416475379732894772809977742515611517080909501045071102159581756447710037773116009799595458677227192704189383276235508408500000000000000000", + "coordinate_movement_above_kappa": "16099174487823595540516430294897054798660372747977408982986647014886397057213204999835240182750048003850764774138423033492369699369310106183121233447528983183/12800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "3838551450442350120466514150535089425156364590041027177747358186058007158198199154413541220091468727605299653469049909287939671070001907844989495748423461692471525807616440463522057/6407181585281696890983407087651753666531858813756079091649692832950759465789545619955485031223034161819002090142204319163512895420075546232019599190917354454385408378766552471016817000000000000000000", + "bulk_exposure_above_kappa": "16099174487823595540516430294897054798660372747977408982986647014886397057213204999835240182750048003850764774138423033492369699369310106183121233447528983183/12800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "49929956359383891636682334467235976400846493161596454696927943987316335662954230095174784854400852306299403498179012231794056054820241901455974763560139756902928431597231181121226907/51257452682253575127867256701214029332254870510048632733197542663606075726316364959643880249784273294552016721137634553308103163360604369856156793527338835635083267030132419768134536000000000000000000", + "scalar_work_above_kappa": "3022347308020427168024638512713719642678957136664830842541068612764774941044496502999868999171719558143016474349913180337924305460021763455362126412952366988818802604491895640211767/2050298107290143005114690268048561173290194820401945309327901706544243029052654598385755209991370931782080668845505382132324126534424174794246271741093553425403330681205296790725381440000000000000000", + "dimension_above_kappa": "3196409207359151553231162974036146672459031212215382000019265285423173401803752699526640796382355306275012080586149285130394424095589341109716483649580049811311843280287131837920058593191496467269437/3203590792640848445491703543825876833265929406878039545824846416475379732894772809977742515611517080909501045071102159581756447710037773116009799595458677227192704189383276235508408500000000000000000" + }, + "outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "bootstrap": [ + { + "gap": "48640105104416009930955104551272628756769/40000000000000000000000000000000000000000000000", + "cutoff_log2": "24346328299693" + }, + { + "gap": "10916033216189494908506938862091413300675156484737667525550897/8000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "19335382939135799529" + }, + { + "gap": "2449825733746901655394438404809502019511708753179325050819248403056515410563319361/1600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "15355787073969246541017124" + }, + { + "gap": "549801013506219857550281901936704203615404924098069138182437287931091972275689180385852832590942771793/320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "12195269025875323655994833423982" + }, + { + "gap": "123388839576821941106964776874551364767558290306753584545234931806617408234472738882773008179061080923160999418343337504609/64000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "9685246734476302780854842486398253310" + }, + { + "gap": "27691483569705102945201339627252022591017013352985113602942786795000164759817249951996149235225861576966507630300630689893816878766552471016817/12800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "7691835588756193183914168151850588989363719" + } + ], + "bit_template_sha256": "c40f89a2ae3c2c5635ddf8f18d74f24567ddf67fc8c8e93a1fc7a1a8098e857e", + "complex_template_sha256": "942d030fa43316c560c88d7d7d904583446e1a96945b3ebd37a91c88a192ab4f", + "scope": "Finite research composition with explicit changed words, exact local and global replay and incremental phase evidence. All-size correlated dirty-bank, compressed-window, compiler, restored-work, tape/common-grid, precision and analytic interfaces remain inherited assumptions. This certificate makes no unconditional integer-multiplication or Lean-kernel claim.", + "verification_steps": [ + "hamming_packets", + "complex_construct", + "complex_audit", + "complex_emit", + "complex_phases", + "bit_construct", + "bit_export", + "bit_global", + "bit_audit", + "bit_price", + "complex_integrate", + "complex_replay", + "combined" + ], + "phase_mode": "source-bound unchanged evidence" +} diff --git a/research/split-centres-global/EXPECTED.json b/research/split-centres-global/EXPECTED.json new file mode 100644 index 0000000000..de7c122419 --- /dev/null +++ b/research/split-centres-global/EXPECTED.json @@ -0,0 +1,9 @@ +{ + "kappa": "560432476129139/500000000000000000", + "kappa_decimal": "0.001120864952258278", + "bit_lower": "561061350132569610283/500000000000000000000000", + "complex_lower": "1183986549206329/1000000000000000000", + "binding_component": "bit", + "bit_template_sha256": "c40f89a2ae3c2c5635ddf8f18d74f24567ddf67fc8c8e93a1fc7a1a8098e857e", + "complex_template_sha256": "942d030fa43316c560c88d7d7d904583446e1a96945b3ebd37a91c88a192ab4f" +} diff --git a/research/split-centres-global/LICENSE b/research/split-centres-global/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/split-centres-global/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/split-centres-global/MANIFEST.json b/research/split-centres-global/MANIFEST.json new file mode 100644 index 0000000000..1695125698 --- /dev/null +++ b/research/split-centres-global/MANIFEST.json @@ -0,0 +1,51 @@ +{ + "format": "split-centres-global-manifest/1", + "files": { + ".gitattributes": "2f9541c7c27f084baad73b4cd50ddaeb264cc3aa8dbf13ec21df5ab3f673ca7e", + "CERTIFICATE.json": "f71580f22193726fb582eae604807ff70a7302265e001d9484a718e63bbe14c4", + "EXPECTED.json": "9b8e56eee3d5bdabd2e3e6e4ba0d9eba537525fba25a54126f9f0e41d2491a06", + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE.md": "66101a9e74d0ba9c2da4c8802bcb1968534adfa7130b954628eb8bf515fc0389", + "PROOF.md": "6983e75f29af6eeaab20a30b08307ec6fab75ccb8b10291df8f9eb04d497f894", + "README.md": "b432292594adf2fcba2a8ddd87eda6167c76ff055e85aa5e3e2af7dd7e0f976e", + "SOURCES.json": "11aa666d678fed084b01d1e8e47239e1674eaedbc6fe0cee7edb2753477af9be", + "VALIDATION.json": "656d9bd7bd66058fdeb60cc90bd887e7ce75c0e0f9a100514e2bd84b95de89b6", + "code/bit_audit.py": "7fdbc077b7501a53662769ff2bf2ab44cc2e32dafc34478d7ef2c10e3144503a", + "code/bit_construct.py": "a461e6c983531beb5c8ac82ff593f39ce4e056387d1d6061f6e6b294dde4395f", + "code/bit_global.py": "3b2cb3ba21e5cf9b4deddb9e606322f33e9d8082020c0ee9092c21f4ebd9ad48", + "code/bit_price.py": "36bf15803567a95b139a908461541bf19efe1f5b85fb31c270021833ab1393ee", + "code/combined.py": "9c5bc70f2331b7342ceb252adcddb993581c45f80c37bcc58642dbad3b9775c2", + "code/complex_audit.py": "adeba5ea113652b60105db2e8719b18ffa292d3cc23730cca614b40272348330", + "code/complex_construct.py": "0f7f45b2333ec7daf4291e2bf675b49bc330b97fb5965dd27220ba353c291d6f", + "code/complex_emit.py": "f56d5f01f7c121741f175814138dca7190d769920f0a27e2d5b99c21aebed0f1", + "code/complex_integrate.py": "3792f41e409383e6989bda22801a4836a646a530f99e99bbd7244a8f3a1a8b4f", + "code/complex_phases.py": "13a959c52092776ae217df554b51c0298fa9eb3a350279acff6dece651c3f9cc", + "code/complex_phases_full.py": "0f2795aaffafe0c64d77f3748ef2109a3c42c58da867e4cf269a0a8cb6109466", + "code/complex_replay.py": "be2dccce2d1ad2c4f5c01a851c9c3896cc88236b5aeae706aad2ab16d6bfdad9", + "inputs/bit-geometry.json.gz": "5c980202227859e8bb9b863f94503930c2a59d460c0421356688e2b0d828b4a1", + "inputs/bit-r767.json.gz": "bd3b84244528767b85d8d7fe423b155630b5c659e21e51563674b1dcb6305ad7", + "inputs/complex-data-phases.json.gz": "c972b5b60649c2a52354f5160f69adc0f4a270fa09d32012beff9888774ab84f", + "inputs/complex-phase-receipt.json": "01763fee5017745de982f2ff5ee68004e815d6684097cc88011dfbfb1e789581", + "inputs/complex-phase-recipes.json.gz": "b5472bb1d3f9ff41b0819780a42886a7686b4caf3c0617bb1dc86158b3fb8671", + "inputs/complex-ports.json.gz": "77b0c0fa19ef3da1c7316010e13493aa5eea1a50c3506eddc08f7480e659878b", + "inputs/complex-template.json.gz": "1b84904a31a733aab9bfdda3f528c06719f590d2133a43687a8bded955dc991e", + "inputs/e8-r865.json.gz": "1fb726ea3818fe0837cceb0dd22a71a0814f064e5e781628104610d6468e0e55", + "notices/NOTICE-PR352.md": "967e6d7e76e216e4898cf543c75b527e8d397ec1ddba3800cb20701f24c89524", + "notices/NOTICE.md": "025773f32fb43667395e64c627a1752877bdc93afbfe01b106703eee438d21d3", + "notices/PR386.txt": "ae2241615a23063b18a04f1b7a88a52e62b3d7d42e333fbd21e3668567ab83d1", + "notices/PR426-SOURCE-PINS.json": "18ace817f2f9af22511bb303e99656ed114e534b87f3dd95a65ca4ca670baf2f", + "notices/PR426.md": "6a5593d0f284a2f0865037f5c5fa9e5f76f9e12cf50ec5284486d3b8137c89da", + "notices/SUSSMAN-NOTICE": "9419dd03a2f52cf8bdfc4d18216ce29f263ab583b27f01ced8e420985bcb7c81", + "proofs/INHERITED-COMPLEX-GEOMETRY.txt": "c1ff55536594222a8d2a30bc0e0956959774e1be2d5420b7838ad553ee556df2", + "proofs/PR386-BIT-GEOMETRY.txt": "c5f077b849e9add9957ab4ee36095dd47bc678dee7e09baa146dac4c0a0d66b2", + "proofs/PR425-COMPLEX.txt": "2cda27b9b9a1eb24127c38c2c7a6e085155a2472183e220189a3ea2c2b7720dc", + "proofs/PR426.md": "5787738ceb6faf14d3d96e8452592860a6c6a469733a9bcf196e8d1562ba1ffb", + "vendor/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "vendor/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "vendor/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "vendor/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "vendor/export_records.py": "8a5999601f917dbb492bb9ae9a344611f18cc7cedc53dc3c76496a369e530eb3", + "vendor/hamming_packets.py": "daa9301e2767a711cfe66c6bebaad68e1a3bdb97ec9e848c927527ab43b37ae5", + "verify.py": "12fcdb20a87f75812b09c4916fbfc86305982cb410247186a123b5c58d517b4c" + } +} diff --git a/research/split-centres-global/NOTICE.md b/research/split-centres-global/NOTICE.md new file mode 100644 index 0000000000..b7daf8de49 --- /dev/null +++ b/research/split-centres-global/NOTICE.md @@ -0,0 +1,41 @@ +# Attribution + +Copyright 2026 icekylinx. New split-centre cancellation, reversible source-centre +composition, integration and verification changes were prepared by icekylinx +with substantial OpenAI Codex assistance. Apache-2.0 applies to these changes. +Earlier private Pro exploration used GPT-6 Astra; the new construction and +composition in this package were developed with Codex. + +## Direct sources + +- Zhihao Chen, with OpenAI Codex assistance: PR425's mutable-basis Hamming packet + producer, common-frame scalar interface, exact phase lowering and verification; + PR386's compressed nine-stage bit geometry, owner template, audit and finite + accounting. These supply the immediate complex and geometric baselines. +- ai-nanachi, with OpenAI Codex assistance: PR426's R767 bit word, including 55 + clean-reset helper reuses and 54 frame changes. The complete selected word is + imported unchanged before the nine source-centre replacements. +- Dylan Crow (utcorvusvolat-dotcom), with Anthropic Claude assistance: PR370's + Hamming E8 bit producer, root table, record exporter and local format. +- Jacob Sussman: the E8 family, complex unit and underlying interchange framework. +- applecrusher, Dugongue, eumemic, Rohan Arun, Chafik Boukhalfa, DaysSky, + DreamingOfClouds, Henry Grant, Evan McKinney, LJH-217 and other contributors: + the source, frame, compiler, rational-pricing and analytic lineage detailed + in the preserved original notices. + +The current value is computed from the two actual resulting programs. +Independently published improvements are not added numerically. `SOURCES.json` +records original commits and file hashes; `notices/` preserves source notices. +Files under `proofs/` describe their original packages and retain their original +scope and attribution; the current statement is in `PROOF.md`. + +## Earlier contributions by icekylinx + +The earlier #10, #18, #24, #32 and #36 contributions developed projector batching, +partial-swap frames, endpoint gauges and conditional analytic/tape integration. +The subsequent #104, #115, #130 and #144 contributions covered stopped-product +integration, partial gauges, three-stage covers and paired-cube/source chronology. +These provide historical context, not additional savings in this ledger. The +source-centre idea from the preceding local round is used here on PR426's bit +word. Unselected research experiments and superseded submission candidates are +not part of this package. diff --git a/research/split-centres-global/PROOF.md b/research/split-centres-global/PROOF.md new file mode 100644 index 0000000000..8366a89e36 --- /dev/null +++ b/research/split-centres-global/PROOF.md @@ -0,0 +1,184 @@ +# Split centres and a joint conditional exponent + +The finite construction gives + +$$ +T(n)=O\!\left(n(\log n)^{1-\kappa}\right), +\qquad \kappa=0.001120864952258278, +$$ + +conditional on the retained all-size compiler, compressed-window, correlated +bank-dirt, restored-work, fixed-tape/common-grid, precision and analytic +interfaces. The changes below concern both finite suppliers. Original source +proofs and notices are retained; they do not replace the changed checks. + +## 1. Cancel coordinate terms before lifting the complex decoder + +Partition the 120 Hamming E8 root lines into the 112 code lines C and the eight +coordinate lines F, represented by 2e_i. Write r_s for a root representative and +G_ts = r_t · r_s / 2. The parent decoder is the rank-eight centre factorization +G/2 together with its negative off-diagonal entries. + +For each code target t, the coordinate-source centre contribution is +r_ti x_(2e_i)/2. Its side contribution is its negative. Cancel this pair before +constructing the lifted program. For code targets retain only + +$$ +Z_i=\sum_{s\in C}r_{si}x_s, +\qquad +\sum_i\frac{r_{ti}}4Z_i +-\sum_{\substack{s\in C\\s\ne t}}\frac{G_{ts}}2x_s=x_t. +$$ + +For coordinate targets, implement the identity x_(2e_i) directly. Thus the +entire 120-by-120 clean decoder is still the identity, including both cross +blocks between C and F. + +In the parent's binary address realization, + +$$ +p_s\cdot p_t=1+G_{st}\pmod2. +$$ + +Every code source contributing to Z_i is orthogonal to p_(2e_i), because its +ith root coordinate is ±1. The already constructed global sum Z_i lies in that +rank-eight hyperplane. Copy it there, lower the private copy to frame zero with +one rank-eight child, and scatter into the code targets. The eight coordinate +identities copy their source lines with one rank-one child each. Each private +copy has a sequential lifetime, and is erased before the next episode. + +The total copied rank is unchanged: + +$$ +8\cdot8+8\cdot1=72. +$$ + +The 112 coordinate-source helpers and eight dedicated full-centre helpers are +removed. Own-block corrections use their original source-copy rows directly; +all remaining signed packets and selected target butterflies are retained. +The actual helper count is 560. No rank-four recovered row is substituted for +a rank-three input. + +## 2. Arbitrary dirt and heterogeneous copy frames + +The explicit main word has block form z' = Uz and y' = Vy + x + Ks, where +z=(x,s), and U,V are invertible. No target feeds z. At the common initial frame, +apply V^-1 to the target basis and the literal correction -V^-1 Ks. Recompute K +from the new word. After all main gates and final climbs, apply the literal +inverse of the source/helper subword at the common full frame. This restores +all sources and arbitrary helpers while adding x to y. + +The parent common-frame proof applies to each copy separately. A private copy +created at label L(F) is lowered by the exact operator L(0)L(F)^-1, whether F +has rank one or eight. Scalar operations occur only at equal labels. Adding +the common exterior window to both labels cancels it exactly. The proof +therefore does not require a full-frame centre, or infer an operator from rank +alone. The inverse-transpose negates/transposes each scalar shear in the same +order and reverses each private gather/child/scatter operation as emitted. + +Both scalar orientations and the serialized private-work programs replay all +800 input columns. Both restore arbitrary source/helper inputs and erase private +work. The changed exact Gaussian recipes include the heterogeneous centre +transitions and their global phases. Of 2,918 selected directed pairs, 248 were +newly computed; 2,670 were unchanged source-bound exact pairs already checked in +the local phase run. The release optionally replays all selected pairs. + +The local paid profile is + +$$ +\{1:1912,\ 2:784,\ 3:168,\ 4:224,\ 5:392,\ 8:24\}. +$$ + +The compressed complex geometry uses m=73, eight replicas and nine stages. +There are 560 banks per stage, each holding eight whole rank-nine residuals and +one paid rank-one pad. Live width is 12,720; physical stock is 13,298, including +16 centre slots, the conservative 560-row tableau reserve and two coefficient +streams. The global rank deficit is 2,496. Explicit owner tables, padding, +terminal translations and the cover correction are independently decoded. +The largest child is 48; 73² > 2·48² gives two-level halving. + +The fresh invoice fits the retained 2^30000 router, 2^100000 literal and 2^210000 +precision reserves. Two exact rational engines certify + +$$ +b=0.001183986549206329. +$$ + +## 3. Source-centre bit composition + +Start with the exact R767 word from PR426. Its nine retained rows are written +only by original sources at the full frame and are not read by ordinary A/B +gates. Their nine independent binary forms have an invertible minor in source +columns 0,1,2,4,8,9,16,32,64. + +Replace those rows of the 120-dimensional identity by the nine retained forms. +Exact elimination produces an invertible source basis T, emitted as 559 XOR +additions. Delete the nine retained helper rows and their old-dirt columns. +After A apply T, perform the same nine sequential copies using the designated +source rows, and immediately apply T^-1 before B. The copies have unchanged +rank eight. All scalar operations of T and its inverse use the full frame. + +All 998 columns, arbitrary dirt, frame incidences and restoration pass. Omitting +T^-1 or the remaining old-dirt correction fails. The actual exported record +stream is reflected in reverse order with complementary frames. A reflected +ERASE becomes a fresh COPY at that chronological point; the original source +row remains unchanged within each copy episode. Both reflected programs and +all nine composed invocations are replayed, rather than assuming that mutable +source rows meet an old immutability restriction. + +Use the unchanged compressed bit windows in dimension 64: a local eight-space +and eight exterior seven-spaces. The root data, rational frame family, form, +port isometries and bank slots are source-bound to PR386. Every changed nested +pair is checked by exact rational spans; positive definiteness gives the +projector identity and its reflected version. There are 758 banks per stage, +each filled by eight rank-eight residuals, with no padding. Live width is 14,502 +and physical stock is 14,511. All 54,576 owner assignments are checked. The +unbanked global replay restores all 7,782 independent columns. + +The bit local profile is + +$$ +\{1:2367,\ 2:875,\ 3:475,\ 4:321,\ 5:164,\ 7:14,\ 8:9\}. +$$ + +Its global deficit is again 2,496. The maximum child is 42 and 64² > 2·42². +The actual cancellation-free prefix bound needs 223 bits; the new charge is +256 bits, replacing the parent's 192-bit allowance. The finite two-level +coefficient needs 483 bits and fits the retained 2^512 allowance. The row +coefficient is 18,355 < 20,161. These costs, including the basis operations, +are recomputed from the emitted word. Two exact rational moment engines give + +$$ +c=0.001122122700265139220566. +$$ + +## 4. Joint strict assembly + +Both moments include the inherited 10^-16 bad-branch allowance. The bit supplier +binds because c < b. Let eta=beta=10^-18 and + +$$ +s=\min\{c,(1-\beta)b\}-10^{-24}. +$$ + +Starting at a_0=384599/10^10, use six fixed ordinary bootstrap levels + +$$ +a_{j+1}=(1-s)s+sa_j. +$$ + +All bootstrap cutoff inequalities are checked with the actual charged finite +coefficient. With q=a_6(1-2eta), choose the greatest 10^-18 grid point strictly +below (1-eta)q/(1+q). It is + +$$ +\kappa=\frac{560432476129139}{500000000000000000} + =0.001120864952258278. +$$ + +All 47 retained strict outer inequalities pass. The next grid point, zero eta, +zero beta and unit beta are rejected. The candidate is computed from both +actual new templates; no independently reported savings are added together. + +The source-bound finite claims above do not discharge the inherited all-size +interfaces or establish unconditional integer-multiplication complexity. diff --git a/research/split-centres-global/README.md b/research/split-centres-global/README.md new file mode 100644 index 0000000000..1e31463921 --- /dev/null +++ b/research/split-centres-global/README.md @@ -0,0 +1,56 @@ +# Conditional κ = 0.001120864952258278 + +This package combines a split-centre Hamming complex construction with a +source-centre bit construction in compressed nine-stage windows. The resulting +conditional exponent saving is + +$$ +\kappa=\frac{560432476129139}{500000000000000000} + =0.001120864952258278. +$$ + +This is approximately **6.9522% above PR425**. Both components change: + +| Component | Helpers | Ambient width | Certified saving | +|---|---:|---:|---:| +| Complex | 560 | 73 | 0.001183986549206329 | +| Bit | 758 | 64 | 0.001122122700265139220566 | + +The bit component limits the final assembly. The complex construction removes +coordinate contributions that cancel in the decoder, replacing eight full +centres with eight rank-eight and eight rank-one copies. The bit construction +starts from PR426's R767 word, computes its nine retained forms reversibly in +source rows, and uses PR386's compressed windows. + +## Verification + +Python 3.11+ and its standard library suffice. Use a new output directory: + +```sh +python3 -B research/split-centres-global/verify.py /tmp/split-centres-check +``` + +The default replays both changed words, reflected/inverse-transpose programs, +bank ownership, costs, two rational moment engines and 47 strict outer +inequalities. Exact complex phase evidence is reused only when the regenerated +canonical word and complete recipe hashes match. To regenerate every selected +Gaussian phase pair as well: + +```sh +python3 -B research/split-centres-global/verify.py /tmp/split-centres-full-phases --replay-phases +``` + +The unchanged historical repository suite and PDF build are not required by +this package. `EXPECTED.json` binds the result to both emitted global templates; +`MANIFEST.json` binds the package files; `SOURCES.json` pins imported sources. + +## Scope + +[PROOF.md](PROOF.md) supplies the changed finite construction. The all-size +compressed-window and correlated dirty-bank semantics, recursive compiler, +restored-work/tape/common-grid precision, and analytic transfer interfaces remain +conditional. This does not claim unchanged legacy gx/gxcore acceptance, a new +Lean proof, or an unconditional multiplication theorem. + +Contributor history and AI assistance are recorded in [NOTICE.md](NOTICE.md). +Original notices and the inherited proofs are retained separately. diff --git a/research/split-centres-global/SOURCES.json b/research/split-centres-global/SOURCES.json new file mode 100644 index 0000000000..215f58a649 --- /dev/null +++ b/research/split-centres-global/SOURCES.json @@ -0,0 +1,134 @@ +{ + "upstream_base": "12a4934d15006e8c10f9b2264f13f8f341be802b", + "pr425": "e11ccea1d092beb1b01b4ee4ce49da478234254c", + "pr426": "88d552526893cd15325948bb1487e9a4d4bf32f6", + "imported_files": [ + { + "path": "vendor/hamming_packets.py", + "source": "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/hamming-mutable-basis-complex/work/complex-network/hamming_packets.py", + "sha256": "daa9301e2767a711cfe66c6bebaad68e1a3bdb97ec9e848c927527ab43b37ae5" + }, + { + "path": "vendor/clifford_exact.py", + "source": "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/hamming-mutable-basis-complex/work/odd-stages/clifford_exact.py", + "sha256": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962" + }, + { + "path": "inputs/complex-ports.json.gz", + "source": "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/hamming-mutable-basis-complex/work/higher-stage-e8/verified/gcert1-e8-retimed.json.gz", + "sha256": "77b0c0fa19ef3da1c7316010e13493aa5eea1a50c3506eddc08f7480e659878b" + }, + { + "path": "inputs/complex-template.json.gz", + "source": "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/hamming-mutable-basis-complex/work/complex-nine-native/GLOBAL-TEMPLATE.json.gz", + "sha256": "1b84904a31a733aab9bfdda3f528c06719f590d2133a43687a8bded955dc991e" + }, + { + "path": "inputs/complex-data-phases.json.gz", + "source": "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/hamming-mutable-basis-complex/work/complex-nine-native/DATA-PHASES.json", + "sha256": "c972b5b60649c2a52354f5160f69adc0f4a270fa09d32012beff9888774ab84f", + "source_sha256": "f621f6d4296cb215f334830356c5f79fe10d6d04d15b3ccda76ba0885ab67d0a", + "encoding": "gzip; decoded bytes identical to source" + }, + { + "path": "inputs/e8-r865.json.gz", + "source": "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/hamming-mutable-basis-complex/work/pr370-source/research/e8-bit/data/bit/bitE8-r865.json.gz", + "sha256": "1fb726ea3818fe0837cceb0dd22a71a0814f064e5e781628104610d6468e0e55" + }, + { + "path": "proofs/PR425-COMPLEX.txt", + "source": "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/hamming-mutable-basis-complex/work/complex-network/hamming/PROOF.txt", + "sha256": "2cda27b9b9a1eb24127c38c2c7a6e085155a2472183e220189a3ea2c2b7720dc" + }, + { + "path": "proofs/INHERITED-COMPLEX-GEOMETRY.txt", + "source": "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/hamming-mutable-basis-complex/work/complex-nine-native/PROOF.txt", + "sha256": "c1ff55536594222a8d2a30bc0e0956959774e1be2d5420b7838ad553ee556df2" + }, + { + "path": "vendor/engines/moment.py", + "source": "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/hamming-mutable-basis-complex/work/pr361/code/engines/moment.py", + "sha256": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482" + }, + { + "path": "vendor/engines/base_two_moment.py", + "source": "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/hamming-mutable-basis-complex/work/pr361/code/engines/base_two_moment.py", + "sha256": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098" + }, + { + "path": "vendor/engines/outer.py", + "source": "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/hamming-mutable-basis-complex/work/pr361/code/engines/outer.py", + "sha256": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c" + }, + { + "path": "vendor/export_records.py", + "source": "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/e8-bit/code/bit/export_records.py", + "sha256": "8a5999601f917dbb492bb9ae9a344611f18cc7cedc53dc3c76496a369e530eb3" + }, + { + "path": "inputs/bit-geometry.json.gz", + "source": "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/e8-bit-complex-nine-validation/GEOMETRY.json.gz", + "sha256": "5c980202227859e8bb9b863f94503930c2a59d460c0421356688e2b0d828b4a1" + }, + { + "path": "proofs/PR386-BIT-GEOMETRY.txt", + "source": "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/e8-bit-complex-nine/PROOF.txt", + "sha256": "c5f077b849e9add9957ab4ee36095dd47bc678dee7e09baa146dac4c0a0d66b2" + }, + { + "path": "notices/PR386.txt", + "source": "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/e8-bit-complex-nine/NOTICE.txt", + "sha256": "ae2241615a23063b18a04f1b7a88a52e62b3d7d42e333fbd21e3668567ab83d1" + }, + { + "path": "inputs/bit-r767.json.gz", + "source": "CrocSwap/integer-mult-bounds@88d552526893cd15325948bb1487e9a4d4bf32f6:research/e8-clean-reuse-extension/data/bit-candidate.json.gz", + "sha256": "bd3b84244528767b85d8d7fe423b155630b5c659e21e51563674b1dcb6305ad7" + }, + { + "path": "notices/PR426.md", + "source": "CrocSwap/integer-mult-bounds@88d552526893cd15325948bb1487e9a4d4bf32f6:research/e8-clean-reuse-extension/NOTICE.md", + "sha256": "6a5593d0f284a2f0865037f5c5fa9e5f76f9e12cf50ec5284486d3b8137c89da" + }, + { + "path": "proofs/PR426.md", + "source": "CrocSwap/integer-mult-bounds@88d552526893cd15325948bb1487e9a4d4bf32f6:research/e8-clean-reuse-extension/PROOF.md", + "sha256": "5787738ceb6faf14d3d96e8452592860a6c6a469733a9bcf196e8d1562ba1ffb" + }, + { + "path": "notices/PR426-SOURCE-PINS.json", + "source": "CrocSwap/integer-mult-bounds@88d552526893cd15325948bb1487e9a4d4bf32f6:research/e8-clean-reuse-extension/SOURCE-PINS.json", + "sha256": "18ace817f2f9af22511bb303e99656ed114e534b87f3dd95a65ca4ca670baf2f" + }, + { + "path": "notices/NOTICE-PR352.md", + "source": "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/hamming-mutable-basis-complex/work/pr370-source/research/e8-bit/NOTICE-PR352.md", + "sha256": "967e6d7e76e216e4898cf543c75b527e8d397ec1ddba3800cb20701f24c89524" + }, + { + "path": "notices/NOTICE.md", + "source": "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/hamming-mutable-basis-complex/work/pr370-source/research/e8-bit/NOTICE.md", + "sha256": "025773f32fb43667395e64c627a1752877bdc93afbfe01b106703eee438d21d3" + }, + { + "path": "LICENSE", + "source": "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/hamming-mutable-basis-complex/work/pr370-source/research/e8-bit/LICENSE", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + }, + { + "path": "notices/SUSSMAN-NOTICE", + "source": "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/e8-bit/code/complex/inputs/complex/NOTICE", + "sha256": "9419dd03a2f52cf8bdfc4d18216ce29f263ab583b27f01ced8e420985bcb7c81" + } + ], + "adapted_sources": { + "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/hamming-mutable-basis-complex/work/complex-network/hamming_full.py": "613796df039dfc08de708831582533e553316eaf157485531e4df2d897bdb3bb", + "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/hamming-mutable-basis-complex/work/complex-network/audit_full.py": "fdc1da8fa95716d60076383e691a5be1bf8bec0b229b7582bc056afac28951d0", + "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/hamming-mutable-basis-complex/work/complex-network/integrate.py": "eb5b427f2095578f28a1fb320b4694047e20abdbe0c8bcdc65b1e9e05ab90d01", + "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/hamming-mutable-basis-complex/work/complex-network/phase_full.py": "5c2bd267cc3106c9eee8787132c460614fdde8177c0c2653435f8a7b110ebac1", + "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/hamming-mutable-basis-complex/work/complex-network/replay_ir.py": "f7a3829118581ee59fdeefc1f91166d8e7bb94686ea92e7743a2ef7d50139dcc", + "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/e8-bit-complex-nine/global_word.py": "2c438be46213e014170e607a745185e45e33c7b7240b833efc86a2330de0d1f6", + "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/e8-bit-complex-nine/audit.py": "75811327b0d6cbd56aae8e28d72abd42d57c7f3f3630781d045efee2d36446e9", + "CrocSwap/integer-mult-bounds@e11ccea1d092beb1b01b4ee4ce49da478234254c:research/e8-bit-complex-nine/certify.py": "550b1408fb3a581dd6b82c90e3f84ad7a9f78746d2be11ffa1cf543d719ae2d4" + } +} diff --git a/research/split-centres-global/VALIDATION.json b/research/split-centres-global/VALIDATION.json new file mode 100644 index 0000000000..70b00c0bc7 --- /dev/null +++ b/research/split-centres-global/VALIDATION.json @@ -0,0 +1,39 @@ +{ + "status": "PASS_CLEAN_DIRECTORY_INCREMENTAL_REPLAY", + "python": "3.14", + "tested_code_vendor_input_digest": "c15599626c4222a95ddb4f0a9da028cfce5c8636c7a737d6869155c2f33301ed", + "steps": [ + "hamming_packets", + "complex_construct", + "complex_audit", + "complex_emit", + "complex_phases", + "bit_construct", + "bit_export", + "bit_global", + "bit_audit", + "bit_price", + "complex_integrate", + "complex_replay", + "combined" + ], + "phase_mode": "source-bound unchanged evidence", + "new_complex_phase_pairs": 248, + "reused_verified_complex_phase_pairs": 2670, + "source_bound_bit_geometry": "PR386; exact unchanged root/frame/port/slot identities", + "historical_full_suite_rerun": false, + "pdf_built": false, + "ci_status": "Not yet run for this commit", + "post_replay_packaging": "Phase JSON gzip round-trip matched the verified decoded bytes; mathematical code and witnesses unchanged.", + "portability_validation": { + "python": "3.11.17", + "status": "PASS_ALL_PACKAGE_STEPS_AND_UNCHANGED_EXPECTED_RESULT", + "cause": "gzip OS header differs from Python 3.14; exact decoded canonical bytes agree", + "phase_binding": "SHA256 of exact decompressed bytes; current archive hash remains bound in downstream receipts", + "negative_control": "A modified canonical witness is rejected", + "python314_incremental": "Changed phase-binding step passed against the previously validated output", + "historical_full_suite_rerun": false + }, + "portability_code_vendor_input_digest": "a2534c803ecb3afb25662517ad542c1b05869046ced4ac78250625b1707014e4", + "portability_digest_format": "SHA256 of compact sorted JSON mapping package-relative code/vendor/inputs paths to file SHA256" +} diff --git a/research/split-centres-global/code/bit_audit.py b/research/split-centres-global/code/bit_audit.py new file mode 100644 index 0000000000..82e1663e58 --- /dev/null +++ b/research/split-centres-global/code/bit_audit.py @@ -0,0 +1,126 @@ +# Adapted with exact rational span checks by icekylinx; Codex assistance. +"""Independent audit of the emitted bit template, including mutation controls. +Prepared by Zhihao Chen with OpenAI Codex assistance; Apache-2.0. +""" +import argparse, copy, gzip, hashlib, json, struct, time +from collections import Counter, defaultdict +from pathlib import Path +from fractions import Fraction as Q + +def sha(p): return hashlib.sha256(p.read_bytes()).hexdigest() + +def main(): + ap=argparse.ArgumentParser(); ap.add_argument('--local-check',type=Path,required=True); ap.add_argument('--out',type=Path,required=True) + a=ap.parse_args(); start=time.monotonic(); out=a.out + blob=gzip.decompress((out/'GLOBAL-TEMPLATE.json.gz').read_bytes()); t=json.loads(blob) + g=json.loads((out/'GLOBAL.json').read_text()); geo=json.loads((out/'GEOMETRY.json').read_text()) + assert hashlib.sha256(blob).hexdigest()==g['template_sha256'] + assert t['geometry_sha256']==sha(out/'GEOMETRY.json') and t['source_record_sha256']==sha(a.local_check/'records/249-records.bin') + fs=json.loads((a.local_check/'records/frames.json').read_text())['frames'] + records=list(struct.iter_unpack('<6i',(a.local_check/'records/249-records.bin').read_bytes())) + word=json.loads((a.local_check/'bit-source-centres.json').read_text()) + assert g['word_sha256']==sha(a.local_check/'bit-source-centres.json') + def rank(rows): + piv={} + for rr in rows: + row=list(map(Q,rr)) + for k,b in sorted(piv.items()): + q=row[k] + if q:row=[x-q*y for x,y in zip(row,b)] + k=next((j for j,x in enumerate(row) if x),None) + if k is not None: + q=row[k];piv[k]=[x/q for x in row] + return len(piv) + dimensions={};proj={} + for key,f in fs.items(): + k=int(key);B=f['B'];roots=[word['lines'][j] for j in word['frames'][k]] + assert rank(B)==f['dim']==rank(B+roots)==rank(roots) + dimensions[k]=f['dim'];proj[k]=B + sets=[set(f) for f in word['frames']];pairs={} + for op,x,y,c,r,z in records: + if op==0: + assert sets[y]<=sets[c] and dimensions[c]-dimensions[y]==r + pairs[y,c]=r + # Positive definite rational form: exact inclusion implies commuting + # orthogonal projectors and rank(P_V-P_U)=dim(V)-dim(U), also in reflection. + assert len(proj)==944 + expected={} + for rev in (False,True): + es=[] + for op,x,y,c,f,z in (reversed(records) if rev else records): + if op==0: es.append([0,x,c if rev else y,y if rev else c,f,int(rev)]) + elif op==1: es.append([1,x,y,-c if rev else c,f,int(rev)]) + elif op==(3 if rev else 2): es.append([2,x,y,c,f,abs(dimensions[c]-dimensions[f]),int(rev)]) + else: es.append([3,x,y,c,f,z,int(rev)]) + expected['reverse' if rev else 'forward']=es + assert t['local_programs']==expected + + def validate(q,check_profile=True): + assert (q['m'],q['live'],q['replicas'],q['stages'])==(64,14502,8,9) + assert q['bank_padding'] is None and q['local_programs']==expected + hist=Counter(); occupation=defaultdict(set); calls=set() + for c in q['calls']: + st,rep,p=c['stage'],c['replica'],c['pair']; rev=c['orientation']=='reverse' + assert 0<=st<9 and 0<=rep<8 and p==max(0,(st-1)//2) + assert rev==(st in (1,3,5,7)) and (st,rep) not in calls; calls.add((st,rep)) + own=c['owners']; assert len(own)==998 + assert len({(f,tuple(r)) for f,r in own})==998 + for i,(family,route) in enumerate(own): + assert 0<=family<14502 + if i<240: + side=i//120; side=1-side if rev else side + assert family==rep*960+(2*p+side)*120+i%120 and route==['data',st,i%120] + else: + j=i-240; bank,slot=divmod(rep*758+j,8) + assert family==7680+st*758+bank and route==['bank',slot] + assert slot not in occupation[family]; occupation[family].add(slot) + for e in q['local_programs'][c['orientation']]: + if e[0]==0 and e[4]: hist[e[4]]+=1 + if e[0]==2: hist[e[5]]+=1 + assert calls=={(s,r) for s in range(9) for r in range(8)} + assert set(occupation)==set(range(7680,14502)) and all(s==set(range(8)) for s in occupation.values()) + levels=[-1]*4; scalar=[1<> p & 1: + row ^= q + assert row, 'Retained forms must be independent' + p = (row & -row).bit_length() - 1 + echelon[p] = row + pivots = sorted(echelon) + matrix = [1 << i for i in range(v)] + for p, row in zip(pivots, rows): + matrix[p] = row + target = matrix[:] + elimination = [] + def add(d, s): + matrix[d] ^= matrix[s] + elimination.append((d, s)) + for p in range(v): + q = next(i for i in range(p, v) if matrix[i] >> p & 1) + if q != p: + add(p, q); add(q, p); add(p, q) + for i in range(v): + if i != p and matrix[i] >> p & 1: + add(i, p) + assert matrix == [1 << i for i in range(v)] + forward = [[full, d, [s]] for d, s in reversed(elimination)] + inverse = list(reversed(forward)) + check = [1 << i for i in range(v)] + for f, d, ss in forward: + check[d] ^= check[ss[0]] + assert check == target + out = copy.deepcopy(old) + physical = [i for i in range(2*v+old['R']) if i not in retired] + index = {r: i for i, r in enumerate(physical)} + def remap(gs): + return [[f, index[d], [index[s] for s in ss if s not in retired]] + for f, d, ss in gs if d not in retired] + out['R'] -= len(retired) + out['ret'] = pivots + out['D'] = remap(old['D']) + out['A'] = remap(old['A']) + forward + out['B'] = inverse + remap(old['B']) + out['C'] = remap(old['C']) + out['start'] = [old['start'][i] for i in physical] + out['final'] = [old['final'][i] for i in physical] + out['source_basis_gates'] = len(forward) + assert replay(out), 'All independent source, target and dirty columns' + assert not replay(out, skip_inverse=True) + assert not replay(out, skip_dirt=True) + # Frame incidence inclusion uses the root-closed sets in this bit format. + frames = [set(f) for f in out['frames']] + cur = out['start'][:] + for phase in ['D', 'A', 'B', 'C']: + for f, d, ss in out[phase]: + for r in [d] + ss: + assert frames[cur[r]] <= frames[f], (phase, r, cur[r], f) + cur[r] = f + if phase == 'A': + assert all(cur[r] == full for r in out['ret']) + assert all(frames[f] <= frames[g] for f, g in zip(cur, out['final'])) + raw = json.dumps(out, sort_keys=True, separators=(',', ':')).encode() + (ROOT / 'bit-source-centres.json').write_bytes(raw) + result = dict(status='PASS_LOCAL_ALL_COLUMNS_AND_NESTED_FRAMES', + original_R=old['R'], new_R=out['R'], + removed_retained_helpers=sorted(retired), retained_source_rows=pivots, + formal_columns=2*v+out['R'], reversible_basis_gates_each_way=len(forward), + source_sha256=sha256(source.read_bytes()).hexdigest(), + output_sha256=sha256(raw).hexdigest(), + controls=['unmodified word passes', 'missing inverse rejected', 'missing dirt rejected'], + kappa_claimed=False, + remaining=['global ordinary-call and reflected integration', 'finite coefficient and tape invoice', 'exact priced component comparison']) + (ROOT / 'bit-source-centres-receipt.json').write_text(json.dumps(result, indent=2)+'\n') + print(json.dumps(result)) + + +if __name__ == '__main__': + main() diff --git a/research/split-centres-global/code/bit_global.py b/research/split-centres-global/code/bit_global.py new file mode 100644 index 0000000000..5ccf622825 --- /dev/null +++ b/research/split-centres-global/code/bit_global.py @@ -0,0 +1,226 @@ +# Adapted for the PR426/source-centre composition by icekylinx with Codex assistance. +"""Source-bound compressed nine-stage bit template and exact scalar audits. + +Prepared by Zhihao Chen with OpenAI Codex assistance, Apache-2.0. +The local E8 bit word is Dylan Crow's pinned PR #370 contribution. +""" +import argparse, gzip, hashlib, json, struct, time +from collections import Counter +from pathlib import Path + +H,V,R,L,K,T,M=8,120,758,9,4,8,64 +LOCAL=2*V+R; DATA=2*K*V*T; LIVE=DATA+L*R +def sha(p): return hashlib.sha256(p.read_bytes()).hexdigest() +def write(p,x): p.write_text(json.dumps(x,indent=2)+'\n') + +def recipe(): + out=[dict(kind='local',stage=0,pair=0,reverse=False)]; stage=1 + for j in range(K): + out.append(dict(kind='local',stage=stage,pair=j,reverse=True)); stage+=1 + if j=0 + cur[x]=newf + if f: hist[f]+=1 + events.append([0,x,oldf,newf,f,int(reverse)]) + elif op==1: + assert cur[x]==cur[y]==f and x!=y and x0 + cutoff=max(ceil(36/gap**2),ceil(2*(4+512)/gap)) + assert cutoff*gap**2>=36 and cutoff*gap>=2*(4+512) + cutoffs.append(dict(gap=str(gap),cutoff_log2=str(cutoff)));chain.append(a) +q=chain[-1]*(1-2*eta);margin=(1-eta)*q/(1+q);ticks=margin/grid;k=grid*((ticks.numerator-1)//ticks.denominator) +bridge={'semantic':{'C0':{'base':2,'exponent':210000},'strict_literal_gap':1},'rows':{'degree_gap':Q(10**6)-Q(51*20161,25)}} +a=Outer.assembly(chain[-1],b,bridge,k,eta=eta,beta=beta) +assert len(a['strict_constraints'])==47 and all(x>0 for x in a['strict_constraints'].values()) +controls=[] +for name,kk,ee,bb in [('next_grid',k+grid,eta,beta),('zero_eta',k,Q(0),beta),('zero_beta',k,eta,Q(0)),('unit_beta',k,eta,Q(1))]: + try:Outer.assembly(chain[-1],b,bridge,kk,eta=ee,beta=bb) + except AssertionError:controls.append(name) + else:raise AssertionError(name) +result=dict(status='PASS_CONDITIONAL_SPLIT_CENTRE_ASSEMBLY',kappa=str(k),kappa_decimal=format(float(k),'.18f'),bit_lower=str(c),complex_lower=str(b),binding_component='bit',gain_over_pr425_percent=float(100*(k/Q(1048005508028206,10**18)-1)),bit_invoice=dict(prefix_bits=prefix.bit_length(),charged_prefix_bits=256,coefficient_bits=coefficient.bit_length(),two_level_coefficient_bits=two.bit_length(),charged_two_level_coefficient_bits=512,row_coefficient=row,live=W,physical=physical),strict_outer_constraints={n:str(x) for n,x in a['strict_constraints'].items()},outer_controls=controls,bootstrap=cutoffs,bit_template_sha256=g['template_sha256'],complex_template_sha256=cx['global_template_sha256'],scope='Finite research composition with explicit changed words, exact local and global replay and incremental phase evidence. All-size correlated dirty-bank, compressed-window, compiler, restored-work, tape/common-grid, precision and analytic interfaces remain inherited assumptions. This certificate makes no unconditional integer-multiplication or Lean-kernel claim.') +(ROOT/'RESULT.json').write_text(json.dumps(result,indent=2)+'\n') +print(result['status'],result['kappa_decimal'],result['gain_over_pr425_percent'],result['bit_invoice']) diff --git a/research/split-centres-global/code/complex_audit.py b/research/split-centres-global/code/complex_audit.py new file mode 100644 index 0000000000..ba6789a3a6 --- /dev/null +++ b/research/split-centres-global/code/complex_audit.py @@ -0,0 +1,168 @@ +# Modified from PR425 by icekylinx with Codex assistance. +"""Read-back audit, independent of the Hamming producer and its row state.""" +import copy,gzip,hashlib,importlib.util,json,math,time +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path + +OUT=Path('split-centres');p=OUT/'FULL-WORD.json.gz' +word=json.load(gzip.open(p));v=120;n=240+word['report']['R'];start=time.monotonic() +def apply(e,rows): + if e[0]=='scale': + _,t,a,b,*_=e;q=Q(a,b);assert q + rows[t]={j:q*x for j,x in rows[t].items()} + else: + _,t,s,a,b,*_=e;q=Q(a,b);assert t!=s + for j,x in list(rows[s].items()): + z=rows[t].get(j,Q(0))+q*x + if z:rows[t][j]=z + else:rows[t].pop(j,None) +def ident():return [{r:Q(1)} for r in range(n)] +def inv(e): + e=copy.deepcopy(e) + if e[0]=='add':e[3]*=-1 + else:e[2],e[3]=e[3],e[2] + return e +def dual(e): + e=inv(e) + if e[0]=='add':e[1],e[2]=e[2],e[1] + return e + +main=word['A']+word['cut']+word['B'] +assert all(not 120<=e[2]<240 for e in word['A']+word['B'] if e[0]=='add' and not 120<=e[1]<240) +matrix=ident() +for e in main:apply(e,matrix) +print('full main columns',n,'replayed',flush=True) +# Compute -A_Y^-1 B_S using only rows of the explicit main operator. +dirty=[{} for r in range(n)] +for r in range(v,2*v):dirty[r]={j:x for j,x in matrix[r].items() if j>=2*v} +for e in word['precondition']:apply(e,dirty) +comp=[] +for r in range(v,2*v): + for j,q in sorted(dirty[r].items()):comp.append(['add',r,j,-q.numerator,q.denominator,[]]) + +cleanup=[inv(e) for e in reversed(word['A']+word['B']) if not v<=e[1]<2*v] +assert [e[:-1] for e in cleanup]==[e[:-1] for e in word['cleanup']] +program=word['precondition']+comp+main+cleanup +actual=ident() +for e in program:apply(e,actual) +expected=ident() +for t in range(v):expected[v+t][t]=Q(1) +assert actual==expected +print('PASS exact arbitrary dirt and restored sources/helpers',flush=True) +back=ident() +for e in program:apply(dual(e),back) +expected_back=ident() +for t in range(v):expected_back[t][v+t]=Q(-1) +assert back==expected_back +print('PASS exact inverse-transpose on every column',flush=True) +# Independent sparse vector controls avoid repeating a dense full replay. +def vector(es,x): + x=list(map(Q,x)) + for e in es: + if e[0]=='scale':x[e[1]]*=Q(e[2],e[3]) + else:x[e[1]]+=Q(e[3],e[4])*x[e[2]] + return x +sample=[((i*137+13)%101)-50 for i in range(n)] +want=vector(program,sample) +controls={ + 'missing_dirty_compensation':word['precondition']+main+cleanup, + 'missing_Y_inverse_basis':comp+main+cleanup, + 'missing_source_cleanup':word['precondition']+comp+main, + 'wrong_dual_event_order':[dual(e) for e in reversed(program)], +} +for name,es in controls.items(): + expected_sample=vector([dual(e) for e in program],sample) if name=='wrong_dual_event_order' else want + assert vector(es,sample)!=expected_sample,name + +# Orthogonal transvection and a port permutation bring the new geometry onto +# the already fixed 120-port routing family. Every incidence is transformed. +old=json.load(gzip.open('work/higher-stage-e8/verified/gcert1-e8-retimed.json.gz')) +def tau(x):return x^(43 if (x&43).bit_count()%2 else 0) +assert 43 .bit_count()%2==0 +assert set(map(tau,word['ports']))==set(old['ports']) +mapping={i:old['ports'].index(tau(q)) for i,q in enumerate(word['ports'])} +mapping.update({v+i:v+mapping[i] for i in range(v)}) +mapping.update({r:r for r in range(2*v,n)}) +def basis(vs): + b={} + for x in vs: + for k in sorted(b,reverse=True): + if x>>k&1:x^=b[k] + if x: + k=x.bit_length()-1 + for j in b: + if b[j]>>k&1:b[j]^=x + b[k]=x + return tuple(b[k] for k in sorted(b,reverse=True)) +def perp(x):return basis([z for z in range(1,512) if not (x&z).bit_count()%2]) +full=tuple(1<0 + edges.add((old,f));paid[delta]+=1;cur[r]=f +for part in ('A','B'): + if part=='B': + assert all(cur[r]==f for r,f in zip(can['centers'],can['center_frames'])) + assert all(cur[r]==0 for r in range(v,2*v)) + for f in can['center_frames']:paid[len(frames[f])]+=1 + for e in can[part]: + rs=[e[1]]+([e[2]] if e[0]=='add' else []) + for r in rs:climb(r,e[-1]);incidences+=1 +for r,f in enumerate(can['final']):climb(r,f) +assert dict(paid)=={int(r):x for r,x in word['report']['local_profile'].items()} +assert sum(r*x for r,x in paid.items())==9*can['R']+240*8+72 +can['local_profile']=dict(sorted(paid.items()));can['edges']=sorted(edges) +cp=OUT/'CANONICAL-WORD.json.gz';cp.write_bytes(gzip.compress(json.dumps(can,sort_keys=True,separators=(',',':')).encode(),mtime=0)) + +def engine(name): + p=Path('work/pr361/code/engines')/(name+'.py');s=importlib.util.spec_from_file_location('hamming_'+name,p) + m=importlib.util.module_from_spec(s);s.loader.exec_module(m);return m +M,M2=engine('moment'),engine('base_two_moment');m,W=73,12720 +HG={int(r):z for r,z in word['report']['global_profile'].items()} +root=M.certify(HG,m,W,True);b=Q(int(Q(root['lower'])*10**18),10**18);grid=Q(1,10**18) +assert M.moment(HG,m,W,b,True)[1]<1>p&1:x^=b[p] + if x: + p=x.bit_length()-1 + for q in b: + if b[q]>>p&1:b[q]^=x + b[p]=x + return tuple(b[p] for p in sorted(b,reverse=True)) +def inside(a,b):return basis(a+b)==b +def hyper(p):return basis([x for x in range(1,512) if (x&p).bit_count()%2==0]) +FULL=basis([1<>p&1:x^=b[p] + if x: + p=x.bit_length()-1 + for q in b: + if b[q]>>p&1:b[q]^=x + b[p]=x + return tuple(b[p] for p in sorted(b,reverse=True)) +def dual(e): + e=list(e) + if e[0]=='add':e[1],e[2]=e[2],e[1];e[3]*=-1 + else:e[2],e[3]=e[3],e[2] + return e +def scalar(e,back): + e=dual(e) if back else list(e) + if e[0]=='add':return ['add',['L',e[1]],['L',e[2]],e[3],e[4]] + return ['scale',['L',e[1]],e[2],e[3]] +def primitive_bound(e): + if e[0] in ('clear','copy'):return 1 + q=Q(e[3],e[4]) if e[0]=='add' else Q(e[2],e[3]) + a,b=abs(q.numerator),q.denominator + assert b&(b-1)==0 + if e[0]=='scale': + assert a&(a-1)==0 + return abs(a.bit_length()-b.bit_length())+int(q<0) + # Exact binary Horner multiplication on a cleared private stream, repeated + # halving, signed accumulation into the target, then clear the private stream. + return 3+(a.bit_length()-1)+a.bit_count()+(b.bit_length()-1) + +def emit(back): + out=[];cur=c['start'].copy() + def event(e):out.append(e) + def scal(e,f):event(['scalar',e,f]) + event(['phase','zero_frame_precondition']) + for e in c['precondition']+c['compensation']: + regs=[e[1]]+([e[2]] if e[0]=='add' else []) + assert all(c['start'][r]==0 for r in regs) + scal(scalar(e,back),0) + event(['phase','entry_adapters']) + for r,f in enumerate(c['start']):event(['adapter','old_to_new',r,f]) + def climb(r,f,part): + old=cur[r] + if old==f:return + assert basis(frames[old]+frames[f])==tuple(frames[f]) + rank=len(frames[f])-len(frames[old]);assert rank>0 + event(['climb',part,r,old,f,rank]);cur[r]=f + for part in ('A','centers','B','final'): + event(['phase',part]) + if part in ('A','B'): + for e in c[part]: + regs=[e[1]]+([e[2]] if e[0]=='add' else []) + for r in regs:climb(r,e[-1],part) + scal(scalar(e,back),e[-1]) + elif part=='centers': + assert all(cur[r]==0 for r in range(v,2*v)) + for k,r in enumerate(c['centers']): + cf=c['center_frames'][k];rank=len(frames[cf]);assert cur[r]==cf + C=['C',k];scal(['clear',C],0 if back else cf) + terms=[e for e in c['cut'] if e[2]==r] + if back: + for e in terms:scal(['add',C,['L',e[1]],e[3],e[4]],0) + else:scal(['copy',C,['L',r]],cf) + event(['center',k,0 if back else cf,cf if back else 0,rank]) + if back:scal(['add',['L',r],C,-1,1],cf) + else: + for e in terms:scal(['add',['L',e[1]],C,e[3],e[4]],0) + scal(['clear',C],cf if back else 0) + else: + for r,f in enumerate(c['final']):climb(r,f,part) + event(['phase','exit_adapters']) + for r,f in enumerate(c['final']):event(['adapter','new_to_old',r,f]) + event(['phase','full_frame_cleanup']) + for e in c['cleanup']: + regs=[e[1]]+([e[2]] if e[0]=='add' else []) + assert all(c['final'][r]==1 for r in regs) + scal(scalar(e,back),1) + event(['phase','done']) + return out + +def check_local(events,back): + # Literal scalar replay of the emitted stream, including center lifetimes. + state={('L',r):{r:Q(1)} for r in range(n)};live=[];paid=Counter();prims=0;macros=0 + for e in events: + if e[0]=='climb':assert not live;paid[e[5]]+=1 + elif e[0]=='center':assert live==[e[1]];paid[e[4]]+=1 + elif e[0]=='scalar': + op=e[1];tag=op[0];t=tuple(op[1]);macros+=1;prims+=2*primitive_bound(op) + if tag=='clear': + state[t]={} + if t[0]=='C' and t[1] in live:live.remove(t[1]) + elif tag=='copy':state[t]=dict(state.get(tuple(op[2]),{}));live.append(t[1]) + elif tag=='scale':state[t]={j:Q(op[2],op[3])*x for j,x in state[t].items()} + else: + s=tuple(op[2]);q=Q(op[3],op[4]);row=state.setdefault(t,{}) + if t[0]=='C' and t[1] not in live:live.append(t[1]) + for j,x in list(state.get(s,{}).items()): + z=row.get(j,Q(0))+q*x + if z:row[j]=z + else:row.pop(j,None) + assert not live and all(not row for r,row in state.items() if r[0]=='C') + for r in range(n): + expected={r:Q(1)} + if back and r2*maxchild**depth +assert local_bound<1<<48 and logical<1<<6050 and router0 + bound=max(math.ceil(36/gap**2),math.ceil(2*(4+512)/gap)) + assert bound*gap**2>=36 and bound*gap>=2*(4+512) + cutoffs.append(str(bound));chain.append(z) +bridge={'semantic':{'C0':{'base':2,'exponent':210000},'strict_literal_gap':1}, + 'rows':{'degree_gap':Q(10**6)-Q(51*20161,25)}} +q=chain[-1]*(1-2*eta);ticks=(1-eta)*q/(1+q)/grid;kap=Q((ticks.numerator-1)//ticks.denominator,10**18) +assembly=Outer.assembly(chain[-1],b,bridge,kap,eta=eta,beta=beta) +try:Outer.assembly(chain[-1],b,bridge,kap+grid,eta=eta,beta=beta) +except AssertionError:pass +else:raise AssertionError('next kappa grid accepted') +result={'status':'PASS_NEW_STRUCTURAL_PROGRAM_AND_FINITE_ASSEMBLY_PENDING_REPLAY', + 'canonical_word_sha256':sha(cp),'scalar_audit_sha256':sha(OUT/'SCALAR-FRAME-AUDIT.json'), + 'exact_phase_receipt_sha256':sha(OUT/'CLIFFORD-REVIEW.json'),'global_template_sha256':hashlib.sha256(blob).hexdigest(), + 'local_program_checks':checks,'R':R,'m':m,'live':W,'physical':physical, + 'bank_assignments':len(assignments),'rank_mass':mass,'deficit':2496, + 'global_profile':dict(sorted(paid.items())),'emitted_local_events_all_calls':event_count, + 'finite_invoice':{'local_primitive_bound':local_bound,'local_adapters':adapters, + 'pervertex':pervertex,'physical_stock_bits':stock.bit_length(), + 'router_bits':router.bit_length(),'literal_bits':literal.bit_length(), + 'physical_row_coefficient':row,'retained_row_coefficient':20161, + 'compiler':compiler,'G_exponent':30000,'E_exponent':100000,'C0_exponent':210000, + 'required_C0_bits':(32*m*BB*BB).bit_length(),'halving_degree':depth, + 'halving_integer_inequality':[m**depth,2*maxchild**depth]}, + 'complex_b':str(b),'bit_c':str(bit),'prospective_kappa':str(kap),'kappa_float':float(kap), + 'log2_kappa':math.log2(float(kap)), + 'kappa_gain_percent':float(100*(kap/Q(998390813251625,10**18)-1)), + 'strict_outer_constraints':{name:str(z) for name,z in assembly['strict_constraints'].items()}, + 'next_kappa_grid_rejected':True,'bootstrap_cutoffs_log2':cutoffs, + 'scope':'New finite scalar interface with a written conjugation proof, conditional on inherited all-size compiler, precision/tape and analytic transfer. Independent emitted-program replay and fresh package replay still required before final promotion.'} +(OUT/'INTEGRATION.json').write_text(json.dumps(result,indent=2)+'\n') +print('PASS prospective kappa',float(kap),'gain',result['kappa_gain_percent'],'percent',flush=True) diff --git a/research/split-centres-global/code/complex_phases.py b/research/split-centres-global/code/complex_phases.py new file mode 100644 index 0000000000..88d6afa045 --- /dev/null +++ b/research/split-centres-global/code/complex_phases.py @@ -0,0 +1,24 @@ +"""Bind unchanged exact phase evidence, or regenerate all selected phase pairs.""" +import gzip,hashlib,json,os,subprocess,sys +from pathlib import Path +P=Path(__file__).resolve().parent.parent;O=Path('split-centres') +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +c=json.load(gzip.open(O/'CANONICAL-WORD.json.gz')) +r=json.loads((P/'inputs/complex-phase-receipt.json').read_text()) +raw=gzip.decompress((P/'inputs/complex-phase-recipes.json.gz').read_bytes());recipes=json.loads(raw) +# Bind the exact decoded witness, independently of gzip implementation metadata. +assert hashlib.sha256(gzip.decompress((O/'CANONICAL-WORD.json.gz').read_bytes())).hexdigest()==r['canonical_word_payload_sha256'] +r['canonical_word_sha256']=sha(O/'CANONICAL-WORD.json.gz') +assert hashlib.sha256(raw).hexdigest()==r['recipe_sha256'] +edges=set(map(tuple,c['edges']))|{(a,b) for f in c['center_frames'] for a,b in ((f,0),(0,f))} +assert {(z['old'],z['new']) for z in recipes['children']}==edges +assert len(recipes['children'])==len(edges) and len(recipes['endpoint_adapters'])==240 +for z in recipes['children']:assert z['rank']==abs(len(c['frames'][z['old']])-len(c['frames'][z['new']])) +if os.environ.get('E8_REPLAY_PHASES')=='1': + subprocess.run([sys.executable,'-B',str(P/'code/complex_phases_full.py')],check=True) + assert (O/'CLIFFORD-RECIPES.json').read_bytes()==raw +else: + (O/'CLIFFORD-RECIPES.json').write_bytes(raw) + r['validation_mode']='Reuse exact phase evidence bound to the unchanged canonical word and recipe hashes' + (O/'CLIFFORD-REVIEW.json').write_text(json.dumps(r,indent=2)+'\n') +print('PASS source-bound phase recipes',len(edges)) diff --git a/research/split-centres-global/code/complex_phases_full.py b/research/split-centres-global/code/complex_phases_full.py new file mode 100644 index 0000000000..b5a5bd64b4 --- /dev/null +++ b/research/split-centres-global/code/complex_phases_full.py @@ -0,0 +1,39 @@ +# Adapted from PR425 for heterogeneous centres by icekylinx with Codex assistance. +"""Exact phase-aware lowering of every used edge of the new structural word.""" +import gzip,hashlib,json,sys,time +from collections import Counter +from pathlib import Path +sys.path.insert(0,str(Path('work/odd-stages').resolve())) +from clifford_exact import * + +OUT=Path('split-centres');P=OUT/'CANONICAL-WORD.json.gz' +c=json.load(gzip.open(P));n=c['h'];frames=c['frames'];start=time.monotonic();ops=[] +for U in frames: + op=canonical_frame(n,U) + L=[u|(u<>(y.bit_length()-1)&1:x^=y + if x:return False + return True +def local(events,back): + rows={('L',r):{r:Q(1)} for r in range(n)} + norm={('L',r):Q(1) for r in range(n)};prefix=Q(1);cur=c['start'].copy();private={} + hist=Counter();phases=[];entry=[];exit=[];centers=[];matrix_hash=hashlib.sha256() + allowed=['zero_frame_precondition','entry_adapters','A','centers','B','final','exit_adapters','full_frame_cleanup','done'] + for event in events: + tag=event[0] + if tag=='phase': + phases.append(event[1]);assert phases==allowed[:len(phases)] + if event[1]=='A':assert entry==list(enumerate(c['start'])) + if event[1]=='centers':assert all(cur[r]==0 for r in range(v,2*v)) + if event[1]=='full_frame_cleanup':assert cur==c['final'] and exit==list(enumerate(c['final'])) + assert not private + elif tag=='adapter': + assert event[3]==(c['start'] if event[1]=='old_to_new' else c['final'])[event[2]] + (entry if event[1]=='old_to_new' else exit).append((event[2],event[3])) + elif tag=='climb': + _,part,r,a,b,rank=event + assert not private and phases[-1]==part and cur[r]==a + assert contains(frames[a],frames[b]) and rank==len(frames[b])-len(frames[a])>0 + hist[rank]+=1;cur[r]=b + elif tag=='center': + _,k,a,b,rank=event + assert phases[-1]=='centers' and private=={('C',k):a} + cf=c['center_frames'][k];cr=len(frames[cf]) + assert (a,b,rank)==((0,cf,cr) if back else (cf,0,cr)) + private['C',k]=b;hist[rank]+=1;centers.append(k) + elif tag=='scalar': + _,e,f=event;op=e[0];target=tuple(e[1]);source=tuple(e[2]) if op in ('copy','add') else None + if target[0]=='C' and op=='clear': + assert private.get(target,f)==f + private.pop(target,None) + else: + for r in (target,source): + if r is None:continue + if r[0]=='L':assert cur[r[1]]==f,('common frame',r,cur[r[1]],f) + else: + if r==target and r not in private:private[r]=f + assert private[r]==f + if op=='clear':rows[target]={};norm[target]=Q(0) + elif op=='copy':rows[target]=dict(rows[source]);norm[target]=norm[source] + elif op=='scale': + q=Q(e[2],e[3]);a,b=abs(q.numerator),q.denominator + assert a&(a-1)==0 and b&(b-1)==0 + rows[target]={j:q*x for j,x in rows[target].items()};norm[target]*=abs(q) + else: + q=Q(e[3],e[4]);a,b=abs(q.numerator),q.denominator + assert source!=target and b&(b-1)==0 + # Independent symbolic replay of the cleared coefficient work. + w=0 + for bit in bin(a)[2:]:w=2*w+int(bit) + assert Q(w,b)*(1 if q>0 else -1)==q + prefix=max(prefix,Q(a)*norm[source]) + norm[target]=norm.get(target,Q(0))+abs(q)*norm[source] + row=rows.setdefault(target,{}) + for j,x in list(rows[source].items()): + z=row.get(j,Q(0))+q*x + if z:row[j]=z + else:row.pop(j,None) + prefix=max(prefix,norm[target]) + else:raise AssertionError(tag) + assert phases==allowed and centers==list(range(len(c['centers']))) and not private + assert all(not row for reg,row in rows.items() if reg[0]=='C') + for r in range(n): + expected={r:Q(1)} + if back and rCk|d*`prU}JkqnY0XUPHr!bp&u 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∓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 literal 0 HcmV?d00001 diff --git a/research/split-centres-global/inputs/complex-data-phases.json.gz b/research/split-centres-global/inputs/complex-data-phases.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..22154a8c5875bd3398e1cb112ea0a5307d6793e8 GIT binary patch literal 33869 zcmc$`WmJ`G_ctm6VxV*>p&%lygh-2$QqrB$Dczt5Dy@=|(p}Obpfti_NiCER$tA5U zy4JbwMaX`~JH~m>_@8mk9?$-;zdU2Cd0%tRUrp#j&Ypt)IgMVZ8x1#+iAi#UXG?dj z=~D0T_31sJzK3%&_*dwuaGbPnl$Grb85J!y~r)0wjWcLTi(zq~h1x4+uf zu)C$`w}~{^->pTX+|Ykw$M)LtMfcp$YgOPs4EAS5(d#LG8=azivjphHi0$IlvHd0V z)*{`0=Wt3=tdgiA8nwJXzJXq?-CEvv+k-2n?C*4<(Xs>ERh(t|`z>f;zqBfJ1@r!5 zL&H9|{tc@?aP(rVpWmL8-ri2b7h{NsPz|UVzri)MKKgZv$iU+6_dzs$3@oJtD`G#A(Qf~B^%N|HOQ(H%Y&A^C zJlD#2*h*(~SEeFLwRj)qrzu>YU$oh2k0w}aq&VlTCT$=Rvfmv+&t{9_Zod5B=Pn`R z%=ex3chmaXqau|(cZB*PFEC`AqNLXQz4R*m%xnu={?xxL^PVpg%l^HJFEILuI>|Rg z0liJ?|6`XeH-~jO+3&)T)PhK0M%erP&_#14F9pVBkvFPdI<5Oombug4+)@5u{~{JFnS|ca*7;|8`7}Bn! z7|s_~Kb42RwIDKmXO63v`0*_h$lrA*Exst(sV{}Pu42qPzjdH+mzOWJ2lZJ zTGumE6}c)H?F0E^Bs?#d{(knGVXSC4_LgYhhfucf3*y?bIq(Yh)QI?2^}Ox=V3DCu z8F!4YoZEij_nTlZRdm&lbkFE4{?;1R%An|I=O-U^ejH(BeR(hA%OqdV2pP2PKnD5! z;oO`7-L_lg#TW_2UccZ# zMX%WwvCM$Vx$T;&p+4*AHEg-e4C30XCDNQh>nO{$Z|0>@0x8=HFMXIF6laU4J2rJj zj^*8+&7IBcP*zyFT`#m-cq4%}Q9qe>Epk9tKUuWk$9ZsdeHu&;VNqht6OR^6XNfHiTCp4)!VUjPpW^42bUq2I%g;e=msoyG>C;!!GaoR@b9W%0Po`lDn#fWhY@U~ff&)Xr*8xsYM@0F?D-nWt0X08 zxm~o@{vaIZjx5Q_MW*K}k|0J_n75;jsrnMW~)Yiqp38PBKV$vwwv zh+D8J{)j~V^ZCTsyPWdHr)82-1hUWVJ`??exBodM?gsv|Ys=!MCRiB=JI&S&j`0;qtl2;OOQ&3a zu@hw{Y28tN;?(Z6SfG)uneRvCy!V6Y#@gEif?u{HW#_L|oPXJeW8Ci`+*J1VMnP9` zT-)x%&m2?Xwza;V()+Sq^K`?z0zbE3SM~{6D|_`D-H4*K?s%O1AT00FjgKPvckd^@ z93cLhGuMd1u@o+8s)=}LjVKk?Y3L-Vv_^}1Un;_NeBw6dldi0~y=y728eFyhj$Tur z@Txy9%ROB1?KhsRJUjpB88!*t3?8wdzA95GHu&}nFZaMhi2U{Jn!EnrPZN`kZMe|e z2Q8jVNp_p%ps%r@hwwV&L39qWTH3?jc%+Oq!j-j9OWjg_vALUU5I@%I9-sA+iiiojVBm}OrPwa)T4Rtx&urQ3YSLIjnu<`B zA{orF>C_K4L$G0ROR6I}2sBS!7_F#0s-2ayHlz{LHaR?)M0>vH9 zgHiBuEu%nM>)GL$1Lb(}of?cdP!8f5A(c3l+I$_$?vD?hTDiKTXF_?YKrQq&3T?F- z7Gt9gUU+My7!+{utIhAj;pz3f79l!$r}#oyI3~N{_lI{qq@`0y=bz~+{w=)GZAUUd zBtB0X>Uk&9n>Ai4KOPy26bKEl%XQ_0ZK=$c4Z}!Y4+X|AzsiayFcV;{%`We{{y`-1 zeRAf-dt7S1cQ=&Yb!#?tlda`@wzxKIH6#hKG7-IwuHEUTPD<#nX*w3dmN80A`KuK=M%f-{ltW`TCsS>P$D$s3%ZKl|b_v%+@3suPQg(?c@Q9yIQ zQ9Ym#413I@cuIBaf#)UgD8O{+a873Kqw1`Vp0!E1BB1ChmhBOl;_}yMRWRp0c}*M@( zrCi|_pLhiAy_^*iF<9)vbYY^I!B`!Yg6mqAhhT~WzdO~ zXHZO!&TSU=E9(VDQzH^|&suXPtUw(mB4XZ+alXu?$}B*-tE)7<;=k}qp13PUq^eA} zBJT{LHA!ME;(SfqM`$*(<}H1$vib*EO7FjTc+2&L8`RV!X%#u8LGk<=$ z0SOI8oLH+gW$FsJvpj9p6b&UeW-Pp);GwYc2ZLdmcx)QaPIdBr1;Lf;hKGZpY5!#j z-HXq!4N|V%)pM{P|4E;I?r=WrlZ-Q;7!SK6an~*$&d8K@i~1=JdsCh^mh^W+HC*wQ zl(KesKb8I2sXDuf;L(q1CkBjhPaB*O9xTqSTc`*-|MP{g^;zE8fNQiZ#!=9SB&IRj zUbsES?zt-2WzXBTR>MZ0*v&HcFl0Z1v1gP=qb@Hu7oF$!n@D_3OQm)vDA|R#!emV_ ziGPh?&WqPXw(q41U38zEkJm)~EY7eU?vP^aQ`zS@BcmImIi%4dehMVf6L~&af1)XH z&KiKZh{bZRMNh~ZY|CGD&0bsk1>qC}9dn-#79<#wCT@mj?KDP;?p8l}^5qa9Fx``Q zdJ-XAKYRdh6K6ae<8w#9TIzEtaEieMy2<)&zGylM{vi+QL$F=GUClpLf;yQOLN^zFIot5sP-T_-e z`#9vjb*}>Cd)wT8wO3W-i z`_(sCT6A~hsMt8qzW#C=>_^q7!CsnM;9-3B55h%ZzoFsGBl+pK}MM^Bg2u~UP&7+#A` zhUOwk#@!y~tl{jhW?(KpIi8Et&|F-XTX;togaUI>=)_!X1amQ{g(L)iA?0{38ml)K z91jFA7wrz`qKs2AGmJ|4BNZ|<|E_t#xUNIDW@PD%-IU9~P)tmOhA-8Mo{w+Y$Em2o zEB8brwh`}z?Q-cyZsk>n3W{D>L?M~41u7TdISRK_#ory4SCu6!Qn@wvLvE$eBDv5i zc`SLJhxlXW&?pa5u@LUc7jbWnVy>Pc-by5HwqPN-mn*$}`-y*ijO(cm)vfUnsXzgj z?$M7mt;JU4!+T3;*Oih)@q3y}OFB-@!3uD~Iq~c``xKV!=@(dz+F(7Lx?t!)S4IbR zMKzCurSEmbWUGs@@WFb3$c`A@RexS`Yc^NT1^pxND5LYH@+5ft%YO(S`#rKAfeM)A za2GyEnl^dYZPrpB|K@i==9Om(VeUoLa0#(_d+u= zcVtgogKYlkm9M*3LLQaH>xYNr{!Y)0=(MpL8p-ksx8>VYVEVqrc{eod=Ex}D&vw#x z$@HZ`at;U)m9zP8z6|Yf8{$HHVnW;l+7h=6jX&?+GtMUZzLleL8d?wpyU#@b_~Gv! z@I8Md86AZPM{oR5B}9qRPZXjH9!BNpfB{jeTS4VBvimD$n%u>W@mnSoPt4}S>uvPt zZr;?~!0o;UuSj=S?aHSSCGad7n`wE|@yU19_WRn_hUv#!#uc2`>f*<>f=>Nx6{_jC zGLZNfKe?@YfAAUSg)*xPi>-kf36{ycv!uDcJr#+U!qXX1+P%+%iUjOx)M!GVf6TgM zlX_>zu@@BLyv>Yz-^G}(iw2_&E-&|RWU9MH12@LJ7*tF={XgH}YSGzIy;jhb>48Un z5&V8ojJxuN5R(#$bH63}_D9D^$+}V5|88Fnv#N6x=;GY@w=ZS>*L^v8v@f5*V)18S zpUt#z@8}3<7?zPe?pXZHc_}+p%JUDSFF#=Z1c2V<2@fsdj{M z@5tzttp?~>bYY9fBU6op%T=K!ESZ(HfzN2ES%E2SA+MPn>#c)5tI7hq~XOf|lNY8dRO zim`E?Cv5hIpu^|j+V5MSB%faf5ug}qXgCWZhq3k#fCItqxs}g^1;v^MrA|i3<5?LW z%yV*9zG^$1m8me2z&ko0sfG&jznMud>gK{;zko&rJFliPmpU{d^b)0q#Au7rrr)ak z<8T_brt_4VO-HIOB}oRn9chs|0MuP~-Ug)WGCnnmDtk9o(7V4fh^6Ljuu3Qg#w35f zoAmoRvclY4jybKYw;Lo$YQpF_6Em)K?Y^_ZInNU?c$(T=dM`^>u5EJTN3*NW(?98q zQyHh}9XH0J7*qp1U$8OVZ*kkv#bW2X^!l4W`M1;B_d*2u_uk`{e@+jQLOpm#%U41& zhlTz{xBJ}h55a!N)+wUI(z}lxyvEm$i|{?TwuVmHZp(FalGrkjus15Ps*uh+W*@%K3~5INpk>{ zXv)>|KQ!e=JhU$=&K%wPvb`=>Z&@;#WLJV3bJaW@R9(AVhd~D;03B%W$ngVoK-hGI z4mLL-bl?|+Ucr6_&_U$jKXlNs{F#ut_^!T#!}!GU$9@$|_@9s6a`>^eU?>w_R5jHA zb$*T+0W#QX-2@U6Le5+D#fF9cqF&Lh&Df&940!aau4qQk>AD)pbFmI^7V)@m6><@< zoJr3Y=8TWeO;6*bJ(uSKJ@24qroAoX%67l7#4gWS5T;i8SZO|Nu0+7ns>LkNO|(a? zgRwcj_tU7#l|YdlEv>cehRY}#c5uh% zs_CesN;AB9`m_eE`fks}uZ)m~>N?}|@IvT_s{8f4myNLi=h%AC;`*scsgO1qoT*9L z5>_c74R1Lm{w5t>RLLwGxphzI0)z>$*p?6I{%TP!Vix^;@6DeJHJqSuc9rY@t(WVxS-~Who0I_RmJVe z4=bIom*+e?f`gD z_lasQH2)FO0{PWB9HX$+epU1md^{QpkbyM$VUg~esX`O7- z*}g!%F^|%0HvKE%+>aRbyg4sZG^85aUZ#cfOh8H{dl;<4icAHq9F5BNBH!aP#{f1+ zNvb?k$jQ(pqT|fPD*W!F2+&qmXMQhl%cEU(+#U``?q~=ZAsc3&;Bz^+jXlGtOdUXF z`m+A+1EewqAFE6#NM*V}LNSA945>^NCsd}1XV*6M|JF@RH+CMYOgG7t{-ZL59jZ*k z2}l{6a98ehX#eb;blmw#Ek#F!C3AX&Zo0@N8h<$$Sc{_B zk8~ai7~ZI3(`xIpvf47tDl2*^5>GDs*3re^dhQOae-ohQ%)0}38rp7Vk*qF`EjGA> zCy8Fo7L5%U+1r@@O`4Q^wIfL3_D>NtkJ~$mfMVT~|T#!P?oLL5UF?~{L zgp-88K?n83-X6-|HDR-=E zn5rU7_sL6) zxpJo6^3c=q>GB0+;#Y5T=GGg{h%19ZYxfS#l9&59K2OggGz&_<*Oho3Pfc5ip_5ay z8F>H}-#$XVyANuRklOvBKHDiHa>*d<}ib&9?Bu2rFAyu+ofB3k1ML&oZ?O`9J5 zRWEop8f=$}!=@&NtLtc(fAZUt`l;XVWy30g`_0R5z^aO%J>6yok?da zBxK9L;M|r^5BrAmH^b}}=Of+cE_lJ-!*}Rg5PqI0vt-=NA1$HJ)NVniPHVwooa0n$x%5Bn*A3R>(Oq zIA;JxXf+OPSqS`bJUF#jKm2EK3LRkt0Yw)@q% zDQ~Vq^jgYx=rPrgulT;SYlW#MG=y`z-9r!0)rapOh?)y}UTh}ZuXKE-q2iq{vt5dd z5}M7xj)=z5m0u~8#(N(n6>h5a@sdo8m0MpTSz;Ow3)cqY85-w@Tmw)wemtffyZ=t9 zw*Zmt8g+n~a=2SIt>ar#e*C{DmrVc2<<f; zL*bt!rdK6h7-;#x#E77e_-UQ~bWmyRvXz~SR`4$eUC<^~;g4kJ8zWDthbpUsN)Qz_ z7kb1gnM+FwC&+Ze&1ZS@aRVf#E^7C9O4oXHU$&c*QEID9b%~X6R)OPj`&g?y)}AqF z35Y|UNehpQ&qPhu5QMm_Z(9$wR0=+;^Re-g`MfpZSVt6FyE6mH4Jyq*hFu@derV-k z^fcp0Zs=Ho+TLoh9~5Pe!N$P;Vsl5;}@Ea<%SjYssG5ZPY>mWAeUqo z#E(vxrny0j0H?-{WQGB%V926yy!MzA!5(Um9M$*r!IeKPnmedCJ_$Di&X= z^#ZYSQi<|$xFnediO~F6#xS0S`v}YI%Rq&!W>IE(A<&RGC>m;*=fvH)w#6oZ$DtxLsz<-TbMNR@Zc)(V3qAXOxYf22wVK+N5uO})QQ z#>bB#W6hV5Kj^CFU0ykQ}?Ocn+#S__Vxh*Wbf8!p>w*-AO1v*QhyB;*YvY_n{bj z35c;tC&gIiHjy1M)hb zEVSx=yrotkkBX>Gahj_+$tE|GB{E>2h+l|wU*&&}Z#c-CEuGp&vKTHwL33^yMAfmGU^}^|l z;zK=}EIN|c@U?`NtL^dT7%DJnKdhsMpRei==m`t&?ooaQZ2!XJOr1m4hKj9SR7OF2t` z|7A6JmW+WylHszR( z*Z$!Ih_Lt2sthU{6|cY<7r;$VhFu>Ep81hCv$a^Gz>unwH!2Tk#THH@>XKku z?#%Od-CviO*|~!Y2$*s#E%9C-ZAwImi&L1v0KibA=*1}`{-CENfOleW!?k`;i!l*3 z1yGBrV>D?7)#8ceMDMP20jNdu2{h>sYGKWW&|J{}evBp~E9q@d)?(tQ7C9)nRE5P9 zyB7ke8~q+1ugMl@XI|s0yxrmA+Nb5Pdf8Y$ z%W;E5Pptsk?k38f?LN%Plb<6iEh0;VtxW5VtzDmRTV;Z8Hp#*+1$C<=DKr^?SqFdp zT|DcqbqY(sK)d1M9u=gvo!4|o{&WMVv6Q!N8~R=^?K`{R-Or4*3j|oaeW1FDp4q>J z^I~@!{|hQO;sPCorTkHQq`W%W9W%&Q{F=itxht-XV)XOiF3?gpf_Z+x^ z){-9>&_GN{U85-@b`i|V+RF3+&Ara|^YEgLqJWw@UfR#Y)#hZ(<+Lr=7ni~?`RVL1O-aZzqZ5_u*^n*jeM+*Dktk?D26)WHFt!rB~UlP$X+! zNjoLRb|6Vtha?ez=iwc<2_)&^zl{PlGzYpocor#F!MNNGULzBva6KNE8M)FbCx z(YPEEQnDzUPDq7Sp0|C`504(gx1@v=8Rh3gxtAC?Af83RRPMxsKy&@p5tH*ziTg-- zkZZ6MzuBR8_7+P`^0-c?4TH?xue_O=SEg-l@aLB|?7G||8>0}$Q7Ij^?4F|`&heD6 zw#w^V(2DtAW!UB)pDqSM>SH)}hHD>V*5uzE8{=B`dz(GPj>=d>H9PiSiCFFnKZqeo zov8IGdKz;DPufBZQXb#8BqjO+Jr=_&QspA9d_TAL6p~f7a-gJCH_NT2uUHkF0Y>v`t-fmfk5@)Hq1U50M2Je`-RCxb1w4b;7DXNfnH z1(dTpCI04^vaYkbCqL(0bg9TEXjmqjw?@6tZcm%}$m64s^%Z&&Lp3#1&PehQQ}1jY zw)Nrl(muwSjMKzUZes~RmENAk?@;CX1*{eiu8+8YXu3>-_ zty7p^0;FiH3AwaTqKghfikqB&4ScVb0HnBb0x50*q&P{|#>&B=t9#V?=ah)jPV_#0 z?h#VV_ed@<)3TG`MSTD&tb0+8nPThP;b&Dj@9+3@w4a5%DA{<Iv0G!To@9dY#TjebW1SU<{hDrG84h=UgI#iFAFHlTB$0m&hSQ$Vb~{*RZ&ir(zrZGZmKpTSiT)l$a!THy|P~@wt$D3F%tG^8h5Rihv6pF_;i_bxZDSg z-{mnC^N=gJI&=q-O7k%scc`n)P}NbmsVe4CEU|%fUK8RLz(^~FH(#34hUbNI6-Jpc zLjfNC*>h|jlH3(momL_-Q4wYW^V+rot-317!~SnV!k=ZeLXW+P%F!c2UJf}uEK)j3 zYq)Fi7r-R%5o}jTXcF-Y2jWVtPo6UnS6-PPi7VcaxMKLN`Tf?Ldq7-~S^X!jn1IeN z($p=zTld8CSX{A?_;#}MuOD^35c1th;hNk7pWQ!-=WgPehnd@C@oMd4nZXI%-|1^(b|gHF=lzL zf*{A#M?5DO68>C9uP7%>i|*$axv`71m z$nJ(ffdZYI25rLm?G8Py^96F-$F?-C@GAVHYp z#N+ZYX+}#$XD%wxbGl!`3f2pp$w9b+&T~X8ky#46z`N*VIX!3{cslvuEok`l`Hk); z^{!9tlPP}RvKOF!E;lmj_6uWGI0CDp#3zdlSQW2~kF1IjOrWK)IdJRQcVJb>EdH}9 zGJsW4ui;(nUi0UlRq;?F>g2mHIkGC6XFP}#(#P;^X4DK-=*DV@6H;$H2DY4z@grkJ zN!2Hi=4Mt>m~GO64Fwnok+HR%yAy-KIFQhEyLfv+YuJ(oJCt&M03Qj@T)Pz^>JPK{ zvh9wDOmxxy`kP@eCxQWCVFf)7{=gySUM%ie(++`Tb(KzF&bbJ$_LOV(e!FJ#Tdk-p zo$4}_`yC`(1%VE^6AH^$5aOvia6@2D@Gs9x*qNu|j z7MX7%=(}HSIlS1#u}M#aSk+e>g=-Wv5}vj_y$g2nWxjnD3_M~&xl~;jROQ*}x||Ue zBC*;olxkI%D>4{=)3JwvHu)}`G(RssW=%G{bYXo1tDJ6Wze(xU*HOR6;UEi2wKOZ9 zt!bY!Hz&-A|GM`y6n;DvA~@QA22_GpUMQZfCKnbmA8>+K83SJRn5|W_OF!-(ud1N8 zKDk30k9buEN)@UAckd7NH{GO@HS|fIOqf?8*7)u=H*o;u=jF(Iu`y`9`vT=aqYAL^ zCwaNDGHwbi=|~ZlNnV+-Ki}~cS6?0^L1){@yHFV__8kvT7Xb%51N+fehPDrEdM~eI zfYW&erORaRc8H%}5@39Hko377VV~M{(^7q2MeyMPZ0dh!yvYk5#m*_$2K4`-jTQON z#v=S5+gRK!?%e%922;EB70KroVCQ{prGBP4dZxz{MI=Dl^c$(=iUT8`x9TGsBX2tB z5qp}{7(^fwRsm&ZLDr@^gKm%x>Q;L9YbX+%m;&#$R=;pIr2R^H+S+SZR3h(4e`H#? z?Spxa$lqDX1dwIXTHe(VeC{^M4NpYo9WCdF@*cVL2}9WmPbE#EFyxPsz2N=DF+Ce} z@05>z$*BEiL@l{*CEEz!CkOFy-^DNtzmm40S4jl?suA!js$+f?0r4yRI7+~;z5{;s z>;%8U0sIOTe2{xO;@izR{~_EjbPxH}TZE93Hut)Y5$r=jV|?t!Z)zi$ZYX0Fw!Om_ zLhIX(!18ulyj#^V3eimP%~UB1*&tQ22;Q*K6A)V>KL5BH$~`^JHJ#z>xNVXivqn9L zB#xB6yP6)W>BYy3S*Pdk`+OC%Rkv;-Vq2t@1IGjN*vxA3>@yjU?fTDr?p+=4XF6vy z6SiaRvpByWyJ0_SBq~O{bmb@i+b7-6Bg_egyK4x%t>pL@W|RcoxlWgSKizuRO-)Q zoz_pnKbu)&5Vzq-dnT39K{~Xkj`1-@ne?(Ttp}0QQ}&a|Y8f}r@)AigVKboJc%h7} z_FPxToI6*%65to+yb~j@I^%rg^|EzXM&(fjGGX~yi2KR>a=d+pxf_OQ`EOCgX0m;M z70`q(MFU!W%4_2zOy_JX3!AJ*Tmx)(&1<@zlwk}1Ik_G z8m-_mnGbu#2PMQRwNJs2DA!{~Fmmt1HLCG4+s9d6RXLdi*`29_1cs z-)1Q263K=_^S@=SJ0Tz1zF6aItk(u6R?Ox85Sq|xkOa~5vA9yNIS-N`g}-oL_Td?m zI#6vCK3E`CSt<9Wj0OiKg^W==y}Qaa@a1{P%1czsa}rN7_%Tm6Q}rhX+!7?F^rewZ zD6f$|?EPz*EL!-|1#QGY_mb*`uBCqo|EyZqSuZpC9-!D$|Ef3Y* zJi|-$)~VZ(9;Ba`Qhg2X&ohy+bn9p^wKzR_8cGg$Cg9vcH~O&w>Ew`C7A80&SW0`u zx__l)fJt#Bgpa&|!uNPmG#9@5&!pHr>W(=fwLBG_axf~&gI!uXvu3DEyQ}vH4kEJ? z0iL!m-!MR)p7j-d6__MeG1ws{iy@QJbyp5#%0KK2%^6M4*X|W%gTeUgvwzU z{;hl?+xc=Hf3`7{qR#8om8k2{Sx%SpzI+*ELI(1E*HgRG(&OIi8uM1vru^0#{3dpX z9mUDyJVUJ}Y*NbOb9YUqH(~zXLbhUpWOd!St1sL>e(Clb9_Rbyczq%M z{(o+c$PSHO6JB`a0NY8U=({>vOE|KqW;dj z=Z1BA%U3KY6p|{x>a6>Ud*C22#SmKu0?E~ZJ+Ui6qW4nc6zp?@Ml;PS`hHOVEFg75JAZ)a!Q_a zt3omJ*H6GsF3=?!Y(<)h`gf0ECrLTI#mO#tdjva^QF0#LuXkYg%yn=DCZ{FtN`d^8 z*@3rV$v1Q;))fa?ya_$651fs5HFuH*{{zyFQ+k^%eU_~1AT)WS)GFw{?|`CRKa?Kr zUtgK_V_`o7WXlR5Tc!;Cu3J-*RKlJYczy#4P5M~(b;u_%bqPL1?aBt{oUzZ{bzh1M z5U9wlwj>YX{RC&LL{Fo~r;KVgFBa1o@gpBG0kE~vGrKWe?yCS2A}(vnLU{iYA`gs( zp;$!kbp%SYh-CiR;RzDK-ns2lLRLYmiaz>H&NqK@kj^{_m%mV^N?cQ!q6yGa$4OG zcD)nzs33CspS^u<;}p?C$#o7qn*3CWIUBkxrJn=Ej)TiIb z>tfy71?__%33D$eN$>XC=Mdp2DUXeXeLWAwKd#-W`>VE`4So5lOSa!!JackmbPMK{ zIiZMDeTK(W-hGFHmQO-!o^Q((1_)CCI$L| zHFq#ks$kAtrj3U;-R`g*9@8yzg|rmb*i;dHuiPv2T5$gVp&`~h#_(NUtO+N@UhI=u znx%$e8iIURyF8lLQ6G9Igte79nOan>5HYpL|EcnonU}Q&LrmdfweDXeB1YR;f!kFm zF?w(Ds>17elWzr46IReeA$}q7Ao$bc?;J#?h6tkaE~O)e zV#o*55_11G)xaG=W@-6Du+gU+@(})|X$uAv~9-R;@x`1F2+Cmxf<3ic7VDUlSsjXZat9?;Ehy>-2rN^uAL|_yZC6WKs_j%1GPhrEqT*r zDNcfpfx;cS$I0LhQs7ssrsltV5H!C}Sr`!)64U#xCC8EvruBt+TH7VOz}Q)X^YCKR zi-Tv5%M*R^yL9px1P_18S$QX zrvWjtm~+%L^w9lky-PqIg>V&VOmY||In|?-en#n56e0$*L3X{(c7hz(1nkPMlWP-L z^1-#53r2oEChhKWC3qOpj^jo9)y4nBm68&;QsO6fVtc`fZ*XLY zbm+XPI>}0~1P-s15FUA&=F5DKlRU`gKY9N_O1s3EVUFCtn$|^2-i3lAd&E~Sw9Y{X zjDBC@D(eoSGZt75dcWCVH!;!lIU4rv2dd09lu&MDPMMuGW-HpOhp6ZsfSrJwF}+J` zLg0Upq;Z=e`qustSRx|%jEr?G73+jLDojeK3UMEy4VkwI3F~ofh}Lq;l>;`VB??aGOcUgNVgp2da=urN}<`M*6(XY?fKcJ-Z zBESC&>dSyLKA~c8@a-@@dAw#qgDFqW)b^vGz9kHm!P~G~kxqtS%P*PvQS^&v`8Rhl zLFkP93r+w$V{1q%?O1n#`Bks)xTqcC!8mR@QWo4lbTds#x4?_97!AcSHmRdgDg6ckAUU zn4Ey#jo1%v)fs!Xv)w`e4qikINJ3*G`EX3YUn8+FN&RQZf=)@|CkAIL zP`!g&$U^!qWFHSse|4Py3{J|zuMR>{(-1=e0^L4h;{ga~s_u0;_==8g z$Bk8k{EPyskcC4mj1LhNllP!k$ntU^4Q#bgUa$N&VZw^CO3J7UEn(PPI8wwshuh9? z(63YD45Gjt5iE0|xV7u%(R283dI{?S%}RTfF|bnrKI_d>{=Hqma(2_K z-{n@%7D=L?hEmgRLXdWUd%qBc$~fR-+<=ZFO3O!2+teu<@CGIA0~G4MA>A>`2MdyW zGkb1DOZ27O-;s~nHAZY~1?7Ie^f?ihnQ8T?N%=v0DOcj+ZZeOy5}(bT8iQwfk4 zg4MXCeWe4_AL|Q7J+1u*C{#=krN5f&av=4}pXK158B9~^Sc7~aVp=0<_5g z09&y1YV8zCo9h4zAfNLroM`qqI>9cjsckLkkMV|Pk^(Du<`JJUXiG;oR#}qk;E3&e z*0t+_N{13odYO8%!Q@NY2Zs=JE$aS2+k2D>3+j}sZl4|CCG?J}wblZw=f*4YoG3A! zQkavP@6%jhHW2$g4N<8IRpdcZ!s^;jHuAxZ*Gs?+xNxcx12HBr5aa)|b}4qf5AOL8 zsokdhS~*VV)c;ruu8{AZe|bpA%t3AfbJACAprL~?hpN4IY}7EO`hZ6#3v|wtJYsx(MkwY0=GkZyJtysm;5$SbS+94LQu)$b9E^X zfcK-91Wg0w!@K6cqZER~iHo$ABWUyCil;Bd3eDTM$%WY3{PIJ|t zQmmR2untwC55Weo93a!|YV{|Vt5FEXnD|_W_C<$G3VMN0058x85+-)N14c4TV}eEz z{<*`WLgp7Y;<6<@$+8AUV~pm&^^UzQ`wg0_kstNw=6L4N%sK)fOOWxUTmPpyw#^4=U}YC0Yzvi zP)!P^htg@*W!k)?ga8DgzJ)0h1t);kQyq~k((w*0^HkmN>shZuy5*U_Q?)?W=v!^o za}O3SnSSqR9_1O!>wg`)>)2tc+WF{8Wt2Bq5{3F!NvR8}E+)w|b@Sflbu*YHQDYgA zZd<37fcEsBjzzcW*^BB(FX<>R2TUzpnSqo$=6YU##s0s4g;H{W|v-E?Xi?wNUw8Jq-u0LlyU=5LPQFSnRb$QI|Uj& zJctyC$8BKey&ymExx@|+12-mG=c%latL4T9i4|hYAMWII5+AUPa(d%e#6!VXfYkqF zU$`ZlX?e=4}kLw^ITqp zQa?$B#90tZQfJulyt_eqTVav3Qoep<-xjSi|DE9V>zx->5dk9)oD#v`01)|It6~zo zy#8)NOP>_LC|1nQgi|1&k(HeGnjx^UaKBU#i9Dg(Y@Q-wE7deE^)Nym1M08AQ6~ZQ zE7+lKV+15B{szkNf?MW#f&9h$h+S$Ug}Q7Es61;F*&Mcj@jRA9);^N6vSV(Th+`!B z^9C@z!N#LJoMv0LKGJ%SAs{aKir;sB_wjAaUxbh@EMDgcSTL1gfU?M_!iP+KnNgYf zWKpq~wAgq7s#LH1SU=P+RLgFgtSj{j@`;n_yQy{%+ZFZ2F3V)Ydo$=lj|FG`n$?T; zbo@0hTlt|ojc--i?WD*>5{dGWoA<;o0OtqjSjn6{*q}0JV07Pm|4?f(^_;N7{$kO` z8Q*R(UTyq+Y=x`*F2*FCs?Utz?$#4yea z(pRyGD(ya+vn|lZ{5^d|4H;meigAJ5Wf=o|9`a&>m$HeUX8F4W`B27~`*#)I@F5)J zmb^PG%M5rxYYA;a*ttewKaoD~2Otg0T+eMSm=bAlKjYE%ZtW{WNYLe9nxVFwuiO4A zaY}gCB9^w*-hD^9LwMZ|{Ouq)I@BmL7r1{H2lwyi3BMhhf=r*1FM^6Jyb~=-9p^7m zNXFa5KK#QFOuqmRZ#E8UnF)j)Qw?TT<^S;TJ4Za6Uy*dCKY7V4uB>=@=F@_u73^D7Bl2AsRLQ}@m#gKE} z-Nji&G44xC8;bwS6Wj$q5OsQ&T^W<0;C*n=RluP0EvPgnb?V2{4^U3MzCtZ&$azRN zMuZ?=;2iQUbPX#kk;vWhWSF(G_N?JX2)b&f6s706`M-G@+@n=U2`qYTplgE1@z*|X%)h8VuH5)eOs_b;J$eI{?JjEenWgE1f=}PW0&8-A}}Yx`Ol-( z;AU@8s2_;|T`$WMkOkv<*mu^z1zS~RdX|Nno6rXJn{Iu(ot8?SXLWuyUZS68KRAx1 zF@A822y>=aG1-o@fAofVX_yK8*(@dSXS4pV;=Vd6%Jtiyun-jxX$e6=4=Er>4k{s? z(jh2a(g!4uh=hPh=O`f{odQD%BF)epl0z#D%`n{eodM*0*YA&Wf9KwH|9XMNVlDQ& z_x{B5>^&fT##0wI{0yFe%Edu)bHKO$`P5tgZw~QYTWD*wXYC$}2K*>}tRF?i3*J5) zQyfy^_}&)*8g%b04T|YYIZ{DK>QUVNZt_y_)X!syGMwCQe7x-F7}P}Bv1=h?@!ho` zr`Z_`;H5u-Am2;ch%5~9v9$xM50<_xcJh$`-yalJASLu zw{-kIVfS+Tp0v9{qTpUaowK2GbxzfXp70T1RDxhxwWr`7LGFd6%*mTfgVuqh}KckMlR z9*FGkd%Sl28bk6iT0rMPw0JcKkDIrv|2Gw&oS+Jw2PRi^8wB#4{Sf{R7CIK-@eU!$ z;ytSN$3)d{cXR3Ew~AA!$SOnj`WejLruK+omST93Pig2B$8y}zqHhMbVyufBuVlVX zKB!T~6a>NIWkEQb^ok@4o9Y*EvXSnQ6z!Vm1agG4vJo+1OU-!G_+k%)XuHQHHEhYL--^=tpzOVZj5zClZKJnIZ z?n!D98%vO5R70S9WJ6%{LP_bm8?@1VKvDYV)8abUJkZvk7B<*0IlBh>w)0}#igcL+ z&(l`HiPt+tL%zGO9W|55?vBaX_gjRd1PzMx7Muy|>0Yr(D)O_`>s8fOrO#O8yb=T=MJ3-w?3-@^c*i@@!%fRZof$P#v%TlY#Cg*zpy?%Z#Nj6i( zw#e7tfI+W$f3gBmh3pB6p}l~HK>C3`{k7|C3}t8UGMxM7O&Kb?FLue_=XH1+oU}Hv zjfmZwT#WF;*-kt&TyY=o3v*g+MU-`1z9*NMLnY`4PZp=(@|;;dnh+mEEEqwJ%W3!7 z;s;Gdbe4-^3-V3ILNcsPi)_Rbo>ecUr)r4!nKX!Ec5MwPyi_|VmLvlQ-Zow>`iB>K zcgK>qR$8bpJKSs5$}%#`mbN02aHRcY;{x10(>29!vmldB%uH1Q zHbH~sk{V&!?Ku7>tKPC3{XrX49vOp(4(6yY%moDp6go6oBWMEGX@Z_f$0cgQbj9v_ z?;TwxQkc}g?cFb^Mvka`3#8wsdZZgnJTTsmi;W7jgKXcIk{F+mg}mcu6N;A`LVr&O zj7c$$HVzn~YZv^VCN&5L-MI9KGW*TZQZ`_7HvI*Y({iNt`253T+&X9bo9I&epy}8* z(di*0X!G0Gw^+A^WFG_nCQv+i!G)!z?HQQC4rSIwz4kj=1@HkNJl~$$X{!Yo-(=l# z1(a%>Ymh04bo`E*Ora4pOS(h5opT%hDTzGst0XsAKG~Dh+SebX%h3|OiL>L!;_b)k ztCq2b9TMsD!j1{Wj(|I1R{;M-7C%_3wY4&a!@gY2I#}_Yueva1WFg!!;O5xaanAg_ zVs}FwRR*V+lJPCuD!t;53D1sW=^zV`I-2(jUU=R|hBu+yd#xTEB@GxLWd?@7T*;Aa zeq5Ifk9~i`gKd-t!>NsRwU=;(j;#MJ*DodGr2B9ApFyq3_S=}CtXr{CcfqqEBdD8v zAlW{cKTG#)$~TR$`O}GzRHaPqe~7PhaZy z?(`9pYh50g?vg#J!kq9(-BwoHRvLSAkuN3Q$+x@LbV_(IB#A8%Tt%|X6S`5-ic`v0 zu#$9RV1+)c&RL_YRL?a*Scc^eaT;u&nYJXk|NQ68#EJA|b+&TFm}&c0xB?vSaJj|K zHI=245I^_67k)bhF^{zNm@9jnKib1EO zi&->H(a}kB>@=kSf$!LDW6<7EF6{m6SyU{T3_?(mx+(`!ya)D!T`<04tlgnM|4Nv- zCx@}JRM#XYrqg7vd^<&Fwc8!Q) zdQs!TFoOaxTrFrJkwc`m^fFvGgG_dnl)1d}sn~l$AP_)QR;f|AR1Em^ETSEu=e;WD z6@I-r3dcO|1`gf>u``71jBlKheisb^sOw0Fcr4P46cYHPXR6UReZ4Ld3qG@E41`Rllb1V=C= zOs>qk!QJcXhlS;?UB$NphR>K;o*lu^)u{MAsDjYmpBrq2z>ZUZsAm=w-{*vT2$c34 z2NX4E^N-TCduZ8mbK)6l`W)x5Qi!<^!3(1P&*^Ecj{PS^c<7f$3OTucrp|6`B#R zf`fy@5|7!3-c{08Bj`s~EQ&qSgsBUw)lyQqO`Bo%9*FJCCNjlU9?9}iGqDIlZ2w%f zJnKuvh0n^O-Vti*HTp|o>kYFQ=?8+&GiG?axDSDpp<(CK&NkGnKS`N3#@N#-lYE>q zI2*pWO3hOyIK0_-ABHItS#dre6kyi8p*5p4-_A?}cO69@kKCIvnx(~nle`l#fg8Je z%bF9g%Z2S3p1S+xG3*&ifWwIXT$nhQeqf{-xUM7PwXpa`rDLLnMG0sVqB5NlIkU9$ zhsCcZ$ns#dx_l8h^3b`@)EiC?V(&Pvy%A9x?Grj?{*qY3;+UC3f#5#lv;1R z{PU(47?U_0d2b*@3|G&Hb9EUdH&FWBz0_ZiU7A|XX0P@1+zD*oFgreHgD6rS_NpUH zP&~O)(Aldmg``kLZ0(qBCI;aVs{DACoLK1A6Iz?bb{Wfbk!+9ZpvwHC}8sQ<)mVbvDx;*Hb}HI>Yx&a2WAL_N;9yZ9@v7?Kgy5ekf9 z;b}+7PmFCS(#Cu_WVC`I=CpkhdNgbp2VHvdIQ}wHmS8wWA^ZUodS3kFpqhmF2z4p-u;hT!1sMOO><0q z9Gf%KB~0_fBSU8|cd@HJ?_ z?~OLijglWFj`+u$1h12QjwoOAorvh7kc{wPaNM9Iu2*x7Okb1 z*qeJXa?!*Q`23K#J-LMQBVFO3JPHl;mYcNj1)%!?)LEz<&-vl$|0ILlX|w&iyqzPvM@CF0mQgbKOSHCl9G zCIUE=8D14!l;JGN#6O=Xtkd?X0~l&#Lk&5%=ew`Sc<0EotyC%*yYx>arS}X?J6aQ` z|7I~&(j2{kx3&qwb@jOzn$L0r90rHVe+6LWYU<~dt6?P+*g|kWZ9-l z(Y4`aXgLd}zc7Tjk9;W$iK;9CDvW7K{HnoR`Bs$SS&lq#RN+D><9oif%xjoo;eUuppH&^S z$P<&1op#+=nkUv;Sny}0agXtr_QEgL+m~QJFIL;H)pi6rSBNJ@h$XMCzI6N+s7cS# z@8TIBsJS*RYVfW#`0SZ-jQK!39l|UIz*GJUqe;|@xyH+@&pm%@Y(j>M0GELqB{dNH z-8kVgu59a?n2f`A-y2Vlxs0eH#eOgI5`flht<2k09g+KO^%c}F`0blL7DX1+S1~Gk zyKJ@}7P*h{bD=^*2_wMAQ2}EuOn$ecZWeHTx0w|MU3^vhi?g%&Ov}%)v0-+K5?$d- zx$rXx+kB(B7p@n^>2$lva$^;C>{vEa#3xBoM6+`nZ+6(eFu?OhP3ht%Hlb4JKt(H< zd6Uz=RBHa1y8B9tPml4!&9j9-L8Yar_wI?6R3izW^a2G%@JiQ)i=pYL18+Ox{RMR3 zFj6K&V>radk!AOE2Mz!V>J2#&do`E)NkIh|leC^LD1qaGI&l5IVOo}mzO=M~nAMPh z-aHuci@Y)tqT3CL5E2H=dL3db~v1dqXX3(js=8d zevODydJzH;k^uG9I~I~DfRI!KD+v&i5rB|i;JC`Xd&5A(K;p)`LS=Zb+e)_31#hMXp(Z;fPp&lXT0XtFlfOsnKHcjXXzYQS#GoCW4Hpy|`DZ#ySD#$}&f`U{N2YL}@u9g2y|kCixP`99#gr#HF3C2r87y%T0LbCoZdxiP zNe+MLuy`YQZZ@YiuvPzD#&n1%od{ucH?p^_vZPt7(oUa)ydy{c&d^RoM>-;j{a_)P zjx&;1a35NB?P)Iyxh;Ve*#Yb4Ty3|c4%cBtOCFDME<_8P8#?bZrB`kDK$2QRCyRMM{!60zF8S^ETr@47!nuhN^OIiE*XBk^y-gq1HF%^ z+gq~@*#{!N(mJ6n67v>QlUPjVa^%yiB^%p++$%wkwuD&8AbK3&kq5=ry*0OFLp^^? z)8J5hP04uMMQbh}My?Tt0?qu}g2_ZGlg5mjLV5Ks!Y4B_s;fF}_Qol=S{zu1CguwT zu}SSEH-Uv&caI$wnsI`|r+6_q%-#gxBa?yQAw9cC@rGX)%?VXBBkwv*72lN{FI)XU zDCcd#V=s)mc#c5H!AwX~5>Jh0=387!mMoTPsPxe`6jaRB-LEb13|L#?)UrWigbs}#G;Or zyU7ZOcCQo^1O>bvZ2$oZK%WXwED#_HcD-Upzb>ki06iuD`nLcT9|dR~O4#OQQRFCm zs7166&E0Hm@v7j6B%ujjMp}Lfs191b)nEF|bztD-@@CzwKL&&6az0)b(n2H;>?k!D z3ft0t;x-B(BV;Puyc&IQ$2BW6F=uhbP--xfbW=Q>+p@1kYq-;u?D57stJdE~tIUXP*g%zo-N zTx+^AU`iszKzJx54NgpVBdu?Rryci>Bgb9Zi-YT6L2>k8;mrcP-u9jT{WGt^-(BP|eC) z`A;0B#mEfg^DBiDkuyO10a<~YWJxt|%WLh0W{+3Oxw>2c&Bp4oB4$v19A}UHzssK5 zjr5g}bjZkqy&gJG`AzO_XlY5nJt-#G6QPNyfXFY8Ts8QIKL}3TyojkSyWs^Fd20~0 zkp0T$A0=O~c?>bjP{}px1oIecX=y25aH{xQV{T!-HL_OOM%{0(Exww8)L3$V!m21b9tGY2zBS@*uq*)w@yK`FQr`Jbak(k_{EZYhSDXV0c}84^Xqr5 zmOSW+AtEq!mCHL@-N2^7NBwU0FMwN{)V_6niEDVS?L&09e#gKYufoa1UqnYu8F;+A z2-HeB$w^0s)Dpy|L{2!~h% znO*H_)b0cN_f zYN>WycWfo9?I$bbG)e{gdF5qFQp{r^CF5JBAG-an`a+cC3J)V;{HNW#OEXQ2H7unv{@_sMC?83!C% zHq#8!88x(l`if$ux!h#`^%4kQ-?J0FfnaquOS2$s{n5|sg}UhFa7b&HHj- z$mViHi?>AzG0c$m@I#ZRYq$bOW*84Fm>Yg?(HH=2@@PAc=};^;2OU$+`9mt;}CQ=wdai;C5n}v;mR5 zIR3lEL{f#4JtS$jX#VqyIueri{DoJ5*nD?NHw z`nn^$X6lE_&!`&*0f6-}5C*j9|8-KR4$|d!=;B}l^}Qb8ux-xl`4J*5^5@stA zwirVtiJ{czLP^nD_1d|2UI{It`UDO7Fp#Aauiz0J693iG;-EZ|b_m0kS@+FHGQ3*% zIM5H=@x?3^bP2dtuLd2|aC=VL37Y%dA6t%hoC(y0-x;9r{1~Wf-r^CYm21Vz(0b&3 zAh$s8;{hj2RYD%oAy8G5r>lw#sH&8-(5P`Px8GIO&KP&PstS**3eVApKxt%Wnm|bi zY(2K0^iOd@<)0o#vnxvDeXIdGd2X>6g+&3%^8mIebDP*e^={+XpL3?l&OZ5g*?0bf z5X#2}@?K${&1ureCGFN5TGV7RzG*>yLfzTrP+gfCh%&;!0q_A0Xg zqDLO`Iyp*v2ME=^MXtT=>KaS}H3gH2q<&4Y7|@zO*le*MwPx8G1&Q2ZKu-LvHERiB zT61`~LdOL0L9?GrGUS9YGm9|;H6EOAQ#X$d5EKFr3H|Qeh=kg_ zJ9Kzc?XzWO58Oj5?h__Qwgd=is`asL==1)+WP&IZ;iz8`Xm1 z$S^1>#y%&8R`ZKwSJJk?D!R_~?eZztf{iD*N1?{jA{x__Lu3f={go140V0>( zCpK2rC6al@cUzp2v~n#d_fk6YHm;0hE0sc8IH0-c@jm@S&6W1*IqH?*IHNc}jv2*^ z&$4V=hh6M=K|%i~s>{+v7DW8pYUx#=Gp zHo(cQ#KKOT5$_Qcq8qj(FuT{Cry9n}UT(|P8X0`4@Sog-Aif2tR2?RDaDt^eVt8OFk61wUCHm=-<}7<<%Ri8zZ8iF zm3W62z8R>#DLnAaM$P#uq`X7l1!M;tc#RDPyjV_!*L><+!{Lzs{di z3Whu5XILtZ<1BJ(@RW@fnR_){{vbaWn4Be|3JB=<-E*CMnR5ZLMH4vMASH9@;`gS0 zxk!hbtA^TyDXl{RVQh~-ufYs3uOes77xDD`-T*S-@|59T155)!fdF(RK_%(IS1jQI zc^CHsF<%bt3bTbvDLf}0=U2AB{&rq#e&lh^Kqz7kBVL3cATUETvQzCB83K|L;^T={ zedI6$sS=1f+%QQ(nVJH>AjG4A<`Kk~n}ysnu11;q4lkh6ncHIzH}3R>d}>cTl>6*z zG>6)Sr?#*lJfG~s^%Edn5|ST6#ApGMJp(zknURsT>Ayl)s5=7zUWGRm=J6psd>(uw z|AsaO0JO1Y=pb@sBPa_79f)tug0-7?Yzi-A{s@Au@~FT$FOCpR=;>2< z{ZV~j>~SzTUH>H>X26lRS^u*-uX_Kys(ZytgBS>T7946@eeKY-e4n+UUTW?40RX)A>Wf7br~R6P-e;^A2e>Z*w-`!(BW`arJ=-LcVY zdp(El2IdFpUduW8=#j<6$+=ddhMHCA^k#kZl!epFlIn8Ky5$>z}l;m6|+XRSr2{$1-cCi=R&>Q zowgT{?R$nEu7}dCx}uP_(50-Jjl0fDwGCU3?z@*Bgra*E4IMm64tDl=Y<}7tx>S|J zPz%b0DC4Sfy@?Ic-2J4hTX8}CJS+n|HA`+=Gj8oaE0ToD_32q_j2=uYWNSiom9xFN z-piLC=8d8cy}Xc>dkt^mVJ>?vUg)w41A|;XdOB#&00l(G(qMxRRq~E6Xmbl{lWRMW zC12on=vfri29cc$B^rr_T+ro)zWZ}6Wjths#$mh1*?nJ>>~J>FtNP`r?$YM9b9A|o z315hXdr|*{{x;fUTO*5xy&@-HbBv-U+twyYKOty83kF|OT81p%y2L4a+w!2g6IR?k zvYinv^Te`)xl(uA>-NKp!ok;n94ak~eHu7efT-FIZR_|7zj}5^>~$MGt6o$;+BY{= zlK*9Q{or64whzzBa(eo8Y-RJw5BTC3`NjDBx8tg04mIe??mf#JGgI-0`(9mDWL(^g HG&uhSNfl*J literal 0 HcmV?d00001 diff --git a/research/split-centres-global/inputs/complex-phase-receipt.json b/research/split-centres-global/inputs/complex-phase-receipt.json new file mode 100644 index 0000000000..23d650bc53 --- /dev/null +++ b/research/split-centres-global/inputs/complex-phase-receipt.json @@ -0,0 +1,23 @@ +{ + "status": "PASS_NEW_WORD_EXACT_LOCAL_PHASE_RECIPES", + "canonical_word_sha256": "79ff8e19335d5d5d1563ef0bc218106945d6a2b88ece53ee24bb3d88b2594ba3", + "fresh_edges": 248, + "reused_exact_edges": 2670, + "prior_recipe_sha256": "ecd793998109e76a139afcf5a3d83376cbc27f6364fd5fbc9e5645d129b2f791", + "frames": 956, + "directed_edges": 2918, + "ranks": { + "1": 1424, + "3": 168, + "8": 24, + "5": 294, + "2": 784, + "4": 224 + }, + "endpoint_adapters": 240, + "all_child_equalities_include_global_phase": true, + "recipe_sha256": "242fe77af077973e1933524fe5c7ff3b68bef14b1f6938e024827de78d954492", + "seconds": 17.302232877002098, + "scope": "Every local frame and center transition. Expanded scalar-interface integration and global emitted program are separate obligations.", + "canonical_word_payload_sha256": "be2d8d412b948bce50a0fc852ab4c01f57bff4c3c8272da80c09be5bcdf253bf" +} diff --git a/research/split-centres-global/inputs/complex-phase-recipes.json.gz b/research/split-centres-global/inputs/complex-phase-recipes.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..03dc5fbe5e54c0f5fe0e104c2d1b27ab6adcfee2 GIT binary patch literal 96078 zcmV(^K-Iq=iwFP!00002|Lnc%jwDTvCH5};JAT;xGLIrbSTuHeGy{!hwLK%OfW^MM zoTQn%N4lB2(VSixSySkWyi|V`8F_+6p%YeZ~yj}fB4`3=U@Ky zZ~yckfBA>y^S}Jt-~Rgd|MI`NU%7{_B7I{a^mS|MK_$_CNl8`7i9t zztT&;ba+|w3ht#%dKn*<|M0*4(?9+D-nr?4|#i?|LZl2nps{++P{{(yq5UV0;t(h)b{@zemQe^mCnIC zyML|LEdOnC!=UYdhRy~bw}7+Di&@^uh`@PK;M};m5n%MO30$`Lvdqhb#V`Y!ok@v} zpRo}vd-?eO6@GWm06pM{Z>p9(wtn0I>zOjWcN^@_x|a=PffL78y_SC_b!>~XTTrvo z))#oruG(JP`sigDpYZ6KXy%O1Ezj=CJ5;`2|4zXBMSxM*_#)5yA%LA%=|gdTZn-zo zob3^G@JGb@9GzJ$e$^(P@7rCr$2V8QJG)q%dZo#$)-O-&<*r&^ZVW4Z)n=Zj+wP3U znT>eWE+@9$7;tK*Zd_x`+hhA1p^#<8Q43k$5|}Y#76Q_=UZ&c`EY9KmwgesgW4oB| z`av2v1HMH9I6ViPYFMDPVFhkyd&}AVF5tFUZ+F`Y0cW_uUOm1I;FA6l?CmdH4u0Bz z*MpB=AM!|won1SJWb^ELOYiba!?6W}bPzf#_7Q#z$t`p#`A3qoNym*{R1KexFEiJ} zyh}dlCT5;yw|bVllH$Ga-v=2hB=-4Ox~~J5!&6 zduIJCQy~zqtLV%v5u6lOJiN8m)%W@P>!FyWJyJzhye#dsjO^ewLSQjpM;0zfeF^O3 z4yw^JfnDdII^PMAndeof45xJYxPQ>!h(;%p254rY6Vo<8<%-9PXo3*tO%2j z@`TGP#_}BAd40w2YN9vlD`s)S@KCSDS27iO@!GO++>(61xa^hL6{_Zo%TN~$_}IQ$ z|3)(ClRU|OCg^LQt;*4)22@aW3-g$%33q4wc(Bh3Y8jMuN5j-53krbG{Ke1e6cc!$@X(J+F2 zJG`Z&Hxs<5AvC|yqY_NHnjXT89GgJdn8$2{T#B4Cl#4nu| zn=3wgPj6v%*dC5x1bb{Y&qOf2hPWzatMW!qHN-_@7~5*H$sp&{oXs_nib!H@T2;R~A6-p&qnWJEi`S|)&b;)= z_1yaWS;p(v+u}~fYg{hm`FwZ?RSv}a94>Gx2Pb_FI=D*$Gu`Jv>jS%$E|!XOf?VVl zOHVjK+8>IgbKD^9mtXhG12OekD)19;bvSmian|bayTEU%)d61WZ3NI{smM=!a>%i> zjg!$KMRRKa-0bL(rtDTHDMDXEAM8) zluixQ>t2|`ErsUg7vB9*^g%X4kt@l2KNF$!ni+Oq4xMUdggt{Q_y^2S47o68e$8fv zv2V?cI%_on;IA=1u`?X!%&*9w~Tyxs6eiRuTk|*&6%^e)- zllU|q6HRTj4-ita`$$<>k;QPw56%RE^q292>4t`X!9(pnu74+`$s$~s50)>=(rsv@ zZT@Axp&=;BvKLa4#?A4Sl)4QKMGcJ`;|5O*u05ip#GcYPYiGQV=FYb>@UX5Q_Yc{~ zMJ`khVJ33vX=IpA+yOz6_f+}u8Nnc<&pKO`fUSBaaT7;tIM z1l!^wt`w{8ii`Y86BIkldCmmewJY;AdY)AZ5;MW~;6<=r8r4kj(y5oO!0qZSQ`#br zg)f3N`lx5ZmtK40ed=_wy&)LDG)ztmI5TH*P2iH+2?5PFH=Z>)vBPTTOs?JB*xwgv zwz(l{a{ejp+vvC#?OCqtzQlTyxh`b4X?=Y8PE6iLcIqm6zPwFW>_Kn$Y*O=D4=7*i zlBE2tc&-}*U)-iUS|8zE-Nw}>a$VsXm3vBoG)BHiOJ5=*Hbh!xrc8}S(NVoVw(rEG z9i(-G6JOe)E3Ontqu_>WwXn2JmW;8z>r444e{zHvW&gFh*Yec%uJ-x ziIrn`6J4Ix%zP|V5lqjLoe5Ps>6w3*>YvJMAKFY}rRVvQo3prP4NAE;>Bnh(+b1nf z?5O%Vi)*K~dS(8&*|hed7Or>;BZZmpq^CiUJK+gm<{QXYsG3y1+Wtm1K9Q@$r#KUz z^d$P#yTtOeMt?NBPr^1RhFqGn!FCU0e|YZ+r2je_6g$m%&Ia4uy>y6?=b9LTHt3$3 zG{}mtz}GLuzfbs0g)G7veC{c>eAaWowQt_IvX!UV@}j`K>4nH<7uoRjLi%&`?p?EH zGQB9-Y)xu~krO+sb`H6=>V}D7twsaonWX=}j-96OqD`_ajj&GcUvKc7b ze4K9ylWJX$LFt~7!pLbRZ0RsZZPm=2mckGYTKrQ&7@4hhd&V4nAIQC-lkQ3W@%WIF z-IMJ~YNhzPd;PYgZfHMFDfcgCTpnuo5x?NLbIplmI&E zMHcN~bw@A#AqgPy={~LeO!U{=cA$HKG?z*cmtS-DQ2UQkLN?Mn{Z!y9+4L1z!afh4 zq%4bS+1S>MsnAwGH8CFEExx4uJ{~?%e6hP9V5IVMkvi&d?3;BWsk8l2vgxc!zI*1G1v5h zO(Qup3NG#xMh9|eOW3nqL>`t5!6=fYzk)})0MuLo3O2dCNIV~SWZ-Rg47)TvyF9L5 z>jPSoIMb_N!Q1AR%s0Ora>8{B$+*5$+j55qo}98@j}>fqoZ@G$3~~W&dH?+@>f&4t{AAKUI)hePd($)#ANzL-z6jE&8m`AR&`Gz-ZT3Y}zm`zw`1ue#z78^TOBg zFfN_rd0~%u%|ltT)BxG`2q&^7(?B^u8*tO`fjoQ&vuS=Sj=wmI0TY>jj33 z92oxc6cBlq#|4rX4iX$K-q;?VcEUk|;}0Dq%_x#|kn6|RjSbR2cx#sqj$JNSFiDih z;n}2t3m+`V;*AZ)l;O7a^vL0sX(|NNzG}UieZ0?1(~f&cazy>(4Yr7!@%oAV{ErREjTrFj~JnO^Wq=tCE8ig z^YDU~CtIFU1VW5I!3HBZM?2N^bYFhPhM^z7Vr&V-`(e1n6KsGJk|SKy@Lt2%13L^) zi$OzCC{qkxFYHKv6XLBf9JdqDosGYd=$#$Ly(A^h>NM=J6!t)AVzEib_m2U74#bS` zi{c-NuxEE?BhzBWDEk;j?wxH5hK*1>Li%Cy^757!3ML6$nrLS78MtHU&W23W<41U$ z-r1K(dbGxj)@UGUf>MQNAc^?5k@RZZMeZpzx;dg5$$}P>)Yu|e5UiU%b}!bSM&TL- zW8otRT4Hv+{9t_Qa0kY{FdL3q!-)>87&7#nq}RMNtxxQ6`F$6wTReJN2d*8!sNkHB z`$quLK@7D#3q;KLsXXy5Yb3r@c#FfutkLkSQJ1Wyg(Li~a4SG;20{4?ww#l|Vh-cM zBYH=J)nBzfJVCiU_Z=u}-5ZJ((A*6ct6?%oT28TI+jFj)GwgJ~hB{s1mhTeG7^>k@ zUCP7DZ;LVL@_Bg8kheiNq+hJdT>-9?x*}b2zpt;?VWO{0(A1v{?9N$sQoCOlcTL zqv@Kqctb%jN*TAlcUiBuOrnSBA~ zac_*)m4HX;OegMDZE69s5%O4!xZ#q)9;?RM1i|PHQ((qMaAXQUdx#)?5C>7}g2{6r zw&^7rDG|%Byc0ZH!bWh6#xX%O<(7ueo^TY)sIi|wo>3&D4vL#m*FtIIdf9?yX!*mf z=WE{=%SXs$s7Xj4AHdPcWYs~>;n)m!&~alHgOoAMswv!q+QKl7R$;gU ziq+X}IKt;!oofSyxQe5rPzPEU5}oVlIH$T+crXfYj&z&lr5deYnRoyePB`4OV3LeF zj|Q!WkYBiPBN_aff*|-y6+{}>6iE=FLaJgGJ-2afOCh}1xK>y$b;u_H7!L&6^GXk} z2mm^~pot9S+|3#;-uV#lkV#@*yIc=eq7EJdr;ngtyGB<7!1Qt`2InY|SrUdAwn-pP zlMCt-7`*+H}`XlGar$)gCKok8#{j>Xiy$x?NX|2DzN>oM<48eX^mg zr679DnLMntT4G=#U2@C z3a=K^gMSkN%Hx~Z`o-|^RW{_}3#c&KPSY9%|bT2JTibpux`O4!9O;AvPtVU7$+Nz2q2+cDI zXBOIepvI5Sid}5*!qA=&>0Ot;wPl;+N$)yoUhi6!%2~U24JVO&B*bi~vX@z{>wtc& z+|{oza%W%H%;3hOmI9pY$aIgeOu550ON>%Dh2#AhNr)C5jP523BCV%17Gq21RYM)F z0F6C7)SectVW&@o2VlrOCQ0|0ERP4EU$)jEkCWr^6%!g`Kq5sw)jVrlPy`3*UojSY zjOp4SEhC8ZlSF`S)RP=Hh`j2#T4gXfL>fSv>bXKv2sx%#`p|UsvWd2q3m}u9NwnJu z4YU<(b&ku|O0DGzRs@-GUGZ`X6$Ork3UFmW zmd_=Ktb}_TzUDRNvi74B7_`R+CftB8exuEOH;LhosYCfvZZfk7xs`3-Hp|89K&c{O z6I;`Z^nsgb8zf|a-2lHCpOVbzRuqX!$Z)jtYZH5sVUrrAc#-(VO=(8r03h72uT<)} z?ih)mLx@Yr0kVwPDXeB*LO8$zfcjY?_vk0;XZ=2xQJRw(?nmBqiy;MRp<6=cyc?qd z5bakW{Y7fH7&7!^6tF5BFs|TPEu`GbU)i8Y)Xc3|xL!K1@3R%`H_BYhM5B8sMi*(IPtZNgGesR7+}mZh>ADvK|%fjsk;jyvPk2eQ1-gy~qZ z%9M_Q`8ke@v(1EBM*P$Oh>R$xG!e-fWuhRXJTD45JKYfWK$Zwe9b}58obJ#HDX$3@ z#+1_?6Mk0f={}2s2Cg4sJV&^G0u3=Ry=9*sU{v5-;rk1yas7DYmpDUPKX=>C1W1fQU)9Feh~&7)XL$$&1D3+TnKC;O0a` zxx|o*nWseKUIPbw^ty4#ij+(jjY_=hrlvW~QW~Zr<+>?!h6Pd0Oc#Nlqlp*~XWA3_ zULdY?wSti-y(4BaHBkB_stX_`ZgYk`#Pn z)l7-^oPrObBU13`T%(lAuzRGtrI7E-Jwp`yd+srp(d?ZuO3i~9t2tNoezfLf9t36B zKpGfP8wH<4xp2U=(7LkV1y}pAc+U})ssj2$ zg}DrVt+PCiGCX`^?HrEn&{5UQ19<6Mr6L9<4?klnNZ7?(aMbx;y(d@tI8f2%G`_nq zIwo6p?P)hPzJa5R@WIPN)w5O`_G+)%0$P>!AzdGZ?(81Bl!~~Xv}kY!NUr7OA}9Vf zD~QdaIMAJ;k!a#t#RW5Lw!E&w$6|#EE-QR*43g5|qci@dO`@nvBpr713W7G7cv@X& zRa~6L22LowzDjy_Jn}deVo*8`i3MiBB+ZCCQb`Ft8e~9|l+lkfF7sGuXWOvd@=9%9 z{C3{-A?sYov9W#5c?PK^c)+|I=V5g0CSOrdl@f_Go;CWlFY2l$ zrqG6Vxd^TAc;rV4(1pkJP^3^OTLoW3SyzK#4$!J+ z(Y|~D07bWBzyb4SbNl+NI|EcpO1tZmUY_@1+YBUL>L$*6-!=`;HqY7(V4K)(DCZp; zv)ObSvjet?6Htom5`=#$qEfbr@uj1~E@qpSXPc@DQT1#S4x^@9sM5-hov>@uOsKr1 zs4i3wxw#!-k{(03&BMeY@80I#$@OH{+dP%A%AU8_Sd`qvG`-^eV#H z?m?g^E@@Kfv@Js7bZDU|38xzWAdt3}*|L@Bh(%pzxaHUaQS&-tJIa1TX%0`eh7QDX z+2G-JiUxiiqa~(&nRN8!bc3r*S2f=OJx-0h_Yl^#thj7af=?A$T;5vv?ew`dLWr@s zr+Q!!rNSK2FdE%RGlv#;`7|I(H4CJZA*Mw;2V}FALv!$0C!_5GRh0^5{0yVhZBU&T zeslUHqDocfW=U$U9BV7ph8UN-P_Mm+q;8XVZT4uDAOPuAQJd3W%<-Hni4t?vpjE|* zl;<^Bga_nHt2@XwbE4<*fb?2tYrfrd(;$kFc9ZlW>RycZAYeSvW2v)zA{^0eo~dDFVdz>+ah(blbv{NTDyscblbG#A4{9I2=_5iOthU~`?U3G zZMu2U>~#CQ@I}Mo@7hz+z$&m;^bbk4??4*3zGnbAv-?O-YqD&P4QEG&2$a-Jj%_#lQ;S_%n237s z)M^po6Y|-^n=v;hBqc{GFWkMBK|!{0P>&~jX)mEOr|mFK(2 ztDT%4cXHyGcADGC3D`%_nlp!`oZ)`gH5Y3X?Ydf>xZZJ~>*`9^)!~NWiLNU>u=Bd_ zy52-_Tj#!R?31ZH!WMScnbs%vsA-lOtVwSS0660u3V?be0HBx%35ww8*o|ang)tQn zjo1((95|LS>NWal)uhN1Vx=CZMM^^fa>KWQPJOkp7`QaCJZOQ&-JKy#5M>IFP%E4Q zvAr|IP)Q+F$(P#RQi%^D?hJv44%a(F7;dr7*JQEzLu;mj#`E!Pa*N>Cu$Q2}nBk>Y z1Q(cTJlo+g1dV40CE^u}C1N8%$SWGl^NRL#I-A;0-q4Eg($->5XRCEKn@YawZ93bV zduJNrg>CO4IYw}b*g8PbJF_jCgHG!kmgee)!J(3bF{eWTa)IgWCX7<| zi=TtB+4`?KT>v9={#Qm1s^K$W#NlkK3XE{X1*Ws#c1L<)=NP!VBTt62%kD^TcDo~? z&C2qP=zO8VMp4qbJMyk?d^bfws$RTzfgjo;d2>O}Ktx#?_c z(o8;mvX!dF-k1wU938}@m@%ELO1nB>La0%cH;2o9^%RUU!`as4IT*W3(kScD*sazs zt(6JJaJDMl>O?7Fg;6`1CPLMa6V%AI&Txk~Pc*U@kL@tbA&qQr@PgrLWTUVs2z5a} z51&%u*D|{;B8}BXwqj|&sb!tz?Y7v20vgT{n94b!cKdF(1rBW0?#aP+j@Pa(VqN`qH5g=(&@DI`W}OV4yVxVWdp6vh)2!?Ia2gIy zlo!*_wa)X_^{I7XUt@~^%6tHGg_5hH zDNV|apH#zLKOL) zsyT?LD3A#GKEfWBRH9NF) z<*-0JDO7mH-Q?cCvnz;tTL1(oCf<0a)}+oJsZ^wN89Tavb?@ z1!-s402DyD+~C(9d${TTSe$v^Ybw-Z2!U&qm-5(#wm+l9IQAH3>@)ed3#f zn>3^uND)9%tKEjk6Y#1lLe8|>twybOrxS^_Cze+Ga^T>B4oQcdR=aaIbyMPA1qx$Z1%5xrpkC& zRnUk<3TiYA3ElFOAhj$#Y=QpucAn#I=vwGJb5tp|+t74)J)X84X%x_ZJtm)bHs8@i@h;Sh?dq2ej%(#$okhQ;!waP4fKVn*_7}cK2kD}XJty};bWHW0r zND+EZ3^SQ^r-hB-4VIfRCCu1pFSW1CknBN$aY$m}2{R@#(Oe3Q&*3P2^$L2MI zx)UVU9yAKyZ$%2D7|WhB&Iv1um~6pO-;{`31u1;#CkW=$S@8rZwwtCo8cw=n4s+^+ zB~zs4u###=qf4;Df$BZPT%%_e*DfuJVz(48ntZS3UxBWJlr9*}-5OzSy2wWFOy~5SNrW zTE016=7bS*LQH2`LR?o{RrI=3MZf2SGV2$LIZ76Jvg55^sCz8hMV?6OeW)@D_E^cd zyedyd8Uc`T;ZzSUN}57ZD3jr-Q0U#(($pX!YhW$FFzze@I^fq;i+%~3gZ^P!M;F?xj6w3xPbBo+= zGfj7k93E`Hn^gEZ?s1V0!kMe13Z!(j8&tTOwjSN_6V}UGtkRR2yNLCw|d zI7C{HiQmn!uffs}HPc@D_#(kYEc8%jNxdKGoOz_0Zf{GCh5CtTNh zI15YZbW0|MPAT5P(p6lqv#^xJ2{9=|`W_%yDlD9=kcOf`;v-rL#PMwrVdZ`SQl?7b zl%4~!yFoXj002}eP+FL_(_pKQQ>H+B22ml4AtV6_pJkMVK~H##ee&|4PD`!E2ppQ>NrXj`eFeZi0;7E09Ov=IQV9F zmvCMzSwJ?0DuR+|mGCXtY}}yfKh+ z9T4YS;bK3hu5EIJ8GyBr($D7KH~os5Gj?Y2c$+Z}cMC3%iEC8Z-Pz?YWTE;QWdUPl>x5NhTCNr~0xw%g8t-YA21 zb(8`6++~;{IOZ$^3L=I&&7kTti!7WfdqAuxkjzbTYK_uO3rHF|fQt7v%J5av@L~@L z3cMH6b4nN-XO_?I9!2yYmF&1L66j`-?G;-Y3ZJD1YjxudU=lmRwP2NSyr1wg^ z3%Fw)Y0J?T5Dt!Hjj67sK^(8w(u{6Dqc_@0hL4W9My}r0?LA3luMghVK-tBb71V~5 z<2XpG0+M#&Vlebo*$a~8ffNcKU7Q0_wQp-YF9CyH9n7lrgJUV@7rM(uE z;c#cClap=Mw6L}4ME#riEP`Kd)vNVYkmK)*7gh zxk2|vX*Tv+*Y)sX&%NCRc+fC^rPA@Aadst#PYv)A&)MzVUE`G|g)bBd;VXFQ9lUtu z>y9t>%-7jf{jUWcEQ)|uUM^H4%>^$k*Y*3KuK;F_$E*MA0B9g_0@@a=eFBn*er3M` zsm3r_{y084)18&CH*5Eely)l8N-Q2M~AbFhqKlgzF(2j+98%?XHpw$PwuWYWPXxjyp2zk`Zhpk&Ufx8?TX1Rvs-;a3e zQ9SqOMz{5%aFmQ@$}Oc(4h`#l6!W~RuW6-fm2O2&mAMvVJ~K%m7-TE~K{*X8*hqDZ zEJbFhC%;+MfsHsj7Jb&>E-92%Je1A~qgKHrdG zUL9?e&MpEJSUHqE+HU-4Zz@M^5V4|dHxPAYg1>`!xu$3NW8jabhRrpITf)+{#7LAr z;O%NU-T3;(%QfV@fhE|yar`KZYBw9)xp6@GE;+n$vp7sRrEm@D zg}-#9!SVkb7YhX9Z9&D|+cev^vY>k;v z+?!?V4!<1bdLQH(41|V~M!ds~eA1{jCu!U?q}umQ+LFeMmt;*Ezuw?uNux8EHyYxQ zxk!(Tr12`{fz2uCpcY6W_=Wxpi&x(t^6=V>+oax=O`DBCXgtA24Y(Y!lxxc1t2wa2 z?Rj*m>F$STqV|5o-ywvNF3joqhWg4YB1O=?%0y3MHUo8NpKr@azpMOAFGdI6j>pr8 zrD)7qj(b0}J-@nv1cbT@3hKnm6QW33(f7JIQRwhA4uTFpF-&|$hQflS3s~2pAEQ@r+P@&$6HfM3$Mv0 zs-A-5G=Wv4#I|f|KiZ33O7I@zaV4z>gg~u$Yrge!Y-o>NO+~uoq8;zyAk+yeb=Ebx4$R%ch$Q&;o-~)l; zYtaz7;Vm8NsOeIzM4xAH!`d*GrPbMthB7}IG970LjRR;9!BvYgZ8aETdrMOnIs-ER z1%9w8k<&;e{j!Qtu5j#}BS(cddIWDQOzR)PG>TKl*o(-u>KHh^hx36Hv*~r_BYbg} z+FuZ9;H@t!{V>4`7+Y#14kqv_rNGp4V5%m^2hxWMCJNpc)5IyHH-9+_CJOPoqDQB1 z7B(D4L%#5tOH2gh>v4ZsD1^Rs%8ik`dLWIkIWYWm4d+NRyfnfK zSB=#%>oL^4@!V$k%JOSB!=cnxceZ0P4*cAGG_3V`E)KV=#noue;c3#&-E5apGrY`} zXoZ_J1$#RtaNA|NTO9&hbT}7hvF8dZ2@z|+u-oxl5jeQX;%T_j9MTOSlO#{Wqv}K^qK2^3wtLSDGH;=SkBm?RsXqe!HrjK3SX5%V9zkpzr z1lJa8S9S?ml34TQxxJR@in}@2dD=X)n%focU+1_0GJWx!hwFT7Z!z8C;rccoD7h8# zOGzL!#h09ZE;w6g=r-d^YsN31Jz>8kSA$aS3gb(lY6QEw%!5&06gMo8UeF++R|Z|& zdJB;v;>ZZZHOoNPQ3zguiAK~5FfEhUMyR$Ad0fJ;$}uPrCREUv5oW*{TUa$u^nVuHy&iF*S_J?2{O@kJe(!qN^W@%tDy_mPQG)3mDwZ<}pED|l^MUMn1l1maw< z(HKaTK%*lZ~_*TEX7&q}CScvD4HnWi;)er;bEKD!$c3Za(XeC(Lu*`PP?tO1f zofIS$N#^HN_uRbWsITPv2sf{GVzD=2bl8H#iwCUI6M2;tqeEl#6eTp^9aj!1;v^9C%)f;=}OV7HE^m zuy(gO{3Yrqi6;N3YXmO#@ZcW9o9!<9670FE|esr%ZGn8=H-ftboN>7{`&=jaExOX)D8S$6n`6Gsx!ug|% zkLHgHnkB|$jBM0?CO>Y+ru`TE2erX40Z4ms8<=vcelt{gks3*>A1RP`$;J?biu)*Dh-4arz}9+6eY%4Yq7rDtV5 zTTiOP3U(M#R&FrZC1}%?U7w8m+f_a=MX95#;0Y`}n-tu~QqN)8VFeSGl^d)brF>=M zCl^cL1DkRMU9*Bmc>l}khRD*9qr|ou>VfjQxlL#34cA$o(f$ootgXXD9A0YaaI>AI zDjN_Df{46-TfV#HEEBefEy{rwqvQ>v=un{4jriPKUO~NHJ_OOX;ptmDVO>UmM zj0H?+!(rA0&x>lk?$#NHLsJMaK+mGQI=?vMD5iv$rZL;&9dEAm%w3udOkcXD<&3la zB`)2?txqpiZZT}`DkY9(V302_u=I0SskxplbdFI`Q* zwXH_UT^j~0;!d^ANAAd(EgrKyCPg*2Tt<56d~>}e%-lE{o`A`7jcbaA$5BoKB1Ih5 zKs|~QTyl8-RB=;9G5COGk_#>=P><9WuQyK(h*-`NZ5n^iVmO6f?d7p#4WwLPndO4Z z6-#T)8eG;uo#iay-vjBz6xJ!x{=FJu2A_sR$P+ZQ?h3ipEUG%<=sFQmP;z|;iJyJB^N zlm+c9C~732QhB_`oyw47B=^2iUb~C2anKbrxX=X>s1$LOFIn7Zy*&4=X-KM|QoOEe zgPaTMOZ9BiaAwENZna(4HW%>JYMRN=db@En(LJEDZ`!T4ySB~q+U0UYAQ*xwI(E+Z z(fTQBl#(W;JPrUecVB11Y58hs$S6w#$oAws00U` zxq^By4p@To1zypD?JWnoT|+piJ9X6iiFxpxqrMIKoL@satY>}koJ*kje%8+kMR2U6 zDud4iW*HAuqLzt+KBATxp0`YxAv0Xd1mny*%T#2Y0+tzRZ;G40g%T+=wM;YeOmkyu zbxae64UE~}LWetj)G|?bgVqL*T|*Z*QcW1|H0n`EMw*FJd$X6fxhbn^R~+5UZQj^a zD}J3v_T6)FooD`au6oQ3xXy$Ba-CDq&brRw_(6c>u)YQReXOIy4WFIOk~z@K3GZ8G zRB}ynuuMEdSS@-x;>;W}TUEBEYogvqD(?=fw88~k)J%$+T_AAr`Q-uioI(8yK>Y)N;;V%EB-GyFd_l06 zIP(9#09sq{xSiSJQhKNE9Qoyt6VphMY6{-4tUdIaHZAF<5L662nyXq%oQ)=>EqdNX z7Y6MUPd)d* zLR~r>Vv*t(CZ_b;?$IE5kp2h0*b*wWgU^eur9;x|b{V099PZDBi9&tnYX6cOVN?d_ zNJaC>@JKW21W#bbU}A)a2evDeQ0W+ZUfk`tgBWW+HJUGS7)cz}H+>GVL7?RMTU2yc zFUG`G{w*N~sSI@Mz|emK?~W`!bPX?(*;O*@m5t*39T`i zBZ3$45dM0kCp`?{5h*~TnVEZ3^jTf zrRT616i67kNIPjVI-z$Lc|pX<)lnW>1n?Rkh^yB&Ez%Ffv`4 zGEy)q3nR-B*T~c49P!1lp-1VV+fBzirmIsvpiG8tl6oOiZt_%_EGr(}wT$<*EA1HR zx-Whbh9%!XJfD_aUQmV~l4&$QsQO95Rbt`Z&A7_*wLW=bt&i?WjY1j6kVErvUF$

nN8{srbjq1Bf_Qh8gT`im|XDVc(J?gg~vf(MX$uv1!`~f9)K*HG7 zRk8&#F$0NZJ_D-kj+Tm$Kqdr6cQ={R3T12O{3VSD^iI0vYY_JQWdc`}&Hkk0y~B%$ z;Es%_@eDe^0jUj_C;f_wfOV0m3T=y&ndRikvg5i-bF!?0xDpjaI^hQpuZGex5$rVzX9MH7|RvYF-U5O*36Ye+l}2D&c$p-8{$heUUFl%8syBhif+- z^p0_xsk!SgmjoR4H&q82KRmx`WwW+FQeFtKX6~j5zNFJ5U8s^n%o16(lwfPo}@Ar zjS(GUI$mL;pH<2swyb0sTB5=S6B=|KyR5m+tbSik{HfTOwU${{F5=6IiApW*?O1R(^Gv1!^}Wii{ere#{Xoz{iWnm{W%t zH5^5_ZlNQdz+-|g{zz~9VjqouVfu&)3Y8JT+U-LfV5*}Yu{0d2mZ~_m-6iZ|SEU() z>^~B|pd?h#@ZA0LsQ`+GFNa?_ttHv`whz==PRN2ZOVk#x-KE1 zLQsjnSfN)?2L``ed$&mK1(F}&m<^+Mi<0Y*g+oEa!C-*GuWyl9muErt5fpgJ%8$(J zmL;?k7=EP*HVzwQH7PLMfg4 zGUS!~wN+kaJKp1lT_11>K($KNYzl4<*3<@V!Kk?c_H|U>w%%}D_)*LWMRwrL2dy1syI^4hf-Lyz=CUcUc@KqPWP)n0UhB!Wsi2u!Z}y~(8<1cCQ+*B< zO$)a=wBWpOnecYNTcKzdC43K?rXWnk=k`{HJw(hQ`_gjkp`e+ap0k6F+on)Pn8KPI z%N94@4Fsn=s`a3Uk%N9Q9~sGW=(?hhn0~BQk1fLGq&;!O(ea|9O+c?xR!8IXSO$)v z_)KrU^eE1+A6$I~%E^%g7p>2vzyo>E0*2KhEBdeoV@jqbw4yI)&%c09R`fxmt5PlY}Qo z<8Gu-h+Z$FuYj~en?LG7H`GshWhMg#*-SW=u3J}7vM!G7snc z98NsrFmMX3b}%E5&ITQO$OPcIqsXFIM{`}4zr(9fy$m`D?(o93Ms9DM)-{ZCM1sAh zJ@{R&Vf(#aB=L&ey2BW{=1k+XsA_^~RO>QlDIb_ijbnwORW)Jg)1 zh0Fpd-JE4*fWpo<2T^km6K1?v6Rl7m!w?n#bMoj=Mb@ zD=)_qn%y{5zMc1j^SnCmxfa~1ilWw`J|HEATemyzpu%lluF_Qlk9r--B9TUzWIXR8 zs@qlC7ZG?jnk+F?=!6UY;5#o2voP3onE`ev?>eG1JaiGILShf4(U>_zqw||6a81*8 z#c`usN5BISGOS*Yx#eu(tp}Ub{b^3tprWZfmdmqC-Rf};OVgevuhZXzC7kkl2fe$@ zYb>$OOeILOtptge8xSv)I4sJEdsApvi791Nn6c^AI^l_T{g|^*)6#E@T6&rMrEm6o z{nhIC6p<(k!&CTFKtHevyNmZ$f*9Dk2A1inRU)-ngoI$&OMgyxf-Lz?Lf$^^@Tm8W zVy^^&CT9W*f`P31bXOh9s}t_wXvW&$kAw&W9+4#`o_7?$H!Q7^JL10Fwu;Jcem&xB zcUks{<8Nw;=eX8opTjb8h1vU9YPqY&7xfWq3YPWiVY^F9=`&f43q!i>1Hx~#dI6OB zUcRh^VJdXm}D(Ko5rAoY~YiC^ZlI zuIQU1-VTR^3ZXn-~ zW^O~x^mq7SqkA(-@Srp<>6tDw7a(o6G!1~ek;fFtuCE`u%AqLi=)YGo*NiQ5+XA=wp)bAOvxeLU7Ktm zx%?QRyvJENn_Q8^C_}6D@;=5wLrAXjcxz?Dxm#@EK#LF!qUKHUtFcc@mf#d8eWK1e8BuUI2Y3({^awz)P2UQsccIuRtmTIScSC0d6phPmBWj zSzp)HPt);Kbj)d-%ChAK3-Kqn_JIT!xcflXq`WP-6QEzZ7y@`qAPolsl(P@Sm1%PP zOdi8!nE225a4Ftm#VGVfv}6V5z4#>Ta?G2jJ#u=HX1A@Td)guQAr3xpwqR6(XP=qQ zHV!o=BAX2zc6)xGT+yvJ zrR^gVWO~Dq)3T@6P9d;65`h9zbE=M#b?=ng8t$)RTs#-kDh4&qN<5@N$%c9Hz<(SI z_>EZ=Z#lCS=HiT-5)k1|v+deBEJ(Z1S%<~5%Nc^LR^FqDD&k7R2J>6jPNJY4N&OJC zTj`+PJ6;2AJZPtVGG#FBaQj@u?67_c#{1r5_998RJhxmviL5utqweK4&QZx1bHMQR z7GflnTIC|Yk?{^vC9AwV?E?!c617e=)ll$7dbviq54;5xyOl{N1)~xe!KevTX29oL zM*f4pZ+exL@>F^RiJ=|NPHuG zb0k7YC7DPHZt}e7rRE4z%8sXInl~A{N)joOI zk$gP(QLGx7!`|BkQ| zWNA~K4l9`h_Xa`Qj>~>UuXkE)Zl$jG;AXCO+hgduO#AH3+ogo9M^3yHZMorrjlAAU zOHzPymGXdExp*n~2LP=BD4h8kfU+Wb5T>D!sYLZC!etUY|1Gs#U=;!jk}f4A!3y$U zL*Vt?&iJo}1QM)WHGOd=f8thh#CA1q<-HabEIh20&5*n-H#u!<6i0XiWImpuD#N}gyNT2G%oxRS8 zWyI6hdCrBi@3WrgRgY`bTp6u+0JS`hntG{I*8{cvSfy>|a3cqvMR5zolC>mm$JWm| zZaeIbflnlX^YUszfRt-)yB}ij180cxg2ZnvY;eamk3Jz1sXZyHRs2U`CEQG|!;HZx zlA_Z>N3|da8`SXCh$3fr$nCH@$_(Ng8_?vEqF96t+>!Ng2RKK1g2iu$0%ym8Q~Q~` z*3A&GgdV7Q7v_+o#NSAnoTC97Trn(sSRD_!-TiP3o(p{%?p2rO&T2!O?_MxMCTHcZ z2hRyc?0%g3SiCW@R8`69mh(DsMJ$>6mp>xTuBuE3Tb^De0?mlC+piFAHZ}2@uqC9M zGQF@Dcs|#*8Zo?d=fvt0-25nRdd((!xPj)drTeviWG^-X;TlaGHr8u;emAD0aYFG} zSg+cDW+bMwZ!1ua19TJ%qk_R)EbLLZcQ7z97r5ctO?X4e3r_&ITT=1`I2Y|#;LJtp zwf3bt(%h>acgO1NDQ#!fF^^sMp;AH2>0@;af*^`j?f;k9A zw|v0Q+J3mdOXJ{up1-rBckF!be}-Ki#ZJApS%eODu8>;PS@M77nr;1~-N;32N1Yxm zrkg^~be*30ik>-D(cevrwvH|AtHiP!=$X!*TZ?u_D;BjCyKQ5wpqR{T7^?xd=QwV! z!}o+bFYZpo0l{3_X`xX`zPRKpmXF~A!LNX;3S|4`@v+Bv)!lSI@)&=w6|Pd7f>vl< zX+Ss{yqq&bRQe&)v)I}iFhs+1iIZSnyF|xviG47EgPM@A4>Q0P`j4|<%_wd^+Z#TT0k5*I{-15DP6i8|y_b5C0pr}ymko}$9bKrUQqefDW^jR%!SyZ;Vhw>r zj(e3I#4}e$xhrUIu*KUKrkFvm;Zt#3!@yx2*BxmM;+Q3xPjtok0gAZQnTsUYGOky^ zKg$!rUzEq^V(A{RNuNqt21V3otx}`+g5Z!g>m||L=RR_&iFh`=o_FgZD z3LWf#w#2T!5f-|*WXCZOWz6TM}=L)DnLjY090KynLvU;bKv9 zC9i~{vO2#>aepRqYiu}(oIWYpIJL%xem?vsw+MrfpAVkrf~U^RuEvH=%|>H^B#n*R zQ5El03qx76>1R76XT?JM6}xXUuowsne9xKXmg7`Z+$O2HK~DtvBF zc&+K@-?JzDsPA***nK1!fuHIs?mWjy8PI%1Z@vMdtyre(=>UIefQX#p=PYs6IM(Wi zUc-agTG(ACS}OKim5sF;uM%_@6*%0`wY*%YTrHN^$E=kN%7b?>Na;Ri^+$ zZuWsX^NT^8Dr|X0Ltw4HVAhFH9ElLF6=qH>b{IG&yeOz5I z*ST`NUOcUm))XNMrOHQ(9QBZ)-@R@yO`@wGX)-qEu73R5H4 zdL;jIqlAT(4csIw)by`6e?7E<*=&z%3mm2b&#F!6k%)0{GGfR0XmNqJ{I91saX~Wz zU$}j^?*}*AD}xY8FiK2p+gleV9bYI0*i^dNjW$vJX86@w)O-f@`@!1Hbt8q)`w|?= zPzI02XD*27H8|AG^jRW0v2?e8}ov?+eWz`1sar7fR7qB<{DiaDL#Ji zF<$$5;U^yBZw{p6FnB-w3VEiBmzlQrag>^C;xr2MuZipJLUi{nL@cuZzvqU)laejQ~=ML!o#?J2%16)@===6K5 zYt1XCo}p(M=;>9O-1J6o%5tDH?bP$vx`YD}fQ!WC*8+FPHh&|1cdWY{bQ)vy@2KeQ z0UXi*?W;szjvFe250X5FWpDT0Ur|+XWPDcC|HT7Vycc{$d+oH)P{|{+bL;vGoyUg2PKW2vy{NKVVs3iw2_@BMd|wzw?jwC4LrF$n zb6c-lEw0h4wW~gQuyJ@zI_5;T9}!bE)5x7w{f>5bJ}bOi3UcH)F77Jf#in2hNDsU7 z8M?*EMKrreb96Du>B-1Xy{;b5sIhV3)3H~-8~>UcdwoJV>zQyR4FmU~;mS9=yv#7X z&vJPT^(@5Aidx?0@{Agj&r+vxUe36;*sb94)w34(V|}4PoN<-phKASt)@Tj~P_?Iq zA)RkBq~SeJoSke~CP3}R{3;VX>VA*tN%t4kFp?jet$k;_95urdKQdnCITRypL2&eJC-Vf9}M2A z0>H7oUN{rYMth-})tv2dXfNYhS#CZWG}qCf85PS~qv@ttRtB-Guvs5F|5eNHr}5A_ z2nJojM<4@!L`Y_>+8aB16IWUDR!pdI*vlG&DuD^F5!<>+E=nFKqMEVe3o)T5H;7++ zDw11FD1;=uGC&g6vjTN(fwD{zv%>2IGXN2O-Q`PoV1RxF=J&SZBF8L0a-7{T0>mgT zqZ$wJjW$DcGeC4DLIisRa^+-%X#Dat%X{H0pbtBjbBPe)tK|pD$m7Y2{I2ae<33QiNC(TS{b4{R69T(u!ReT~vRv3n!3R zygSUFI3$@uA3w?+a@N+ z{c>N8badt>d;75!$|(zp^@jjVAd={{F$9(wHq52?j)xJd}k`u z+t_fkldMhcBwO!lNoL)v#_S|h2YGofB7{RIzlce1IPD~VubTYk7Sr!4C;#A4Hcaq- z-~h>k_lO-v?^ExQF;BRvXbI1cqyv8D;^>~w&*1<`P6VP$Q{y8vII_es@P=d|8h^S| ze;LYx^H?fp&ngI-;(m8le!0*f!>7)lKRuG&FmOL~dc^E1&C(2-?1$0Yh}5=&UM^fr zcS6Oys=e5{p09p!pGO#O%*>rdfB67i-{+YN!?SK1nsfb`xrAQJGwFcdXfUXoX)zk(E-waSbcx># zw##XQM}+oDemRg`#<&pvX8A!M8ynU#ztul2HvHcH$Qm2kp_v_ZIw(f{k=k1dZYDN_ z4qDl!tF>Tc{frlk4D^1Y7mSsl3&0o|ORH0Y?;nso9d}I_qn4H-g^J>#RST7sm<1 z>ki7IkHKoztnaIKM}2t#-{-c}coMxK=Vt_*AGj)m!#UU??m0hm-V`y=T3&pg+xb2t zG2C=mfFqU9)#jYFBQI zJPNv6fvgXxGJG_UVFJiLYdVyu5THc){o3#3v!Kkaj|S2R16k)9kHb$K zAPa~DWclV=^kOWgT#MVXYwXg|B+p{Xy>v}$zyypDBwCllP0}IS%xtk+3>oEXGPal{ z6j~pv=NP@lK>laea|Yv{uApQ*vU$HKz34ru1Ae34ueG5B&l^d16$~|>?r*Rs=qQxI zZ_oq6Nfy42<;-w(fq@qwHn;sPMh%NRK^hE9GU3AesYRZ@DnOJ2GE4y3-#=MSOJ2=! z$*^bkPtL?O-wb4w1`_wcssiNnM%0N&donfGr^oSrfM{ag0>om16Zx_Aq~3s`jP;ub)cHeKIPKEB^t-NbdQ8}L7Zj%7UD)-J z``0Lj@qOX|)Ud9r!MjaX%`hF&J6E7lHI8n-(sym^iRe!+`JuNI{=wHm@!x~aZ@okE zALqvgFAanDV@3VHGHwJnxx;>24t{&hqecMek?RH3{o?-S7P-rEZv4*uiEnaGNBnMV za*tW0Lt=qyjXT`&=f%wlEBT7&yu-gPSm zv{Jn5bi{8g2GqSSu|N~VIG9>lY(%30!gtgszAr3QhG}O@ zQE0}U%}!jM8e9KpCo^~Veu)T@gpKvX=;^mhq)8Gs_HC}4R8?m9)}X6fA4Fp}%lU(p zCd3a0Gduw1Mj_N;8cRSA9_WRa&v4yeA!)DuW2IY9lh^y+7qa7epe;IsrMd?(Yh6CbZNc8zuHXwS~{_b?`MlIg~HEl%|r z8n1OSBW5=hm(S2kEcER8R5wkeoC_{rP3Mu+wUM6Av+~eo26T3>S<~`3V3`*=^5tA3 zb=k|On|c>|vYOFMXXxHV#~kBW@zBMl{2R$?MVwk`+^gwDmDI!T-12!|`O(eG3cYZ_6Fr zq;Gf2*Q6rBar4t}&hJ!5I6^=j*5HNQAX`V+=j}m$@G^M0)-7zsfeiWk;a(U}UA>VF z6MQKVeBvHYlEvz4{m&~7Ek>Pa9l>u8LrnBa$pjxH#(Xb@+UH^Xe)Rmv6YH>mAUO`+ z4_$1GV#ApIQut&&Q|zAG68bGq5s*|ORg&TmTf{BoqLLCFV((tvHLO(_S`YNt<4 zIzkOyy#Ap{$9FowV208A;{XrfSq69?=>V^FWHS1{8=Kwx>8?AVcNY2CbAI3wHW%-A z68W7wznEaD`(kpi+T985Q#{0eVpHs!<1@V2udf0Ho)5~RQh4`{BJ>TjH>30@F24?L6SUHSSNw zep~u$f7{saK?fLy(fi{7kLX1PdY|Y3zcu#r2k?Ho*zdqX5R|ao(l$5BLePB)%M{<1 zX5exh8)k$ovxn@kr(0gf^10n-Xk3L_6J^s z^Ue7A2k?6fuqWW-1lZpkAf{pXexm?UPI=lL;2R4No66HzWuS$z`vCE1fEP(Jj0yVX zw}b+a-`5Y9XTN(T6P0uN&FvcE%DeQJTz$J|`}V|tH7YIO#$7Wb^Kq<4e`wu*W$F9$ z`>L+)S1*ZLof`(Pit?QB%+>pV(iG2p`RA`emicJI#L&>N5gi(i2jF^+&+OEUI-?EX zSe65uis3bZv+GMWt;iYPo=`+;UtY-OHti0!#L1RODiZFb2Po{hH+0$b@^2tnI8-a z!$G#rZSqiWr}#Yda~U`@Bsz_s7o!QJyN#bdH4RyPVo-mGGko;YFnWK8Ge`6?1HC`Q znT{U}>Nh6Npz-YsSn_Fa(AR12PS~=IpIu%jih7>B)bj+y*Xa4veO^|>ztXahFYg`LGlFVaHBRBbmuD5fctFma)TzuWYSKh5zQA7rcrkRLJI{PkCLgRWk{)f0 z5}miSTht;cT)EvBj3I~qMu&|kSY$vU0j|^{mZT~aAZQeS`vjX>qW)ko(*s}vU66D@ zb(qEy9;$o<2=yhB-S<>ZTn!LtPL|hZSYRO-sCP zgc!dh*EZs3kYR{;HN&Unhuj^dOFMpoXjE8h`oWIrKAoi`Db=Wu{NqeYg1QsnX~l&0 zpMq|S3+sMb^d77XNQ6N(5mx*biOX&iNm*ZckbHVnRVrQ@0A(|(opWnbYJVazXK{O02idr z?5^l6ow}{q`SGH2H+8cs?XPT!ggLLN+|7Afg`w*we9))Q1v5VYW?d2qlZUfVf-9&W zX%FmY1G%Na!$6)byz%S8n@z-HYT=E^6a)IA+^}K?gr5hXIxN0iAt~Wy9TS zcDXUSbii-a{Wb85?u*cV8^9~~XB<6rT;m!`3e>{av6vZdE->*z#O6>ZZX5YJ(uu~& zoay|9A)?%gHf$($|3qi}Z(vrt3>m|$_S~`NM>gLKq?HE}ZqzdL4%6C`{*fJP&xMF$ zwZ?P+a?D4X&Mp!#!{Q_B=?1N7mXG{lA>x`s=l?t*qFA!09Rt06kkgjt`m)PvGGXQg zIo}GO7l&_)u;gotebuiT$qtQQ~3?LtI2%pbZ>ZOikb z`m?KZ0zSil?}zT{{K~Eo+>T>)V4L6BcAT(Y!8^&Bne8~^{2DV51X3)$3j*cjxY7YX zbHQ4#yV^U6vP2YUyu*h^;hGm@j$qq&2WOx3gKG;Q>OX#P!VfwId_Q)r>2sNgj!gXi z?B#3*gHiv~y`0~Be%HobG=J6-&zxV+!0!{UkEt+FE*Fk$_|6vP?EK%`x_0)WoQK0e zInk|rz;7%JY>k^hGAz9GA1 z22O;5=>XsFxSqW>=fuZntzD~u!}R~kcWuy)g2Ca+tdI!@SBk4E4tQ)== z2(RCLE|_`(%svNOp^VCI0nFrJcOW4%Qz|m`TYXiZ`DQSUFqrSm!d=6OClQBsS&Li4 zm9Eht73)Z-OIJpzMB_Lg?b4i3+U?qZZ$TMeZh5KJ(>X7a1JD9FLV4~gk$Jtuu`rG7 zJrS`pnx*$rO}xn)=gchEc*l>AC7a%Ct->KpN3T~;UD&vT2Y(JU;j?51`2qCY1bThN z8oF*4>m#A5IrJ3a=TecG`e5`t8@+z60_d%y$)y84JDH44PnYB-lS!#xR;Fv6ijRJ5 zGI^)^)0|AsIM<_fApE$KdRi?nc6kpp4%sdtqrK8>wc{hU7M!?js;Jp_X8p)fciBza2@8-gYq`=DFG&~FNt|7^YuktPAZ_8Jo z3uYDua~tjcvR0Nikc>a1Kv}-i*GSsYOc>{p?G%*eIunj#nXoO{TT8Oq=0s#iJlQLp z6REI``sJL*>XvrPPm60V?4b1Zp|ZidbnZ9ZyRls`;`*bzkZ^e0OJAic#8tg@R)3Ts zS@XRip;N=aeO^d7zOZCcs9KF=z)}lKHlgYnZ7zeo7`;zLKGxH%7sqe9X5+~o`xXu6 z-BNp%t>Y(nz}_d~txE z9N5%`T++XLVDn509Eb7yc`5Ld?W8pYPWq>{lNel>VsKVcur(i%I~QzKbz6J8U5!o; zd~*Shuh$CjQ|mm)(+?y^H+`-4CBvb*ScjsMmZ z*#DmK-=hxDFv0ud0QczGVe~#Vdj8({?}*=T82=q;2!i^RTmBZtX$bvY540Hvh8*3k zr5Ve`;gNV??E1Jbe)1%cTO=q1#Z*P<+E46?;LgPl3^MPxZ zF7ZN}<|)SC+2Y=ea*my&1ti>a^Q%G|Id^EKfrM9QRRMB#YsN1Nw&j5I6F{2YN*p+X z0jhLx72+LT8lT*iIKM7N6l2aDEpjYIG@S%`=OQON$Tda;Yu2D&ji=f;@hC?whhCd_ znHS~sbT4a^V@)N!ann9#l=Hp#ZEXM{{3yl-^eD!j+o3TWV}Emu=!VhzZDK?*$<-}K z&b%10H97(vlzoy62IvyMg%X!HA!baIm#>I3O=)tn0wWJ`n!I{qg|XHVvl^Xe?~_+y zoV}1&o$9hz&tEIbixM*fy&u{|d5*E4)G&GCHkDeqU2?ZxUNpdv5vpV4U1f6zv^MP=LC!L_d672FWfD~C;z2NyQ$&?!u zD`jnIu;sbIb}37d8#K$iLT+%5PyK`3U|`_)#|<9wi^KT+Ms84!Q0))!&AUMp_2vfQ z2p2cVt_OP3$aL^ahg~puMyVcCbK7eGNcQKpd~RsZ!=?eyjs|gQ1~rVQ4Kd&n22~e} zOGMKT;^&0%(+J-!M;JoIE;u>;oo9+MX&AnbEXE9pOzWL8tuS%sXnp2Xh{6`z)4gDD zu|N>k&+bM_Y%FXGT7L26DuJ)paL`%tgDe*hu7!QiJIKv=&?j(&L<(LV;Y@4zX-6oA z-xd!F;YXb6og?J;hJTVH95=t;$PvnQhy4M*F-O?!4oBMl1bSM=>>MF~#14Ml<%g-| z5%$%=oXk-!^|WS^bK{<2$>*ILFyRKB4j95K66u^tB#CG72ME z2TictK#ZfQNs|pmjn;@?d^D1I0?F>A$&!%bqzNo|1KwZ`^>DLCO%~W^~Lh)vcn=O z@>;_bKlqpVNI4|EG?Im}4xOnodoo2?|5ZLx4#_luWS40T)3Ly`hKdB<*{i%Bn`-^* ze54rH+8v-A^O2_AWu~P1UW)}B171{N?<2#%%5bIJDn)R7HXyU{PaiA2t^Ok>c3St>)glB3O7I4WoI(l+B!1RcU=9gbD_r74V<^JQ+>d5yPNVE? zRJkeDU^A_-!*lNGpeMy&U}7`2SMc+aou+cguX--u93obSsg?R|V?_V9yhQY5Ck}ji zx4oo!v{j_llwgSlWg#b5Q^Fh+OwVgtVdCp*O8vo5W@#v^x)RiCQEW5JtxP50-~pss z?aP?sC7MIK-m8<8-t!rbX!gCN-FeB@qEDysDDJ(aBVii$qEEOFV3G3j*+G+9uWr&q z#YmE?D4Nok6;I6}D|Tq_sZh2-7-QB^GP#Q1i=S3A_;ty4s*pXgH$69cTj9ecQAU4u zMy)juzRyajuU%oCmv``4vw?2A4WK7Af5W`C#a+Xa30C%V4x z?LTSDLrp5IP)$E2qi?hSG#<3hmHw5^dFr^l0xUBfX z%ek_#mB(K@##v}IB^<#V&4P8a86wy-HZfw)*e*u~7$=ku!{07H=u_`!vmqLOZwap_ zWJsNf9QZy_hje_-ab?I!(X5?G0T-+|^M1czV)o@N06p3j#AwjjA+y%ozHFU!CU~%;tXEqEYw>;Atw=KJO zHYYeEUt_7ADb^Bx5T&$u!t0I>)e8f#JN3Z@ zw)$tp30~*OzVZmMFFa>|{UkXZ@f&l3J^NdJX)wX%1(Oq;v_SO=2L22=!EcTOHz$~W z(>U8aQXL&)5mBo+_@TDOZIj-!9X9w8Qi;9Bn@)6HYq%!Ja;jeW2;|kW zWO~WA**wl788W^ZcsGGn7xxHH{<$~wn&WBppQg|ymm!;R^xg|yeMK)5T?r6rkdd39 zunS$^nV#6dF~5&YPp0aGVoEjXh~IpQtV_Sdq7hD~$iJpeC>JBHwSKL6WiHdZN|s-I zbAmHs|39kC<;L;*&@$I|nxB2d{B}-o&i;61>X|yBoZNptB6y=&f{DqigmTlN-~)BS zClB$~veV{Ip^NVW{WyG|S?K!KC@^x+`;jvw&(;a^5x@TwbwasBZf(_R%d2mlDY{}R z7eV`jm`9)i!i}YWNqtKWN6W`i_gi+U^xU&TjR4eAQEnzDnW%4lD~{n29Cz%(s+7dX zkz2Q(sT0bHUZ*3FV|7A>FQCC;5Xg{A6Z*YQ2tFbTY&CzEu9u;^>RpoT#^}P^$WBWl zDHXnOeZ5D)uIo{W`ae+Hgoh|ooef?;zR{Ke-kz!6Ry{Mi+%D)76Q1NIf)_VS03Z1E zBRtG~m5;~FaEo;OA2Z~dp&tkD)6I~-*i974EnEzo&2Akek>FZ|kXFfhE|Lp!Dc}Qs zSp6Cv%MbX}1HB6v!|!~cpU9i{mvS5#{d`MP8*vy6y;jAdUfz5TpMw&MEi&Ly->5r?y|MbvlqweaGfBl%#Z^c|{@d;Ck(9=@Yw=6$W%#?S9a`w@}sM z61Ozz?$j&1f|T7oSl-`XvxCUl3tdEm<2chNHbHsNn4-@wFR=AYv}Xob9<_SVkM>OU zcUTjII!rU#3m4PIuY_Tq#gA!yEYB}+MG z6-Dn@#&}+jQ65DGm&gUagnx}+;5VOYmRrltTsDr&sO)N(t#mG|0gMT5tyeb!Xi%y; zCBYR5mBq5*JyP@)*tre@S4(_A+;*26kASIHA)1b9MujdiP}#a1^JY3??8PZJu*^*3 zE*FE1Q22;neQZv*Uem_>ra9gF&U4Yr#*BlvUwYm-)wL6avi^0m;6#vU0?T?4@n~$^`hw=lD^!MH^+YpLz*LRD3ZF1l3u*cv<4dp`UEr*pTd<4sCwpa(UdM!p1re;ESdg6hc_5 zcluOVzo}B0aJ`<)ZnI^btr9O-a%pmz3n1o*Yb`RuBFSlE0KDU3M$7HxJn=a}qY3_Q z`5AZkBedocsdZ~1Di0)Q*Gcs?f@#MB!}k&k^y7^CE(^>XKaSvbH`6J$4FuhCjNN)iJEe~2 z7he6y`sz^^%^ck2$Yj4w>#?)QrN!HDUWL z9ZZGm!ZAnNGsj)HIHc=fcf>^97`Cv087?NfzEw7#Xq#*tOILE#_<6fmmcO|f_2{xd zMn39sX&g^ecW8B^9*efK5|1sl7UrU!08tP8n3~Mk>;=nakIb^{PI~@{J?g=$=Ka-( zT{XM%#Q)FUm1Q@sqcI5F6t)2FJ=o)eq;t^$rR zb>fw+ZuMBMBHeJQtyl+9R15KBXRERUvW-5OVJjl5p&R1_5tyMsD}e3?>`4esiz>`;zU#iOE0KPAGdB=1>O0-msk@ zLOTHpDPBEmCqSJ-dE}Qt$7iFR@Ph>A+R5ebBQS4NaPP+MZbt6(6*)2Ou*y+J?pWPr zRUsF;QNa!CZlKCDPsr!DYIm9yqHH6Sol|mQ6k1H$2*-JdeQNu{+N}c+T5SX~mMMXi zLHM9RV}a!k&pXv0n|rChyDm@a(C`8? z0=~w}w3MwZTg|g<;NJ@i74Ps7-l^lN?##0m7K(O&Sz6*m+X%i7W?#-&!SK93vTGi? zSGWm03Fqwcb^@BpVviLoKCpQa{`>eD->N89IlB3clhJZHQi|W)P%Vx%Q1K zw>lIEu>h43Y+0fmx2CaH00<(0a2Y4yoN)H3CW29F9YuCJefl{MHlLuNb-NR2%5@JF z&nZ|ZACoMp{n)NbmJG_@AX#ED09g~`^&Q@Ps5r!r%B@T1EQJ_fq@pQ9Oc?=|cC}n9 zha?FeND^4b5fEaMrr2&R#~l8w&@iI{4AUzLFsl@vQ}#nc;W0|DqnQXiyiehQ?sB5= z%+j9;g9ie$^(kQEM_5;ie@nxkuiTtQ?hbzagr-~N&u5P4)i$Ncm7S{WeHLh2Bhb72 zfreLmy5`ehXEv~tueU&ReV5};Vh9n9ZnU&rBm}FSvz@xLf9BGx02oGe^QB}bJ}8e{{N%`O4l#j!0!8cjr(*AQd(8^S*zHH^QzkWISNKK)h-sixHXrr)jjh9c;6P8sMXS5Cv;#4(URJ|L z0Ze@4OHxfFA+1kRLRj>;^uogPa`N#u-v*ra<&c^tkPChT!UMd3;_(sDLsMj5OQ|Y8 zyxhf*BOeCRinvf#w)6^t)N=fk>SNF%h|S z*})KIDwPh)lE0f^TIq4ozy~4sjiS42g1h|OT?yO|h2iC9n(U4d3YGUIbEY5=-qQ};G3pTHd!XaIOXhriA0n>WkUj=b2M z9Ip8-j$Ci}-Bn;tt}MC0&DCi+t$LUgvQ)vc=*+v8I7kYmzrr}y(-S$UG??~q(}eLE z8@BwyX2J+#Yd+2l>9|rK(MfA0oWr;s9<36;KN~Z0R}_#kzu5#upiRphDIm#pNM&A! zE_=6Rn5sDJNNSnoJ^GNEv4ju2FR(t1hYiZG+*-nDiFT-{AiuP?R6Dy`b#|5n6&l4t zQ^K~vKnYKKsTQvJx(f3kbXjANd6ZE;ha~OMrRt^C+E`KlhT&!sH*Ns9=Ej}7^8s6SW56?RM0u;h zeuEqD8e!j!^)80VjeA|Y%8jD|3cQH8kGb*Qgm5*&MV)$YObGYx&~X$lOv0W0c&moP zumW~`3|~c89*@E8`Etx?i0**STu~GY#l)^J8&y@bBY?EarO$In6A?5!KXpF1vcb3yfO>b#!n8_J6s0dgnpE! zYDb}dv%K@34n$BmUq`UCqj(QN?7=C_WjH8S-c(CJ?9Lns4A2gPAu_7%PgMzwKAm=} zaai`#X^>bx1>(92w$qiz#kI!=;6`{7Pp;x{Drb{j>%6<7IM#NPgR3zRkyH?w4poI* zjD1s^7}vgnxEpo^7HhHdP|QzTVk9HGmKY)SAdIv89Yf?n2rBG{aUBa3N=)S4q68J5 z1)p%^PZYQOo*Op}5VCxO(GEjF;B;Z`x=HH#Pu!U7TIc;0#WgqX@w%X`qCukV)Khsg z!*6h7qLk1Gxd&l!i%=g^5c?c?1xiK)UZ!k6g z6E~&`B1&HITXW-frwK4S3E-(aou>c9jj66ArpyknV<=OBp~>$*yKy@f6T9(`mbZAR z@*6>+Vp%f`@2Obskqq~TBnZ{Ix!XpM6}kPZtN7{+jN1V|xo~z}CYgLq0k_3<z5_Bd?0G$mw=^Y4X@3uMuQT@Wf zb_h<|eJhkUx08(h^-%t-OILx}{z8}j;q$O0gzg^=%WunWD9=N-4qkCz-g9CbG6rzt z1Yi{R*b2)>CI~O|-263sOi2@>1^XY1rX-A7X<=#zdy5$qQL>4MibK(ml4t(*ocfvC6WX0b_hNzul z#XotGDSZL*?e4W5%DGpki5(VZl^b3iRadl2Gfxr2*7l`wxDovDJstM2AD`gGfc}qP zd~3XM8*moldcWdm7UPXy3OBee5fdUS@OAuvFAX=UNM~BLR=br$uhz?HkRQ7@sI$2c zX%5R&KKi(SMjA0`;a^~Hrnyj>9py#d%c_-~V4}jZv+xfb9VqS41jJc)mX_9;laq__ zPE-Ms3qH_JaC2Musou?Y|1E2MsWjvWr;;bxv8K7$!BbT0|5^(aVRxwzu2D<3$FInVN!}CB z$Ced_bFkz-!JCz;xroq4TX>ss{V7nGF!(z~uqm3y_3xx(W?Zf#D55+|Up0~=6C%ti zcU2=N=i%`?zHFi*azn%@`9$rpc3iWwvb?>v6Kjt!A9Z9hx%PPDGN>3#2+2}>WNfXB zyScM7(28kxc5210P>yAS(zxSjXJ>*_IwZNXG`D=RMm;8W9x)kSu(y-pS3J(&PIh+A zheu<0mTAs{lP#3hRnf<+E|g`7=6QWocu*fUpbCtC(KIm=KiQ_SV5rvl)nB(vwlSg;LOS<$0v0@R8 z@^bl`gcm^3hu481+@TiHe3}ZRa<_XpUL;hERUDtOK=v?%c90{%A%Uj5TnkCk)$H z8aA{;C;}%0Vf&YWZ#j!LVr9U}d?x8JdL6^_o83=(V!5#{P3$B++@{im@M}qr*l^>U zeT1c|m}Bb!yGsIKL6Xz6in`pRROqQYJ7~5dn3|4YZdTui#m=M;d@Ovx3vZhYUi)W%^TFRXN4gk zpBmJPzcsX08`OshW8IdxL47kt?A~0;I;uH>Nsqj*gBlvt65jEFhNl=4c3u`!MCD?8 z`iu9;6~|Sp)4%#APT$4dSDI3(?5`&Cax=sBK zHTG1Uxvc1`MS0b@6QeB0?lgR6@guxT{CS5ugy)kO8&N^Rm~}KugF2QQuRes96WH`Y zURJSAb!S$PFu-4dk02E-S4Y!-SZcetx&Dn>L@U?8$PN8KvDRpPg-;Bs5G%!6k!t0V*Q@MRTuEuG+5RXgBy^h8mPW34kwyJC<3!? zNnk?ObjF4mhEl}a+VI^ej>M42Uq8L0_===MScwp913g*Yon^ZcVPu{IPV+P;>8Sp{dmS^|@UCp{if1I=5gn~f@|Uz!JoyfCi??fjJsNh7X%SgNRNXRw;F85Nf*DP>JvgD-N-g z4gY!kkS{HW31-&OME#N3jCzdIW#8;IralRt15H!VlCv1c1XhBFZqhQGw+qef=7EAg=vv` z`kb7UgNj0{$gzt3*?Ced9lIx~4uj%f{6G?|&*BG!X`(1RJ1^ISI7%g=VRbBFS8oT} z#m*q-li?}2v?Az70ko6=3YFXzesjlevbR}8(BY;Cp}u%`ZXJ`=`r6ID9$qc@8>?V< z1o1>j4*jcq6+Rw6;cJTzY8}eI(#_x~)cXz}JZR>FQ(^sX|-zs?F(QPKa~ zofZ3$@v3q^Uh1qAak1u1xsTU8w8O|VZtJwwl`zq}v2eKhXmsen+n%`e+WhW$H?i9! zZueD)#1%?0IT2HdmNoe!(ph9~BaZ}lhFa8!?&$vlgA29A@D+coHWY9=oMqM2(qhW3 z!^w*nQI9hVMK54(OB=__!$BFY(>sSGME)=c%_9SpyBeywgvaq&fIbUx4(3JTM#o+%; zIBp-4w*xIK)^bSI#gt!%P-Nn^=vW}gL_<8p-#jdAzCNoOlfqyE9sYGlaEQvV_hk%L z0yN&F=b0iKssef!dA!34_O#FQWf;S_B!}FOd7kO+3`_`)uSHtZhLAz(|2Q)Lmg{H+B*jD)843{imcusk zvwd!ioZ_&&iGLym9!?D!KmSC)=E*2O$u|xQcQ>?sTD1o#FC^23Nsln9|U{1GNPRT-ZV^@UOj$sP^>g8#c+W3 zxmq`?^6)7CLUg6J8+h_+5V~`vK1@i+s0S(;hMrIbzv_X`_GIxO`XVgOXW03b`bW7D zwUf)=$Bo#!PwSjZQaQD~VkefClr)Wyski$yObuO9$%Xqg?kEw9x#Z4$`u3erOoc!f zAWS>PME6c;kr;ssAy}7QV$JYAjZ#`@e~NMvnz5BR1CsR z&2JQtEfX=3Evc3c;L^RMi=U#r|({8q0N z!X}AzXqhICaV?3n$1x5&T9VFeNUKTid!`ciBp0Ui{0gR+l8lFYaF{)5&8A+}_8uG= zvTArK6v(05gOf9BOD!`b^$wm@e`VaPg6mprR>h|NuFTN!uB2vF*r!3ztoq=bOYP-m zC9^J2KAdww8q1jfd1uZ=tf^n+9xAckr@Ep!n#X6k@zOjq87TM$3R#wm53^Sn!OuyV z47p(21cmiJz(N)3P={qHx096}tz*vmrIi_i5=x)BF}L)Dm@9sY_wv zw*3t<9KC^IqL%a**EtqSVJ@y^YEN1*KcBVYSX6T~#juZ&;%oO^;)a#G3m=f;;m(q@ zQMqZ8;@OlEpJ?$(E{9JU@$;B$(>k0goY2X^`zx4Ze-`;fY{0W zzBusqB9|8a4A1t!LFzpN&P6@Wd)L{XQmL^0VM&>0ZJ4KMCGD{gc%4_&RvC({{i!A}YAX zw;OsVo8Ym){=^@nzTEQi{f>)2%i9IduY>n1Ew2%6v9>@QZRK9HWv#qgsLN0qWG%=0 z{YBB13_K~;!8^Nc3p|mBo-48P@W@}}wse+PqOIC<+a`EE?W2xwcbpdAv%F6S3_8nW z>)`!a-n-@H?g-a^mUlne>VMMmJ_=sR^UR;y?tndkp3@BR(L|G!j{>7s2e3<&m*M%&Moq)HD%u>Y5m6y2Fu zEbm|KVSKLjC^x|S!q(%yZU8C4Do0x(R(Ch{2`(b;OfYV+G-3R#4w!xAgWykjk~;1e z)Jc;|ZW5qHf6jr4D|#!u{Pv;ek4F`8-t~YFX=+)I>#T0Z^jIdqfxta~ISGF(xG>T( zB#F9NmgAD!#Qg5ep)~7A)_RYk9eZJ#A&YSxal?w6NJGU68_7&y ztDypE+KY0DE{a39E za*19lDADlX77YFywahNL;F=;=i0A(Ko>g5ba%r@@$SS7rU2d)bj#NEF+V|TA&?0!o z<6|0}!)^}3ax>na46-sRc$)(`ikMhG8(v5rtcnL4niJ5fbreNJk@xSyL9i!^090C1 zZ}&MT<}ws;045=Y@2x)9eysQWxCx*RS`VHjKaMIrX8^y!kEtw>+be);e%y>97Qr)N zRZ;e1e7ny!_#J*sbsAc|j^f#mMblwW;5Yhl913jQj!FIahbM-MADcBP^^qT&xfG zU^NZbGDHpkUgA~x_!76m&5)D}^GIoEL7)`C_RzxMnrze#kZH?A-x?LBhmsi-RmeJe zyEsB*fiuD4d!ft{j=Ns{p|aOfZ@89IXKkjZ_1Dr$HtQlE%x9r-n>1px5ES*{EcB6ievtu%%h%PR9vZb z8Pc1wsVdiQMJqu>Ihl?hV~skBZdGbBXDgh=V;`ePk}acm9ADB^l~Ka~ya4nOtkW_%mPM!8q{elw_+a#old$ zf(~R-v;|^;L(y6URahYB4hY1ol$=5JI56avMczE{tRDOg`d6_PQ3-E zjD?0MHs9Ers>863&X>Hdl((Cp>49(V5z*9$N`J?`RA*IGS+-u&S(Ukd$XZus9?M<~ z_eR`WITRC2R9jVe)nVTYpw{F7V(AO~n%~^ngw_WO=MM}uBLVPZ9eJTkls4-fdD)*; zxU`b@0o-dR|1f@%8oy_R26o~zX!abv53W_LgR@;5gDS&NqP-YY--2rYKoTMVKvlSd|BG+OQV=9$Ff z^m1~j*qZj#s5rk+Z6QWiqbrbdBqRkjh(8pY4aPglWSc6bLgPij;PD-VrAC0sTI|@ z#!7AFaXVsI-&g{OQZ*$+Pa4OyHJK2NCc8NorzP?NHNyNwTd|H{5f%^~>*H|R867l! zWRDsrCd^iiD>->u1^T@mr`mUy+9W*lx|+MQOUDT&OuXrGTPN&=&|;F_;tOK8rdgcb zSTbqIe7S+8SfJLl7iR;t27TH2uxb}Kow|bP#_DX`u;_8oA`qMa$pr7%v9~rO;`9XB zW<+h}I-F<8i`LNy1#jiz9z>9%3Y>Mv8ftu#+z?cp1&p9@Bw$;72_tDVfFyNZSo^qJ z)c_LRybxt)bWl)I=Z)1n`-`Ir_KT|(>6JAJpcrEW?Le94>Wbe;UNi9yI|C^2h&t8< zdhqG-`fQv6;!%W;D#NjF>&J;sMd{Yjs|5^u>&NR12Uohc_CHTj94ye3;faL|=SQ_P zi~ssnEltsn(K70#y0h3yYeVdK2Fl?tteCF+82?hrXEBBIG?b_FCOfC+8$(|`wmG$IBn2K+VSqvP!Xnbilw@FqHFSn9#kfai* zD54nfv5#lhqQ>)NmUdj14F;J^GZq$w<5XF=uB8Zw4$RV@n&Vj?mYoBW*_X00)}(ds z1~c)^15<*GgZKD?n^M~M4in;@pxI}OBr%~hLGg3Grs7x4m$$^0cyjXlnYc`URx$)mto!roDy(u zM-`jm%vP1gG!g*7`Be!3SZ2k&XI@}u=Y}} z3119hbHV;NnYivJ=-RdK+7xMHcv=2Rd{Ao;T1vv0xFNVZ$aV~0 zhqGofiXmYP#jHGZNLVC* zE$mw}1-&1fKWhYBGV~lXzkw`qZNX&+UNs8~yg9=;d0Lk^d@sA9P&1gWj)n+z*0Ray|8T>g|GOcEI~P z_1@6S9b%*ZPQCj#T%-SA9GC8rRsyd1E3P~^_RL>#<^HK>|B5U3uNn6LrXEihGD>;C z{iEf9&t)s6nPJ@jO=XJCaf|8szgE!wvfi(31^qBlBWEj?t;F(JAf z-vcRXG7;5~BElc9{d8|sXqu6)N}kKIHSvl=9JQ zuX%j3cnBV!?F>e_=)n5!RAGOGxh{+<%hw!OII~!ln-_!2FYgTw?`DHs17SS;p&9>ALzy`kd$JY2nm1q^ zNqZzMF4o;Z3tP-X7Na6h@*O|Hoi}}etFK(BfLmdHzKd=m~L;Sl@PWVr}m}-Ns=JpEX zniu!h!3Qq}@PZd#@%wo%CWEi+AX$S}} za^}e^T0FA?g8;4O_{#pw6-9;XB$hx_qY?Isq8OH_N7kr#7z>uCw0aXmf70rBSl_CK z{S7sCitk`oHAdR?Egd?UvQDXYr_`_0QD4~)uASHHsC4x2a{Q`jd#Ub|>U4;;(oC{F z+C0#R27seHkY!Qob{ZWr){sSq)oYDwh#lvF2@!?0S(;l&I`)X+tAemu8RqA;PD}$n zgT4|LUxoI_K74TX04)VT@T*x^wfEXR@9o{;c%}IpufdnL@XvcMRV~I;QP=KyZ@aG) z8ge1z2JdZ@0)O0l$>6I3uif+BcJxrid+`~~4fuAvcVAEbLsww8rzhV|u#BE7WKCEJ z_^Y}iB(I;ReRU0nHt#dM0ic-BI%Gd*_V{G-UoM7M-x zstUB9m#|nYVacBRTBttZmZrn%n1do#YKFY=IwoaQXzYPKJNwcSwCWSHdNwHr9`_ zeQP)7dv4q#3j*iz?8f-88#S%}#Eq#8kl8DMYi`^$K=#Uv>B^0-2!4qhlL_3(9TaOf zZXSk6)K6}VRV1Yvl>PtKjZfRrHSIq4qRQsPn)-VgSZZ}d!l+Vw-W$rZl~BLQ9|@Xr z1w6VNiey{h@oJfSQzTWgNZJo3^$xOVEFJPkkS!;1-E6HVp;`{4Tec93yaB2 z*}c0jxV=1vBlb8()Tdtw!c&@pK%N_a$^Pjl-OI;x#^oz<(}k-YRjg@!+yPM-?GL|n zm{~jVG&Ov<>MudN83R?>_s|=4 z=DE)&q`R5rZ14$xl+ysco`jrVjU1 z6N4u`JS`r7x3lX{bmZ;r>oH%6!=9~mMd2+?WjwgI9UxkmyPx#t0 z4O@ruuT0ZD|2+Rk%QPQz;_7DN`Tv0vpYp#une@mGbE(0LmHj{>+8}S+Axt;L{XlSI zE?BlU1o83v4`cIDYXa35;G+$nzV~9H*Wt`dss`;8v34;rOZO6obwlU!>-hd(8>fq1 z%D*^GR892%YCGj)bsME~LD4UcAIlMVLaY`P&8(cw;hqf@8;Ka2^pRrIuKd6z#KQUV z3uCk;(y;dOG!Zu;0*@0WH=zXPP12Y;FXVKyshmj@D26+2)d74dw-74*h zrQ4pS{RW=mwArt@SrQnm(#Pl>7}0k20sJ0oH8%;On*XZL{g?%zOM=#P4X|HELo5Te_ zm#N_lU&fD*wFus|N#)i!WH;rO;)iQZ@b7mT$cF|127_BoCVvp5_83q*vkX8z}=o@FI2x!7B8cxi7 zlLpmDtG|>IQG2@oeUu2Xew8-F>7 z*C8wk(Bx8su8g%D)#_u_vATVdTP)?kdtnVB1O78Q_Q`#*z5o08V2dv7D*GdJVI{8U ziOJTi*^MxidP1^z_eLl~Es^8Rdg{Y+S)@IPc5kTzx zHJZ_SI8qvnP{uks6vw}MkfnBGzBRX*J zE_;2eL7zp*E0kgYrK|*;`4vjdbKh!u2^`yGxKP78RtIti#8E zqeMM}DVpoY=IwTW|JXFjt)t1~Bo^x*o5v|!xBJIs3O+eEp-9Zb#Tr}Gq4ERqjeo5M zU~zQ$8~O5bS;J1;b?rWSx`kdpr>td4cvFWBPBn*%%@TqwueL)obQ*tGAINJ4=nVwj zuA-ty-tJO<9mLbMuz$G$4O#SOb^CH7vt+wuYnPiJ-DXh?QT@WP=oPsk_bCI^c{^(b zo>J0};=4t2YA@F7qB*^+JBa4M^#!s-cb_pIJF7wz*&MzkntR6dOzOGY2~aeN_`&qcEyS9n%z~c)JDxQwE=+=293Ns(BXGS&G-+f=a7PDcfk8Iyc2e%*zNud zZx=kh1KzJSJoDCP;lz>F??u}7YA*3Uq_(?i`SX#M3_Ia=usf&Xt?eq}UBk1rn(Mz8 z4EqdrInr|WZ(?@|7IfH|9qj60(ZtTN=(8wi1zh7B(0w{s(1Dk!BAovj-rYdU`9ErS z9|SL_cwGE>?Jjs~2fRP8Jz9 ze};Gaa-siU43Dmwk}Cq-{KIL=M=DXJZ^6y~NhOM|UsmkS{-0Dp=?=Ut?7pqnxKGF+ zrBxN|+|CxGwuB1IXxI8ZO%0Xla&so|g+GXipegl`Ac>0(GrM$Ogl534V&;nAh_0Ko z_GFu;ZNu*z1_&67f*=hgn(=Hl1GewW!fzgC9A5VEDz|EwSRu)i5JjifQOxKiT7E<2 zAAa4#SG$+ilgctT%9H6q7TNO{x2>Kqw=K z69_}T02dO7$GmkPQDa&u>H#>1D26S!^v+DT>by8J-*e_Bh8Ayh3Q8~s06H$Hy>&VH z51e`TNbEZ^zoNM2%)NRHIx_}5c*g9^=kxFjoS6zjQ`(j*5Z2B-fKY~Da@b#S=C_bS z>&!nqeN>!zaoH~)Y4e~jJ4kATx-BFm(;u#A(!wkUM_y*ol3no=6Lo))*JoezLapG) zhHZc_r@`6)%Aw|#M1|Wh!ig7TLzGyHsHi6i0W@6f04TH6Z4bZ$Gq?b-;~axof|~$x ze)zw8VPdZN%aFNn-9#t99SgZ0kB2V&o?8b`-n$;dipccJj?5Ls1y7~nbi#RH$*(Ai zg&ITmdTdlx?25t(n;=3)$#Th1S~5?LVr8TV8ZL{e%}}t*!`;2U+>(c6Xo# z`!u2jBA~)u5u8l20)W8?aZV0$kZ%UjNV5x~%;H8p5Pdoa(P5Ojf+*cs86h2n0HDI5 z;P0ii)t;>PJh^=_sj})*KtA6~zQB{oZpT_*5nS`+9x<@;AeVx%jguZ}C?8!g6ysh?Rv+l{f1EFFUM{X-ruemZ1j(ON|6cqlSSfWWP^iju_ zZ>NR>eQKqyFpdTDs#QCwv6O6El0j;e*?}}|&*B|U58N`zAvDZaD3n6doqdN zAO2ENI{SxeVap@d`5hWLdyva(azo_XRTT9wc3#~l-3kV&^));4(UNjtP0S?ZW2p*-D9+KDTGb4e&ZU>+KH#>{s>NUw*X z90wLKTI4+7o$~l&zZpbhZh;tc@D7Nzt`=UVFHO=NVXXr|Z@!p$T|2VhbL93F=8eXg zh+lgb>Holy$u81PUIAQlhT>b$T4&HP2-E<-Z1#$TbIh~ z4LC*BG3_js=cQMWiesJCSxhXICe-n6D1-fH_zKk5xuMxaM!wKnmOG1F*o+`wso>b# zL>8{mcyTe=HrpbYW7Fgg%n(I^;S+ud)(KyHuW9miGz%Mochp3=Q>&(F*Q#bp#U)yJ zlZKC+L>%}NQ!KLF1*Os&P9>e2 z;>sJdXFtj+sROoLC5Gi0szw{oRr8`}d4|2xw*qcw^$Lq)AbvZVcA&Ti<-iEF*nzTM z0@aEyxCS_@T=0A3oU#l!fAzJ7SfaD~GsI_x$abLojfVKa#X7QdT%=xGtTRk(V6l$2 zxLAiJ1e=R>Ci~Iz9-Z>l(q5gPG{h<_>)&XIKa5^U3e8_U*>+>MgWg{}85v@3>r49= zPaa&9?f*eM`Dg{Fgl0Eig;i4_niU*j1C+pmKbIXYV5&(42X?+e6$j{N9LIGnzJu`b zTPrx#3AxZc#ibjg6Vj>BeSRy3T`M@VwaM6oK0aUt2VS_Oji7?_!7Xj|8R;puw85M0 zUQXTK(q`~Cbx3a#^DS*+13eK3@9F9{)s1Bty)?c(?qe6JoStX&;Eqx#*zS zzZ#p*JI_DUUr}srS@N*I!eVSb(!?6UUE-(GM^x4rk9Ay`9RKF{2~>NhIqigLZHRnr zef;PEl<d~_KmMEO~BS66miwD=o+5@sY8huI{f9^#wUhD%|VvHMk*|k<9^~Y zS39m;i@lZNS0i)L%a=LMCQn|(39k(>M!^HA_SUFOUf%Qy)br_x+V3nko@m3p?BGVg;gBhH>?gLx5cnWLF@ zm-FtrS=e|eVBSRFDULL4$Oxqg#KMil5H^+LOqyc$xEF^T3QSlz{-syD+RfGPyV~sp zmz$)9E~m3d>MFG+9Tb`E{osN{g@NLTV8h@NWP?-=Eu^_kAaWArHqNYLS7$aI4;Jd0 z+u#CZwVm6TFvIs^E4j@NQaNkKUF?I7<8vss0Sk-QSIA`K~;H_#LVVk}z>DM1PhON2K=3Qr@t8zE&k*@*(DMBCt)p zP9s21bzKy+QWSn>krfMHQpBB8Igu#t6rC_-R&~O1Cf*!mk)f}G>YYYKIqisN-JpUS zzy!-ExQP7~=p(}5^CSe#PfeQ!%2kp!AWX#B2Ao-LEzDyyPfgfq9^P*lr;ewlV>lqR z*FAkf_Yj&>0-IBkWB2p`)O{&Ow)S)T+c>gY$)wIIFH}y=ugJ}kN!gFx%)KR(im?FU zb~35*N*aPfSt|8ljg0m#W7r0Ssc$bvx4X+Dc3ig} zpnJ8Q$Ye^&e-a$wi40m-FyAc}SCo8*>Fy3@9YLQeWep zLfP@-oNkLLo(i{Pg%WYxdLaK!ugDDp|@N8&?n9ZwNmI$pC|$ppu& z83S`z+>rE#F4r14&K==Y_3>raiFQA{%%*s{|D9t%^NV3D+(~tkW23nk8hgc03~G(l z>a)(pQ2OZHr=He1Qjgh8J}PSX^phw$T18DvWi>HNq$cLqF)Z`DqQeS2xIB*=LIU)f~gLW@(V|U`Pm7$VI=rEM9t*hmmLCL8oUaZ8{V7+F85}D*=L3hiezQ- zRLeCT-_)ue1(*b=L|qqGAgvvnO#+NLGCm_ikTKyGfa(^1S|qbo^Iyl^(_}@mmT}Ir zpK!BjxDnb;mPL+csaj$=v+TzlW(gg^!yx(kpus-jn{vZ_De`EwL-_9KrfOf!Y~0*% zPfC`*ObZcixVIbF)qSjvOkh}xa+!76UvY0m_33L3uXwTkhYjz&iArO5dL6rZ!F_Kt zY*}%SbEeMiBA0&1acnC0<=B<$p7|HC`=rlWxsKg$^w|b>RO;GwptXD0wHHld@aPP$1X{Ou;I%gon|$B} zW+vM;yU!nZbcUzavHOiq`%&yl)5QP72i`|~whFZVU-a3JVwV#{41o~y;sb!`$wwoba6Hp z1C077ivb@^@a#Hx|40>z?!YUCr~leLw@Y~D7q)wTmW^RbhPPODmjh8Q&MPv;i8-*h z-16{!iKMjf5t#$<;Y(>jl|Yv#d3?ucV{oj57$f!IPvT5tTY$EDi>mCEYkzQg#j zVSOe{oo+snSdrv1cGdc_7{KL8odkZf2bz+KdR$Ea<#^~d+28R8R4L$lK7=rBw%aRV}2m zkORUMxV_YJat!(xk|BkK&)idl5y(w1>Utz$STs-^tHFs^Iu{x`=~yVhi9*(23MwW_ zGdj$hh@>U;m>}*Wd@7F=Qo-llI(%t4H}4x^(CT@avq;Y-d>}o6K`5#x(EBjij`PZg z{hkju@4qN(32${SAlTl9>2L61qFhE7MMvZJe7K1s7U+u)xAFS|AEtuO`*rxvKHRKe zg&s%nVZg3g!6NnHpPeu&K5Q3d=2<=h8`kIH8IN}v>Ill+dDbHjjD&B^7kqak3k)lB zNtKJV6j%7x27;S@V&IonDE21%Qkb(WkV}x};A*W3C{|`K<63h`44-rB@SP|6o2T?) zn7%3_s5|h1U<@KCNo!f=wodh$^KL9Q7&vdqp=N0dF+<`=z}=n7}u z6~FO(swgvotwJhO(fmZ>xu8d%0i4X52LlAhe`$f^Z(j_dQEVSV-sc`5gy8^`XnSeh z+FKc>(r}aAGZ0nZ4*<3Jh#P<4Ds1JR8#ga;N>y&0uECd9@E5o-)h*8YD}HNkESfnN zU{f*@n zy`>##?&QiK!zw`pCIn@no{3gwkuhA^w2k6Ow9;Qu94pe6rgH;DkZH3)%!wV(%8q!@ z)87X@`Jn_1)6nD;AuPk882j$_nRH+%bqR=BcNiaHpo}Hgu}lkd2J-tp&@>pzFHWEw zD_9E95oI8*B>_y~1EBbGIsa1PYVF`=)xnbvOpAMIG6e)lthYEI1`CdvLpbAr>@&D1 z`zA%$$(prvkw=B(cDe|#1qPCF*u86OflkuJzydKLVLE=6HD8ROF=`h>ndE4@7-n&- zZuec77eZw*j0Mb|%amg0g8?HFs}NSjIKH=F7p$F~hNc61*k%$KB+o(YejpuTO_svfD=4+2{CPsBI4&ib$j=p>}`h@YA7|&hT=mb>iPN zyi2s8!_KW^ca9eALTb3h!Mb)AcGusU@BeJ5r2{WlS)BYQ!TYG!+I8@Lqt|{EyOQIn zzY}j0JF|}6---7QUTy$8{deNszScVZe{$l{UCc_THGk!l+b5p+E2rE)@$6qY<^Ju$ z{-0Fe>7qp`3An$K!0pzBbN?r`C_1MthUfp^x4c zR-4Eujy}!V6~*yx!NPH9)0~rk6bYRh6kX&E(ail83*<$3V{hwNe^x=QqbEzE*F%qo zAPb@6w)|CEJ^cyyB^^;H?#q9v^wpeOAD77M*G>HTJY3Bi_>DQutn6gG>Nfe8b#V!L zpvK==fiCpx2;avadmI4pbF791KH#Sn-t~^;&FOu#b;e)et2lwq zC5@CFPXp*wkwhzTMR6u&*N-G9fq*AB4_CN55bj9uuBI?2OXtVfo$c0}{` zh6QGhC!sdI6lQh>;b?ATak#iIxo}Q#--WHdtlD(mabGFJd{)qHy790otnz)~XTG4| zIS(S7rEyhzYqqE#MYNJv{N}n5g9$Bhq<`L`d5~WPY5}I3v zI7nzb-vKfuG_v=o7JqLU6B=#q%&ZkvIT-Jj0@dMbhd*2Rv*yxEm%1txla3;&D~$aKHxbnj#$uFV?RAR84K+pXh6o0O z33DS-y&jMKrjk}JDeRkJH?L-59lwAaFAKRF@ff?kFH=S17JhaTkX6vab5vrKZ%#}% z5Lld8?>TW>fkOr{O3-M)TD0q{DSm?!lZ^%HD~xMS+*hM4PTWzW{COwdHN(CW%XR$D zPTa0ci|E7{f>lS3lF*6eQd8vA2L4QKdZCBT>(W-^2*f-lh2gWL@#fgRFc8O8FvIA= z=1FR;P?XX~8`QL^b=j@r&6<7$A6)EAObCTlIA|_<;s@fucP4)TnK_702>7NkwKk8{ zDJ^8yvLrNnBl|u11H;u0jy#qLyTVv-#$b^;0@R2c=i0spbq*jArg}zo(7M^>%QmdIXOhjm~$4lP5 zeJdbxY*y=B%Qs|E3q%v?>2SRd9vkZE1kd#jcQr(zK|_gz|g zK90(8F~M5bIV$gqR3b5}j>ylGLKmKlI4P_|D!rS_9E)0us3TT_&WkF?U73hkp$o2u z0&A^HBIQd(e)lHPOEjP_%sPHD%G!yp1ADZ*<3t69he4eO5`1YHF#$7R#NzC`86otUaTQ%O{Mzvsj~sgmNvU6F_{aAGR49AVe- zJ3Dd906kh>aAGjV;KYqA@CTgua|5i|iID*}zaLloMmww{qa$}K(?9OWr!yjOF5%pXs#k5c{-j8V*9ZI-;>)SOwHNa}FK&lohRK3gPe@$+v*Le!D|);*viyzc{j3{Tp+x?<@iRm88A|nUy77g;KzRuAb@U2>L3Yqn z*lw~XQ!JzZJ0NnnB3Ca~e%Oq3n> z8;?ihu-Z_EE)gy}gvHPB#kayK)H<9pikGKuXai2Ii*4HXb-8Ca^%za=A$dQ3Qyvzz zI9xRs{_bnHj8p;JtZx~S!!0A?>5>svc8nPA9nBK6 z`-KyjgMT>{7nt4{C^G<=D<`5R8l?CLdR5lwej|FzlkoTVH;*DS+e2@>0#^AHOZw}Z zXW3%PwJl8n=YwIml(GFUjUqqG)~v41e(ma<%6iSKvnhN{IsWusn=#ugdP#f_D!sSSSeHUmSuQrAPqm{ZRXEcy&O)ZDj?uRAm$ z#X5u{7yL!X_!Rt4K5gb}Q#IXq<*N$>C108NmtN&6ztt-NglCSIZ1KCwRStS3u0O9c z>6L_g8&K%+<;>b$Ze;~=8Qv)*CBEUxgB`?Kud4!6EOhcP8*D^lh2;Ry28TI3fRt-d zAg#|rQ65^f&Y$C{r4BEp(gxyyt$MDz;-c#!7Aa`NG?ltSIU21HnUdYi8C{?dhn4MRKqaDil9U^-#tsYH@q57! zi~G$@qlMbiO$o`ZY zraT-+pTl8FSjNfiJxb0}<-Trh$|4=CyvcD;DGO&g2}hCAVS7q+tT3nvfqH|BB^^hh z)t41tNpnVB27b6(%NfPMm2=K0ZO$1*Sh~KMGXn7><%~A^^)zQ(mChBlo`~GA$pMgF ztOI$LJmjt5=imnDF|2Y3u}tO5Of=2vq2;7&8gDTiKXDa*>|vtcE5TXN^uJPqbGO7J zZq*mN6U}7;i2Jn?j~JAAz^h-VXcRbz%@HasCN&-j`JAraCb|lvr_64=T*r=`x5l)N zMDDH?Muj%GliZm6bJSXP^ON+O;=O{c(QkM;53fS(3+$VDDsdq0T!_hzXm$@J>x{Wk zoE^+RI(Efw=DEC!oj_lWQUpElCe>LM4=Q{Q2)hH4{$^qd!$Gk1TXO$qqE5aGYTCDM zCZ<-tUT6>eBuS)l-lZ)RCG_$cfq0@{&(`?Eg(M?WG)u*% zM{Pgu5?J6z>+}q*Git#G>pYEzPY6sVgy{4lBrvIG(tT@=E_P&t+L6XYZJvpAAE|24 zYX8c-Z^)zRUm14=P)rEggJ6SKzSzGyHKWg_IDK5<>z_0aHmi#&9_aV=m4h}Q6mj~D zCB=d!AqVU*yvem8zO`BWr2U5{SF%Ht;G`nvx;jqo*T zoqjC&0CU&y3UzHr1+Xm*f1~WP1U&mjQM#w{YJUZDB=an$U1?~UV%hGB=SELD$mb+1 zWAf_sQ>IC^z@q9%?`fNMnI>Wb%Ov6w3K6oskqa0TCIX1PJBT{wT3qClEfzp{7m+l< z@wG^p_|f%_#m&{qXdfGrPk?`yCZ8w!9Vc_opobo~ckorPOS8hjTTRVB!6TFE3Z|IM zJ?BB8=G-#|@VGD&x>$m-0%={XWfMn_%oEEqvCJBT_96M?bkh;J(@)Z#Hf9}8URkDS z=0ZYxyy;+W4tE>IBDZXt9co}n&2iI#Hz;-yCVhmTCB|1yu74vjexq`$sr%AWU$L82 zZe_oj#l&0XRs}QMEB-_UckZbA(r?OPl+{OL>^g$Aa#*kWXhjwd>kdx-*Xn;wW&}y; zOqO)VtorU~X?k?tGF!F3G@W>?Mbx(#V)WD&dT+bG8@swxHJnjKB=^9JUd!FrgI6kz z_8$fBbAGGr4tT%QZ$F4$?w1PpZ=xsbVjS@XhQg&2%PJ3p4HnMFOHzE|wp8b2+j99a z@*}4nncQv_aQ)t?*WL_gqM9v&r&7kemo0z#)FT5=xgGFoziopT>#{PcKAT(UeL7pA zLoWwh$^J}l7d*2A-fuL$M#!K;FP8`;-wPQ{^k5ez&ML$wZfmsvw;|($rl;4z`>m(m z2hq#9o)mwMyN#Y&NAJ&Z-@(hoI4S?qmHSs*DgViI<)e4B5^&W&dPnI42 z8{7uFvx348$kDKB8N%j9WVE`-{Zlj~jLcC>LKS2ik&7;-bSs>{lfG1Q8}0FH>qv7z zi3+&qz8!pSY=0_heY-dbMmV~ui19OO3%`V3A3sy%xiW=x7rz~WuAdFNmHYZV_w6lU z*(8h(&G^|dqjUcE{>WP?_DUiEN$XO{$6$X?Gf(# za$Dw#pP1m+w?1QodWSyQpA>tlWmmrD6YR2rhbG3(6q)`N>`t}$26l%_!r^C5N8cuN z#2Yt0I)YRjm#=99kJ9F-417wPn*&G_sxXWoSp6P*b-pn6gHfC{CK}{^2k>DF=tsL*tIosVFfY~cnTgzf#{rB873EfO$ckR_OPp!(p&Wy`?4XPU`mtq(%<}eRtsdcpa=V69j)TO@>l9;$(7q& zkemof&5il=K}5Fvir-udiudwqkVW-jKrl{PHszG-QDD~A(lSA*6-TN$N4?daD`Sj*He*6#2#cK()l9&q1)!v_X?8clOMsmDxxDt#~ z!pP+p(}yZ&R(qdK+H5Gd%5PZ4224QqU=Oq$`R_g7Z;AhD2LSTmkHxp_tTW zc)A>e`(hG_^~`2$OpB-5c1*$Ii7{@@XazA z6*Czh^*X+mMpXH)-c_A$r!pa%&i)&7>7CZnf8xJn+IS5B*ZjA603r_|`7b_d=&Qe# z2Y=ju$y!UyuH$$1-(G7j`fq5>0es$E;QNpLw_5)4IsY}Q>k|j9VarREt6KkZgAK^_ z3-pTc4`GMN)w?z5I!xMKVH~Z5s8^M=U<57&2RbEQh7*Km{APt2Y$_R-O09}Y&Rjtv-_%u^JOpx|{na z$62)Juj3D-K{E7~W~G>wZA=d9f+}UwoUBu4^ag^ZD%g#|{_qv(FL9O&gH2Um?k4ZK zf-@f!@s6vK$5sqfw)EGoQ!IY$*A}hGnIFHW(|30A3TN^wdox!gJrel=)<@C3QhtrO zFzS)m(1Jj)!$4k`Twd$4c@%S3roPUdK^ZB9v_$!G0o+C`gG^)+>&7DCY@k zo}S(w{b|jlq{h*#<5&^7y7pLblzkj0BqRr0?(k-3V!eXMuN5jEf5sl|4vwte!qmV~ z7r%~&W5ciIWb>&&g?-I2%9u4Am*Py?KMy;`B%B?>95H8|&V`GO(!cFT8om-~#JIks z)20FuHyRIC{%JK%bWAQ?o9f}8+N6EOeI&3j8NTZlmbf&J>uQx~C)n_Luqkbnz@5B2 zEekARX-t9Atiaja%WGgf^aY=ktr0x{cp7)`#B_)$Txm9MG5QtClH;f|1(fHdYx)-1bB*%3T7(*^d!lv5M6CV-CSbCGpS0KrwNeV(F3u$|fq^Q_BqI(63 zNP0T}a-6$!kfg_+Xe@5V3nhVb$4k&BY|`=_=bl|A_3Q13ly{sP@<34YPe_^-n@rJW z7H@zVgM~JzfO4FhIqhqn&$U1w<+N_|5^>}_;sg}ad`qw3h8+WkYXk#%=Xm1!jfY(v zlXw$L?Z>}+9l5KX$u~oMI89oan1t| zG)j{UE*|r9fRb%M8R&*=a_=E9Nm={06L&1~_*c;)fl&}wX%fQ-ASzNAtI$ngkp;#h za(C@f%mtu+#%Kdo zH-PfW8*qB~;8+U@jcE_#aV*}w^&=+-E)9kqADd>HvgBsg!7TH=-I5y+1|pc?J_4rq zqhU5iD`(E0^LriU86a}1r}hbOYP^wV)n7t5{SKUo6V!zhgH3|dhvLu^IMs0!LgkVH zjUu24s7@x{)~-F)hLI1BPEYFbmhX5xt4V4tk7vc>P2q}zK-={I)#Lmq4m!Z9VGav! zdDMn66V960x&0{28N+0m-PrREmK_)${dlBTuRqC38yP#)cHj~if;-;+g1*?+{U?&O zR0wJCOEdVkX(n4gwNR69Kt@0b>Ui9B0}bbdpM)d55{|?$Ny2)8%0R;J9}1DGrjf${ z&rq+!1pj7ut4As&8IG#hrofpKDje+&j-uxAHgPnSJ^HZ5`aRp!D=;#IGNhZIf-$T` zq=C`Vn&SyZ*EB}GWQ^X0JQJyaUv7(*)7m0e@5bov8KXle@hZNGqu9CosCYkx6nN(r z3DtDHp=VgIRcOMqw41y`{ zVaXB9>Fvj?-G1btw1Ifqumqe#+`-PF%LIh2>kqWcR46JdQ$czFK#*SIJPVMQK7gs+ z!SpP5*}*jCm%-7ag@Rbm#Y!g$CSHGF93t>+&{89)&u&4s+=4VpVmoS3{W_@OBE)B) z!eG+@Dy*PpvQi3Qn>QihQ8Y^9$9!xZKjJB(Dvn*Lk04r=IG|>s9JFEjN;DJiSM_31Tr6@OM9l(4RcA5f79byW^m-pcvoYYu}Ni1cW;XcI; zO|LwVuHn}EnO?b_lZEAkbbxPJ0MYUoo*Ov&Az3&G!;#}yI^~!;V~6)64IoQF-pDu_ z-N$h}1YmIn)bWg?Cc&|gV0grl)E?aqj-pog>5yO|jsT))`t_7>;6Uy%w$MVKoCwFj zH~5HOTfUCte3(KP9K+!#ZrGy>{Z|~uTlMRCoWb#oNV-PewTRd9oe5=(F&zJGKhn78 zr0bxb=^_O)NoY2s_Us0PO5h>ha1|Kwk8eO2YB;=0fpyK<=8PE@flaTmtFKVb=2Ftg zylf~Z32@5{q>+nYHuT0CA6L;Km z9y_4vIRX$s)ek_0E2+}q#cLxye*dSC>f;EpXl-zOT3Sf`4y5&DbCV>Dy_y38=m7x& z?1`a*#+3*!Xe#l@Npv%o@VcSKgOnWA>H_3e>Fj+}QJn>vc{Wk6{S)^GF-ecFaGX}4 z3YtrhK``M$^NCB4e@?v)+68z8j-25p6K;WdotJ}DQqmgJ>p<4Ga?#B?Yil&FWsoxld*}lhn}IY`K1zF{kiW48^dUZPrZAo)9h)Rwza^5!|~Jbc7)%X?jD30 zJBL(g3(AlP*;GpHh8x4yM$M@2j3e)-?6olCrEv9}4)0JUKxCaS$9+vEx z>3mp{C#^Dj0`=K7C>iRfeBbh2LmkhZ`!I7}kMKt>+zms;33hA%S-zF1Sg>WYT60B2UXr6+h zkmm>-Zab%E6_@+b3ZQ(Z6$P#I2&i@wZG;Jt1|*{#jtOfPe+5P}M}U-%==LGllOpPO z+&;12yKY~x-#HKL_h)YJjti$kw>N8UACi#`sy13`r~t0-4p6w)Hi!)O1Cv-ERAn8e zw!_Kp#6?st(-C(ERU^k6h}s^1j$(_d9U4Jquhc2S`eix11udx}h`MCl-m3#eZRTEKpAH7@Cb3v(zNSU0(l5>^ zsM=}oqY7`(Jt)IneVkv))%=nTnc4`aj#E*XSc(q!eUf0pe8isrMrI0w{?_Rh7DP3tFa*F+lQ~Uu$s~{xTImL5C zIi!RVr|54ZD)D?fl2#Wtd2j+q<2_vjH1RA^)R^)e#}5) z9u86&U*#x00GQu`L<&!x6@DrXsfx1uVS_-|*aaH_Ehd_$e_c1c%hNbkYuliLOhT&j z-qn|?-+o88w^l4I25?XI*7jA|`4u@n-MZSFy#mNyn7|E|*6Q6Soo7Qmqe~t0YSG~4 z&c4g)i>t-ynZ?O0A0s*z7q}et6QaS{<((dl=X|ykiZ`Bz)Y|llwTa2Df-uiHcuq-Y zYhrT1VRIzxm%e9fjXe$*TQhT8OU;~~t%>lMWdVCMHldeKx2=s6i)%pdFE3iLHnV!R ziBVR7flG}x7m?XpvNkyis2JpNq)6S0r!45+iIK(Gc|1)KwI5Ff$~~aKLNPd9hf{7Q z@wD-*PvU7>I3_T8K@p%Rq%xZEzSL6q#0b<{Ma%% ziE8p?Ef(K3x#NEI_NQldekG4f|JN})7#0>ms+%LNfxmpU8duaAotZ2eC zOi8w4g+wPaTcOGR@Gn`$Qjx8o6P2!>IPh#J1OOcpk1KEhnvFG06DVEU8Fsw6FHH`m zS%)%EW{c<{Z_z3sWswO=jl07_`S>)vG1gR2IJ|-T4+UG@9JVlYkY|Z_7ziQVtZ0Q> zhjPBjPQb4WzkY(!x1sctVZpS^F84F()`#Uam7f69@7N{Fg{qDsfJK@6yr?oXC$5Xw zjGWD!DAbMAJa#gPz&xHWPq_t04|}+2u#|acua!H7iHSvj>y1Q~+~MH|8fimd4W_jd zAs?s%=(1;#1N-54$%kg?Sy&!)fNH~dKi^RW7(=Pnp-c}NB2Wv;BIV=ZiX3hc zDpWB(ZOq_ocy=mOE>@_Ndi?Xa)evlyQy^-CUJ|U?gsw6jpn4b3k|8zPq72(q=Des@ zdXWYSYCzq%fTnQbTH(KsJXsMEPe~4_-iYfnKuhYbp93nx<^-6`z*~CgUC9_uxM5!a zX!8u!8xekjsAlVk&d*S(O*}&rqHu-+svJ=E;w#Tkpxcw-DRwP%bcRX@@OXyS77AFx z8G6R^r_Ru3;zVhoa@RsfiIW66JSI*FQAnH~TPO$7sA@m8BFgFw3}QiJmM*K;C99um zne*uJx$S;!=Ge421G6RApTcxmX<6s>+zl&pQscP^={>_Y1~sDKGts5pg#9BgOL%G5 zZXHY()uCk)2RqsuluNy7mE~-asIhi^%TQMlO~XbtTQ8(;Zlf07&iq?3%wkwlUP|@%r#owX=?Mim z4P{TLOs~%2EDNy01M`+`g0fr~Aqz9CyvR|VxS z)BL#p;nD}0G!f5mdNcO)<9h_phQ$wXN#)^t(gKQnBbf%>r~tLpfcgqhR7<)CXfVg1 z!~=My-OKI~c}7c!Z#pXa7-+n)y(C@)AYBtpSCV)?59~5uE#)AImmUb-!XE$su!6d= zxLTNT1`mpg>E`17D=cC4k@&)&(z;Bn8fRSqB&jGOK*c(s$uN1kuXmclP$~{PR|5f9 zUSw!En+7A0+J~ataUekt*M?mF_{KEWY49BjD{bklQ|(%(m|Lf_udu#A9$tILI<-cQ z3zuorWid`kWt%u295iL=OjGZgrkI;1DkNbd5=;|y;_sOzC?uUslM#p@9*>#V)Z>o& zmm=9xZ(Yve9a~{=@=5}v(R2g0fn-sy1S|2eR*ZbM4W~)FyiJn@@+0=yj_`^KP{-H~ptA_i%?Z#nUV%zK z@4T-cjPQ++Lzf95X;6CKZ>lhlY=% zLR5vtS=$AXF`{M{Q87Z)sR~h8BJA`-MB$e7hUjA(wUGs)QbmN+M%@mgsZ-pyQC8b% zxW(T^R4RcZ2MtUO6{f-OsjbxSVmkJFS793KcDFHwssLyexC^FSjX|Auk&KCzCM?~> z4c8mdi3i1b(ZrOO{9dk=M+yO~p^OUAQ{{mUp`+r9dMh@u@zznS(KBrLVACe7bPTDO zeu$=ZwHCJ^MpNyenF@D3F>W6EN7#u=aO$u%{7kYLcR2A~z!)d7BLxVgg%dM4#fovN z(3CTwk+cnGI3`RRP_t*AVz{Uo%~QBH^K@@`P6WB5aYAPf$Ydc~RK(V)U4T=NTBjwq zPRvCLn!?<*POETu`}khKC|otq=~b!fz;m2)<(OV?$VwxFS-n~^o=%k1UabI{Zc76> zWRz=Wc=eQV$*9ls2&dlM7*=59p)YzCl~MUz1Z8qjk}19i^tSDR$w1LCL!-+?`&4v@svY|*f?5Ma zy^HqAl6}T@FQ9t5%#ZcDL1GGyVc5^7A^mKi zZ-*tm(~=*fDRyP_rF%xYrK`?n;A zVn95&x`O_VNt;eK#DGxPBG8n1RD2DzT5cZlMJ&$}RrFB0btpv{k?9cafOUh}VuTWK zG!2QWNh=9%MX-4S?u0ffnXX|u9WRWta6Dp3N%(e(tz#*xRk@wb5iZzK!qRula&}%~ zNm-ymY`nH7zBeZt;F2E!lkfOAtF}S4z_j?V)?^>Y5aKR+hjKby>Tp!X>4aj$^dXq_ z5EnR?hrvRsAud;>1Du^3rp$vKv%x}ePGlLQxb%U{sbQ=XpYDf|68|Zd!%QG$vu7h* z^}H(tQeq^{4w7Z2aEheISyd(YJtQ?cxwUUdl1;l}qZYq6)wHWqZXHUIMTmP)IxNq@ z>;X)>dQ6FxKz7FoN~y+C9F8#+WU9_klAV<@OpwwIySgG|v4Uil^6OAOi`bV73(8z5 z!8<(T>O|eoQp<44o^gCMvBjaJ9~BplD=Lc%2>FiCX#f$9ZE=ON=mR*ns<^=V`q(eY zOi^3_9$mafDx|WU8MJ<)7z=6(DhPi;Uko2#!r4KAsLO-c;508s2B_KvbR@EJJgsC! zWF-QMA}g1>xts$EaT`Te(Alx+ws7^C0*VuM92;3-<1u)EAVbvbAX+nQI*)sJsbWC6fR+kU+o3`~BLNB#=^3EB$o{^F zPSBITAGdWXFpFM*^A!FrSfx^x)?9nhs2BgZzt`p|2oV)Kh|bMZ@KA+Ih+@Ljtib=E zd7c71Nc)qasdnvi9N@WiMV8LFjHE(gPxci7z7dZo?NjgC=QtjL8YRS|geb(LhxX~h z!{gl_=sH9)sU9yzIdthcgrQ z%hBD{t=K_QW~*cq@m^G>3ZdAeBE=cW1!bxj`ARVE5 zdO)b;9}0FHB`v}T`a?Y+K(rEHNP4z(h^ie#*@Ou%k-3l%4GA-7g55?m9-k*XpX%4d z;RhGd1YG@|ywU(pz2ovT`5LHKW;lgOE|2<3jTk@Cui-95cZG_%T&~3Udw`0UCjzu& z^_oBr$jGd=5&=zuK&`a?M*!`dp_~d)&ejo~pP>Q=`6Hs`42{?LT>%>q@r8On&QBGe zHxEVX+Gi*oqGAWp*%>P0ym&w~pP}~={lppCNShQHoN~wIr;1frt}Iio$>l{5rF<)m zd@60)(OrPuq@Gd?-4~$%Z&p$MHj< z{z_s6rGR#|<#9Acg%PT-IX8cooiRRU|4eM+qQ~lkGdy5QU}FmutgWGJ3nVmLsm@Xp(GP z6zE62Y3)#4&Y3GSgxjgR$Uar9dJ{q%Eg(9GP5elmfv#+}FFZ>w6J*6Dg3W)Pgf$ zSqfyF$j=eIsQZO&Yl;q1wGL?t>l1}4fD{6|M9UOG`3JXiyeU)(I}GuG*bS3}EdJ(f zCS0)qXB1Eii$emMf(}iygXZa;IWkZ1g#nz!O(YI-rJ;8Q)|@_xO~G#xp)yFT66-ue{Q2FU@F4|akSB} zp2MUOuJ5qXMpzO%dP+k?#X6$%u#^#XvJOkt`ti-MgyKw40tn&@(MaV7yq*qGwSy>I zwNc!UoxT1hq9616R-lK`Ga^X!j@!=yeS#FYGBMC&0|_V&xRua-GSG`x5#8tvaoN*c zoXq+bdZ#7=0zxe?(+R3so=8xGdNQj>-|~O#z1y-Zxvm}dFM6&A61;znLtz~|93kr{ zj^!u+yo=y9E1A3{a#r=0Vt4oMqpex1<{&`;1HeF&uXFGJfqCvYswFa+75m@W{RN-g z6idazJ$`_1SvD-8`M&$T>&cG)IXlikA^RbjIEn+Gm4m_EJpB;~Or5vrR&es}%@n

$4W-?;&y6a$Ci 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 R1jN7p{s-plURsPS4**vNEZzVB literal 0 HcmV?d00001 diff --git a/research/split-centres-global/inputs/complex-ports.json.gz b/research/split-centres-global/inputs/complex-ports.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..ccbdc0596c33ea2e02649a740bdc2273ef320a58 GIT binary patch literal 23365 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

suS-d0@srcOUscmM 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 b_y7L%`tV;reA}PK|Nj32VGWScqrCwDs@O*T literal 0 HcmV?d00001 diff --git a/research/split-centres-global/inputs/complex-template.json.gz b/research/split-centres-global/inputs/complex-template.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..975ce5c0df3e4a7aa22264df7f13b592bd2318e6 GIT binary patch literal 415067 zcmeEP2|!a<)^2MnV_T()iXwuoio3W0B9LfZa6{a2fkbgZMTrOqAtb4_iinCkvPMP3 zJylfJBy|K)St1}rwnWw#1BsC3k^Mh6=uD@r9sAGBKh;0QbMHCd`R;u$m-ilDPH(_A z`Y#`$|30zsuJd6A@B*7L=C`ln16n6usa%sD>?dDq^_Qb_LO=O*!k6`PFYMSoa_QIo zf=A3@Q%X7+!mkvce$rogcST~kRpZmXbjubFO(W8H(secF9DO^Jqm?%@3{sNeRhvOs zV=mCP5ow(*k%o2=m#%5ydEyPWbj+ZACANo@EQX_#i%58Vhm0i9cFLR#5~+d5G2|Gu zc%6=}!wd?6HbX#Dsd9KviFiW@OeZ3$;QyHIa0kvfR+wo&hhiGlyi* z+T-BWX=2=&g$wOkWO=goV=*0pxKp0OpynW&W%*lZWI1x3%!qYB!p=(^&r1p&skBq=0?YtJxN%Z5Y z6Ge=T`eCvWarobZ=CzE7V{D`ySAD3?FxkA86GbE9JSQ z8~KlNPmn(VfcQu|zr|}3=eX)r5pyGLxNJ<^2Mi?@NjK6)$XwzCkF<+gLML%fsNNrl zY%R&FUu0@bYhbz#e(N@{>*W-f8Fk;oI-p^vMP$O%+Pr!bWLgQ+HDS6HOb-Rqv(WTY z!SwUdBn$qzK$7=9Q0Ns=oYCnhh?W*(^_0#@V>ahsJJT=ScV*GR)e}(==a9a+vM7G_ zWdF^@D9GPFacxompLI1wj_JkQC;zOoO#k(lQ~IyJ%+r7U6XrWYZUJ-F2lBO$`C)t=B=lpA4qqX^@?u5l)$?AnnI8fmT2X%WqL&9Vp5VaR z7G5F0@&N$j!$V51MiYGGFVA~fva(-P%w~ST&_ypNR<@|ZgBcJWQhqgoP$z%+;X*dy ziYHei32yS2=e*2W;V&v?GCyGG$<>+6UaV>ImmjFJ?M20ttLMCCGWQdDvaG@#-?lHql1~UTIi^K0T?wYUz;qXw z?gGp4XX{_xuf;!2(=MZw z2ss*cxsdKbjbPAm9nO`IZ%=a<5EU~8_#$%^eR{i4%F#(`h%{Y$B*UQW`V6^{^Bk}1 z5Yr9vF$S4IFEi(~yrOq@N^IqI1);Wv&KT7m#wmub*-t1`cLX&H^&LS%p}3IiMPqZc z5kjG`kn2gq5otITnXPqAR7_h%T%-@5;wKKtoa)1D%vXi`Os}2J9CN_sMM#gpFIYFe zmYn0w&hwCGAIyvFz)jVL;e=GjHlJ**XA>G&g684SO!^gB)*aco==g_ z%aGWH@rvvPfwAFrsq70K4*exdnK^w!FY|m3<~$XT&;Lh8<^qnStTvSxx>Zuf%$X7@ z;`yi-xU*0HkRun5FZNM~#I}srWiJSdrPZZo8M)2jbp`@_05t0lWwl3jtZ;*i+r9B*chcWoCR6OVTa%_4?oWfkhO3yXauJf8r`E{&J7&0LMmhh1-xbmH4xHmi4sgRNuPa~ zPAov~x3nEi09ogyJgZs)tw|dkxNvjYnAiKoMj!f z%T2nKk2H6VW0c`i%LRPW>0IJCRa@N^Eb=O!ctdS)^O2IgSa^a$A6}u6t&mC~Sf@~a ze_4<`K~Xd4B8`&wl*BxvZX39a!`kpNBXXfmc^s0H6g6uvirXfZE0pn~a7sxqi{+Qi zx0&KYvX8%!F~WmalK|-@kiH_KQ7VHuEdOkQjbk0jK0%U^=7H7JT-3A$mg|(+kmf_0 z6wbGq>PE6pOwJgwh+8u#P1ts$ZCui3wp4 zgnS6YrjhKEOKMI)*s_&x<5paAHH}PBP9aH?TiWW&b6FAb8EKv}r4o|(;u^6qCPT=z zB}o~0zRh%cF6%pe808aPyRy5wv8}hfpk~aAm<+!sKsc*Vezk^Ve@>z7yM{!9ZonE6 z6FTcPBq?-5Aa`D;|E5~{`<+-fJD9~ea09a}Rp`IT<`ZY}G|?}@>Aihm;OnHPo~@P% zQmC!O+w^vQs?wfC&r;fB`ew53JoSjuxmvh|k@CiAq#nVX`NA;9-<)Nd#A@MFT$K;Q+~H;^oq0H6wa{CW=+6j}21%$T zEN&L&jNycQVXY>S!jQEFB~we%xn!j?7bmO|x@r>r7(q(sUp138iB-ZPoS)J;of}6j zX${((G?`*s#5YUF?zK`Ud|2)^>Q@H6E|F(n%?UFs)x`2S-kMm7p+jNa7Id3iigVZe z-H`_6a@%nQ8tXUCuf9R>J^ST12)<|V4f*wViSk?DCBNVLE~RswHHp7ye(?=rq+@%O zxF>wGYRz$&>dItoJPv7F0@X6OR ztQLQ=*)d3RMK$^{r{)B!-={kd+WTK=o)zsacKraFsYQG5 zyZ%WVj%z2Au1Yf~d2|g%SKD)mdXWJALaG?LriN(f#0)xvRzcTj;Ej>gprq>y;g?+* zL>z6{GoqnDV6c1^uJ@&@v`>f~_F{XDz0h94(Yxq00-)&&q?`s0{IV-mtby(k=O`8X z%h>GS?39Z)Ct!+@2UKcOAd%=-%i|4vYv>>mUj<@CCX;D}DONPH+1qM)UWYa6D=_qR za%(Lw7C3M1TBtfE7AG(rzXXo4P$&@Z$c zlm1{Fol=?ELgHFs+P2k==Q(cvwQ?X`1yU@nhNQnM(C^@UTub{RQ)jnRgCCIT^nDHK zvkbwP0UYbvAi`G?XZs#lqUAnHN#S4Jg!}4~Wo0|LMSrpxDy0m%mXNupWk*B*_>8E8EquFx6mml5F#uK~U@HJ=0GtEh zbi78m-OnPU0%lnSv-lUov<@VT3?2aM0Eh;_!x4Zg0Jg}q)~~iVY);6Cs@VavWWp@X zFv~>*1OSi=fC7LP1duAZqquef_Wp|3&dPg_eU1JIy%tC1pb*8q<`G{V*^c%X$?%*f$26dJqkYDC!xb+ZDb#= z{={6@^2CzT+LBUhZmBo7G?80c%PqBjQtJJrH1SDk?UPdfS?L3yeFVt3~3!7RHFdG*s$|K;w?6)*;ZicL2FLY=$uq@Jsz8+?fg(6DsEm$mXwdEyMU0uF{^# z*k8DmeL}bUGJd_ve5R{(crvdqml7>>dmtk;lDX}+Vw zDM*&fazn$DvBi*lN#-wu5ODY6iad#%0q~+ z8Gp&mIDkE98`n5OdaxP}3=|4(kVosdIb1h}ab{sMca8-mx-^LEXB?0vOo#LKm4mJ> zt;riVN1TCoO32KA0a86BBWmp-5W^G0y8wKet5l`EbHtKK&JAm8%%=>I-Z^T?jLHq$ z(Uk8$%$_iY+#dfZx(a5Yd(>`}^YV5eXA3yjk+U6~HstICXPi4Y!H5ISc5y}Cbp%8p z3UaREWjxdGpoqG!x%B_G~o%e>jz=x~~v z``}g#Z8$1yA|^HYu)CK8KZDH?p9Pv+oie< zRa+XixNO7LImS<|K2q%#f7tHG-IU$tAO=yo(U^XTMd0G6t~sK1W5n1U*_}e;3L#x_ zNgz|f=*h3shd|RFvOA(YAIPgf(pA%cPtG#H@G=}{>PP}^H@;qc9i;oBYQejy_&GD7js6QeLP2@Cc2MeWB=>;m65Igl~IiXEzk`AMfP`Nx3tkx#w|FWslCKU^Q(Ku_9?hAg= zjM6V^4?W0PrcG*)_NAwFy5tLb)7`a$+e7o-IA_crxK3!jh#>;q^b$ve-O{dV)jy5065tJCuv<@pD< zJfE&oMuFa4vY~3kwy~O7hc_`U-E6f0G5jV8dUr_>B*$xJ6+Xd_*cR;$M`{#Qm7S52Vz?q@J{a1#w`uX6l^RG09FF93^5SUSLYab*8&`E%n3+zf-P@_am_Y^X!&8DO3FVtqMe1q#`Aj`L-D)9Cxfp-V^U=g6+ zjn!aVkHm3vFeKAUkRs-~TlhtnQjuJT;cTJII9z~q`Syw75|u9+?q<~IYY!z;*aOgT zF4E~RT$pTc9G)#KM8j@NRJ#!UI)!bGXyU)6*P_`kNmP|+)+-b!sKd#;MDiVG$ripz zE4Mdnp9BiF25QJ9bD)@7EQ9pl^SbprjP$o$CSNP+)nY`sf_F0@lEeWei8i#ecrBbkO?M8n|sE76Z= z_$U7if{*iEN4CtEXnv5qxM;7hO<&pBGiHA-Xh_SRGiJUv2gvV@b9AVc^Z8?@#%epym>vcH!6)IGpgj6WWd}a$St00ZhWoTV+@VQ736Cv$E}J{z75Rcir)yb{2piF- zxR~HiQ2JU{tBh;|Y1hP`gygAvxU!v}FogA=;<)#FL?lN7-yFu-EE)op<)6oI9qY9(4#y*R%^_Ms*qs47 z$M$U#)jJw0eC0KHSMy(FM0rJ*k}R10Q-DYxf2fjbgSaozE)D>V?+~scF}{5Y47`Fi zd;Ba7qtW}6tHtn=E4IjCZin!MFb7!K+-i{E1XPb^o(93~RgP$FKvU#xZ>R`IR47P? z-LVC#6=-n6xVb>J10n7;s0^sRMV_q#Ik=5bk%n^g1E%>q237T9{H|F;-KUru(;EEI z>mYd7tP$>}#%epym>vax^hroM(rKR0S3_~Ta^O3u?~s;T+}~5(e-q9Be&ULt zD!&SEX&yb`2*02dw$e(gw*5o-d#ht$ zO{u`vGd&9Jfewy0O7h6^uIhIJDu#n%Mw=7RE(IhHGms2N8yL_|hQlDkGms2Nn;fDM z0|7{edjsH)7$CzlkPKfAzyicTfCT`HUjrTh7`Dzfeq<1hC`JS{#k$vXjze>zs`}qI zCI5KL z*lRuUVQ*7oS_9K{V7d)Vj{@V9FvYm7S_8%J8o#lcpI5oxQUq7Vy;H5a{?q>qQB$;u zL4|h!IFRCutk!g{x3bD_yry+>EEOH_zm?t%ZwGwflwiMk6}&t6mqMt2@BVk%m@-NU z6utM$lP9`c7_ywhZQU(0Y*~J=p@ROhR5LXm?K$CQbnQ85uk2FYb+1ME+AdAL-5*JG z_!SpOe536rJ3$xcAfb$OG1`6tgLee?b-$Nhve|TJfxlRMG9K#9l_&w3~a~gGIr{dgmUgSFlzB2TY#G^yI zn;O#^{3)&jJ7?eHLrslo4NTX8={ESF9|ex?+DKoimTs@qE1z=oGJ%$O*HEEX5V?yC zH8?SoZqVr0YAgIJWTBc^j$TJn`x$Z=LKTmGnWIxMFAA&Z@C$*t^sgueEsvv<8uqm6 z0;9{=^lvqKO$_HO-JmP5oxnEe8>O)VI^D7txP(($$l>`ay+*?*#RT-)!%w00j=rtA zFQ`dSYD9QijU1s(o9pyA-h9S9`z~ulW1E@kPFnr?k{cgtiL7AS|{&uRmaV!j`d~HClrjY?lu}K>Q zM?OfGtY%xbbK&J#>9b&&{)*=qLiAnikBw{r50V|!y7Z^Iol8tbPe@1p!`Kv@#p!OGl%Rvw-E*8UhDg$An`m!t2r_?0IO^9V1nt zo?Ta*-7AMw?Z(N}5UykhEyDyZ3Z?cNDJ7MkOngBlJ*|;Nv!wgNDYSbS%ag>lSF?Gd zHq|}>=E!p6bZQ6}GkP@=twOEoT;84ti>#rl&ATEyJerR*Cln4Ya*A__Cpm^r6$DGd z^ewRAW|W_2T>9mrsueBU#{?-)IS(pKOxjdZImwpQFFn)O(JS|g|8B3Mj)PT%iQ+Mv z>G@-S9ME&K^XQ^o!DpIBPAn|-J)QDktb5GrBj2Q3du(>T0*ScmOE%w~lTc+9ve{n_ z!IryoQmU*@ZT1h2zrJMK-8omQZ0>BP$m83VY`^QCUS(6UnG&4Pwj|)Ldrp;&0x}6n zOLp#_bH8d}KR>_V#H1y=cF!rS8tCBXCx;+-_nh+8hp(ht`S>|JF4=ZFsp68$)zZ+F zDX*^0X_bBjrMTS~+aq`;cjWw{jV*d7M~5x_HH)R;8@}A>vBq}EmRZle#3Pe) zdNYIpdBUtg?PSTEh_{3+$V%r#@PUj0`8PwYPI%e#l6HEDyqj~mdDBAt(aE}h9u&!Y zobnAA-Ez^?nAYGuyAH;65#z)(>UlE42>IVW~0UfH7ii# zgPKjK*@2o6)KF2gPtOSClo}>Wywvmuxbr8H33 zd<~-MV;GryEqF{l38&4GmDE0R|ZG@pl5*@Q-L*+rF{HezC;aN8c)2y}~hNa`?OZ=#3fG{*4))8=N{%TI#vAyJUN94go>Nh3|c$}{3M zqJ(0dysd?%-XDag7G^QnqFPVEZb-X^MzmB075D|P+Iyn7Vi{Mc^pGk=WsIK~C+x<7F{1e2<8eEddSmq!zXSu$%EY zQ8AUZ9uc_!4s{H*uuacO=sa6om*>9Yfh~!Z(3uIoSpZD23+U$(fL;gmS3pm30y-P$ zortot#g+r~uS)9j3U&hh0MM5t=0uq{0^M2|(9q2p=#PND7*TfJz}rMPwU;7>5E!nA zF%1}{z&MH+!7#}sG)WRr#Mkg_pzi@crWNR0fWE;6=(Rw90rbdFptFJgaWYU|wc-g> zr}l~9n|A>Hq>yM~3vbBt+{5(_?KhL@9uc<@Bt=jJKoc1NJw*^kJ{wL?4X0lYr(X}J z-wdbU38!a;(^=v4d*KHAoBEH#>#?1GmDc|txZi^lX+bj|p|x4m>6ZA4GWD&AW4N|u zw)@o+o<^R-eW_S~$$Tbtz{~rKO^|6N-ji!$x$Q;ugo?<^xP^-KSIn1D&%C^Ef=nx6 zx+YAw!oT=Xu%UL^?%{VzyN9Pp&n2;AcdL`DMHK%u>CGfI4}uyIg_I_}m&CRVRZq?; zXA~#t4@u;HA!+z@7hP4Ii2G_0{WPRl<%~8+N#%ajG`tK_0ulEkPkR3__2hfyjGoE* zL$Bn1`_k}}U3FFUBJNk7^wW^aFK3K{RJ+{oa2h@cQjH?+5Ew;PPkvO+@PJf@-0u_| z3sTJ@?gSVGsp4|R4oJ!5eo1gFNC`#U=`bo>J-M`;aTro^xnC+A%S~4$5^)#9C`eV5 zGp<8QArHMSbm7VB#HwD(2ulk4gqxr^S-OQAdPhhvRz`$UaQEE=&B@YWZfK6sg)j4w zs!Fg3jKc1QV|>P7aDU)({q75elN)5R)$J-(QKvRycLWVL6NhIEhxAEE7YcNH1`?q2-W%326nS)!K+qDvf;~(wiWC8`3q9mOvVVv_>1D zq$clOfVm0p6o+pSu^VqkF}f|lbQe9e)+@86jyoEJ#O2vBj_pBnMFNKX4Le$|Q94ay zenlSl>r^^DJ2Sr1`GQ<(Zs}!#k36Z@RW+nH#$(6Dy;CWLitox;E#a;revn&Yuzj|T zhg#dVv+nARg5we&-pqN}E%C7nT(%$^rZ^(6!`8wS?#I{~ns{4-a6nn8faC)wF+(lU zT)!H{Xml4)IfzONmS`&A@Vzet37Bv`N4`$d&_W#AgZhfJYbWKP$$+5%#-0l|r97C_ z?DzvVkqC3mwbIb2z#Ou*^);bApUWch(H6+15rCSJE3!WSzVr?7hR%p zV~k^AlP_YlN;zMe$oKP<>b`u*V$25cGDdS$@VS@x6f_$s*kK}2u=CZtyn^E(YVRRv z3W63P=mbC?rvfw!K}!J|it~tAjDi&qM4p0tAj+>p&}syo2Iyug{iwaJ`x14}^YTHn zL{10FNMEH2hRo;8I7!<(@~w&TwC_jfFCTSr{=^jrFE3qq%J)j&WvOROkZC18v}+=D zsrTr7Q)5~K({*6F4gRB#f{>F9^dBO)bf+fD%j%ESZiI-lHwK>-H0GPVC6qu`R&4f? z4`e~a+20P;ud~uF^1m2{!}$L{mfj7NzS#>Ax7U+$#^AGQco%pdu=~4Yed|Y{{b3>g zC;@w3#-QGg63kp+?C6&Bu~Ivl`Iuq^(wB&E)p^pdQ#TO(L4w*WouSr~8Hg+T87Uuv0r_ zB*=Aa707hyJy7z36j1J*$P*GfTFi(#IPJxVcpeew0x|RuQ1;FTiu);`n2$jeFGTqf zQ8uEvo}jsq+$O26pKs1Mcv>)e4ejcdcMSG`43?}AhlWLgQ+HSz!MRyeX$8*@~ulkSfo`M6AfC#wVAFN`BhFn`MG zCa17f(;@XA2rFUsf0rp?u0OSbz-|M9T>}C;0|Yh+1U4T8HVX-C4G3)IA0A>z;cTF@u||}+K$#7cA&7DmC_kWC5M>BZv@h@; zuI9G7v?yVFieXB->vwX7U9$U8eR-aY`0X@IwXK2tl?XU7-yqKV3y6bi+E8;AB7N<2 z!!8-=YbZvC8TEA|j6eeX4FQC|tNE~EDhKMfZri?Oc!ER-*RXW zVP%(4^CN09QS%dO9-;;bZP~Lj{6jC=)l1ryOF&_Ftep*t`!T8CDZ%K`oE6L8ny6nk z!=w;QTFE34|FBqoHadUhsJruTt~hvo>Go5;SNpC_H9@A8FkKTL%B`SWa?sGbqu3De z&`DhVaePSIN5$E@zuWBNGCdv2)T?>Do?P=c+fsR_+myehL%-V$0y!ND)2lH^Qy|TP zG#^GwVYDgzFDwg4<@A4}$)1%`o!;`4q_H9o zZSYX>LB^sjAS@8MOVwB!MQT*h<{0cfMtelsV4Lt!P+;ySLHM2p;oFXcFDN+n5e&{(-1s4f-CY<70!oEDF%sH_nBZ9Eb|lQ%?sw1zIo6PMCTG)U!3J zQy*!Br7rjw-n%p&Kr~dQ?j%d?j-WDi!4ic3h;VN-9IDiT)~jK7uW>NE;Iw`QTe)_2 zTgJg^QolQb(c3sHo`Pi7tz4qHe*UeAUX0JLn11S;^p8pQ{fA`VoKZ^i`R&pPuC6u& z^YWQtbIs|T$=alP>6diBPM7O9^V&IMcHebC%e@Ka`^giE_O7@2Qnv2Bf?~+8&X|1w4U_yT-s}Tt z%3aU2+?!&4kvySz?^c_IvUTxh?-8`##yYjr_G_XxbS8Th2xsXM+$+jSbFEEtH;%jN zr(cI(fo4{_5hI>s5$${6ulJeJxR$n^zXc2dg$w>8|KkJY_|2sU{Tx|A}rOF75zK)@m;E$&j*_Z6UH(N=18 zK*LPXYPL&2+e^CHHAcAJS5^*o?VM--%g4*_KfqI?6CFA?R9 zT>c1AVt^9yMp2`J^rt|f_YfIBF*pOp#h`Hm0Bl6#-t1QXKhn+cS;PN@K-WrbM5v(r z$K*cjfp$kbsn4OE)ML@M=!FPEJE`jt zJwLmj_I>?(3X7KAlNmNz07)#W}mwdUXCdQ)5~K({=Ek-UjZY^zIL14RuHDd3Qhw z|DLKwn!5=!?OVn4KgjKeP_x#(O-%oz+}7AW{vC<_t67`j9CksWJPWk7H`Z(M4UpSB zR=1NN`X9qV|7&SDty^$P@IGNAI+cGV1VOzC1obTt)T=>IUjsp133^+c-t8pl?ZuR$ZQrr81@-?C$Dg6UDG1t$pkxG%L@cDKj{+p=oYFo6eM)gT(%vgUdl#S&F783l zMg*-v5UNktXB^xw7;ObRs5`Hpf5)IVuHW)ey-qbOHZ`U-FkJ^9=xva)G-CO|nECBX zM&U;1yQg+u>T7$d!36$aFNn}^G!%Pyd{e=xeIsUl{Z|8ZYR^8`@2=(&U#!~~DeQ>u zQ*-E(L-TDeA94GH)bE5aCt?1QOMUm58q*rQGhM(G%a&PWcl zt(|FlW-MEvID+AEhH|xn>O~&y0cC|a(P^e(^H?-2(nr4HFX!t~>#|$ctp`lYB zzQ!5P!!Rygx2jnq!*oq3H%kUNy``4`Z&0ke#i8rP*PAH% zdx8;3QUPAgq$?@GH?qUl+5%?uav;KWt|2Z*YuDZ~C1G%onmso;r>IbuRhV1D$SJytoGNglk;60SEVp=9CqC#? zv^9A!SH#R|f|Hz&hm&+tJHvsWaN)pI8oVH;EC^0AfdMC3sMYFtsxIzmBUj}B+=ooy zy3ybTG28ut8%+f60&P6Jpn4um`#A?*k5i{Y)7-)H*(O;!`N|~D_7=naiD~m5B(jUo z0Iv=M-b*$*Jmv;dW=dg77L^NAwrQ}d0W@BleU6lr!;|vruvDE!q1lH~w-{(TS~FEp z#UXNt;Q~LU6w-X`6iVk~)Qu>upbDO$G)*wVm=<9BbQJnP18tC$*(lX1EjzSx_{2vt z7czYmm(;AgiR;SaRUN&ld8vn0LS^KVsf8np_uY5Uf zY~|W#*D`)wLvpSw8#JEPT;`q~kRyMvfW(rwEFf{@-4}Y^k}a1c zjR=yuCPAvs#Z$x&S&H2#&kjv`#u7i3_>2gZPGeDcJ@`3`+W8^JA(b1-c)`*vm)4D- zNO5%(tcM`SQ^lv2VUluoD5I05dFn|RLGPHRJHhL5Hh0m-%^`h8GRvovlm7BpynHcX z#NLi+gHK{T&gFXcXr?Y5DJ}n&%oy-k^K>zPL}Ulf4N~WGJ$ug%_}zb`-m~BS4{vZ9 zW2io8Ti%Hm9W^k?)R@-5bRGPs zZ-enEnzdV%Yqr`M1gTZ@2z?tSv%koo`)Re}L@jpZ5kR_Gt#rcKkXIpeGa?rHo1OKE z{tiTZtH z&-(OvD(|CQ`8VIi+I;qkR<-^khAa?l57;rVb6_{Y?tztp)q}NvB#pKG>Xox?Z?HaK z7GQnB`hoQavjiLP${Byn+x4cm>m6^`EN@qqx9dG`ZS)z+@vN};tg!Q0VVAPJaL;PT z*ak>WnNP(YM#;1CnXiUGM3sm+l%Ody(|0q_`r2>>i>K(;SIxhyp!FWMlqLgyK_;LW#FQySTM_7(1Y>7EQ8dZ zEPfw*VPYR9nEear!R$rQgW11?9?V`0z4#F0F>5%X%6T}U8mtDa7OW184<-P64ptA= z5Qle&SdjZLXnyWvup+P$uqR+;U{Ap+!JdItr_-*ePKU9CC&TW6<%2x}D+VhCs{pG4 zs{^a|Gdxv{YcJ!DYOe-s;1Z)^>H7J(AIZHMhM(p1vHwJODs12jX5JSw=)(!0tH-qa zJ^{+!8${`db<(tT(h=*WY3rpUe5Gl=(h(b^X&a>UJ+0;$Y1-XKI%=FBlY}EVNh$9b zJm7pfZ2t1|vxb`*(;Aqr1JiBr?vH|@^QWAjWok@oV7d<{l5aR2Agv2M zohBXcDOjJ(E_9`)k<|e*`Cy?ar=&bIIZcZ5#CH!@-+WRY6O~NcE|+h(kY+o^O?O5l zDp=%+-w&y$>Lz9A2eh0~pB7Zn_VQIKjXj~N9im3%`H z91Bu1Q9&|{qN;DcD36&3DYbmVQ#cl+6rzF~FbYzwB%o_n1ke8vrG6FOtEXBx6wcRC>^pTXPE zAyhomlHKM&SOK9DLLJ#{KZMN;UXWU-sMV9*3g`r`0zy562C|#kcLeTdXL&)NyinAB z6z=8@VLu4FL-=vHTO@?TA^aS|Pr}^_z9Ymq3|SpC4ZEG*l-&?4*)sO#HK!!azy)Kk zdI$p^^eMFUpXPpg)yjB1ErK?G>=+L^-W5Om^r?#++ayMx!ujO_^AgXfO{pSjK}$>p zFEfYvg@>OiBuTWLGk$WCg16#gx*_`^{1y$L&~CeUx(h?ICbf04uEmPPb*S!m>5Fh z%ij+5Yd5(xhl$ zd=Lj4b@Q5iQXi(#t_$wgjcZqzjrx@_;+|wNTu)>2iLA7kHaF@KsaqukoU|C78}-Xq zq78dIZ7m|g7v!=*4}W%%(}y_$^l+4jndiR{^zcT|!=uYV566LIE&<9uM46&H)!7!) zhv@*+n?Swl0n`AXh6B|y5vUDFU8ms%ep=sS?a{Lz*!LgES+(&Ug9n_k!w6FvW)C$r zrZq5K2d3NLKk+CCZkRoSU}{WjV7d-|b{oj^qv>Kzlb{TnmsD|<+kWZ$X;)`38kc+) zvT`r3Am#Iy*Sb@Wxc7Uyx~JMYX7r^TE4edq#o|zh7eVYRXC>R72qRX^sDpv3E8l0s zK-r4Vs9t+GPxTsoY6--zZ~;!rOv-L#zPQv2ejmkDO7GV zXiOskw5NFfvN+8nz$c%|VkGtvkA59a>1!g6x<(S&XDUV%yczFc8f?YqtgAUEuUUOQR4(Gaf&@5@~4J?}QVvXq2@I;!H*4 z-wr_^yP~W!lJq`EF8@~OfF!*SaSf96K>mjiFHU_8yCF&ML##%U9$3E}!UUgP1loFV zh9hSKIJ1$n37k#H@dIZca<+nlX-===#V?8qxhXoi$}0h!EO2c=#`$6v*WVPFW5oMVaR%&WYYhbz#Ot-;*`B5hV}-5 z8mG&UQ`h)`D0aPawgj|o*zy^_t){y~@zX9*{4Q!bq)Sb|{ND_`E!lRo(x+z`2=g@{ zqs2G6Z>_5say`fD0?hiZ$!Zv>fsr7<+h8OJ@Y^83l`t)+^Z!Z`baNZ%W+mum%}uKd zpqtA;H*W>qd>dqS^&d<7FA^pPLisXSG61$gC>ILDV6#E6q(21LMAn{BUZ@65UXWWR z$L<%dZ9pYxA3iFG>YjI;4nq~_(;0bVJks*M0241v%PR!C3Kk9K54Heo4A>W7;suZg zy9yQ!<`1?2Yz){JVB-0ZpU)Y7cSWk8PtC0|Qq&F~QAXa~ALVO(HA5HdC`rq^dl&q* z-s*8TuaDQAes(&xx>ib^zg@h5D#38W?;@P&wdTv8LGs?i%kRo?YHBi-mFzpYjdY4gEkNml+w)+QF4SNufsxI$R)k&{awY*DJU;KBgYEa!qb={@1 zk=mwj6xG@XMDb3;2ItsCQC?uNV7&i|(H69d7jT9v6`=ezYEb@EDky(88`M6L2x^~c z4{Dzm3p9G=0)KcTz-Hez?hPTLLN(O$nf7g20?kR_DA79tn2mzo5x|7Ye2MF(4OjL9 ziA?kb#{oGT!C8Tv&ESL}XA3x|z@dxaXbwqzG`{69t0OqOkmCf-_sE$F&hc`FbOEhu zq-s-2Q|#g6M92B>7&H_6_p!HY_cb-9H85QVrrY3yd=&Jy@89lgYD{bJr@9U*8}c~{ zs-7g$xN^506|U~t;d*sOvY*34*|qNEoXiDD&4Xz{QWM~qP^cz@q-Me~K~lfp$(vS9id8*3!eNcwR_@KUfmaAh zn+Zyr2TEJ~htd(nqS|y2s);3o#V0$t$;SG0LP_1rlbtaRNsXi0VPkX*lVq$}hf$5{ zIz`;2uDu1un)Nd^Qr9QL&VeO?#etmyI|gUa0mA#ybTunAhtb#RxY%1aVr|hdC~(kNtQMrC|1d`wZak ziPZm2&am3vsQuqv$Afe}16ug6=+lEpI!^@Yd<=cS5UK0UAeW~hbsZ0sGN3381^l`V zZYL7veNuPyOC0{AsOIHf3rboAw#u&$n8yyKZ2mIt$3Ewm_fB<{7I$uK*x9}2HZV)r=_ zyiNa1D_~jy(+ZeYz_bE?bOkI4hYA|YqJ@1Ek1q?{wrFp8Q*g4St9=;ZRqk{0J=yod z&$wSC$GX~+2_3mjYN6vS;!yn+CFdGWL&6Mi{?=94#D|{MtEYKZE_L zs!!8`qwkY5k3CFvylKI4`#+~sI3wOrIT2@|2OXm02?jO%JzS2TzMnzO3)-!BV>B}9 z`XIdzz1ct4#&F1>7c=Ng!()1jti6**=jiof<|--OTqo{r2-n*lY3JzG8oJK*=tMl- zY%PO`!_zOSu3^lOZurmO4h>J(jF#~Oy=qD+R}P%N=fsW$M`XQQk&;~Dti;&xV% z&~byHMdp6PSs8+(H^grc2xVpv?8DLd5WJ8TTz6KU!qKZC5XmATNX5}BEAGbVS9`V zaLhv?yTaYQNv0vz30DFVa~L6!bDGfHLpxy5p57{$HuFFP%(ZG3TX`Kf`Wqrl(DxV< z=ur=OK%dnl)^ILyuM+_O%7{lA@tIBjf|n^@cibT7DoVQJP_motXc#Fu=PP)5-v+rak-OLEwjg(=(QP=_Fz5@$+I)6J zfy?sNwbaa+%`k(@a(KNzBDY`~axWQCqkGnfIwSPV%x0(SxQxee;9ZyC><2_%0XGo2 ze=)i{k=wZ+p(NzKFuDQAeYXD!=>RRDV#I7bZ(5vwPfvx1qRr}Mf;hq9sZ&+Pwo9bD zq^FAo!GeqD*edqCnN$l}^nUebZTFrbOZ65q#fTO>=HhJVp`JFwFi$;go*_y-ZHeKL zdfIA356!gohIyK4TMbc~X@Q1En)uM6mAQj%w$vSPkj}YAcJeLG>Fv)yyh;|3_d1n4 z#n)|XUU=C7#f9GDc|$8t%(*t=@G4KMo39h42NdUfi)Rn5jGlAN^6)BqtDA%=zN{^I z;l_l2>47_2^43i89cOj3|KU}@0p|JMT`=v*0o~c&ni)ftd*`&89e!qRb<=i=FMdm2 zSHfjWUN5VgkUHD@SMG^9trvQ`Y|UF_b@P{Q&X&CKRyU*Pw4U$%D>q?I>&4zVTk`^} zZvN7xJUQUDCC_GxFPsIO3mg{C>um2XIN8zHbI{GS!_Ug+v~C@$yxp5peZXx;UKh-8 z^u_PUqg5Z!-R`Y{EO3Ac{H}ySWhlu#ynz2;IH~b?M&P5G%%&aQ9ggG4gS>JNkKsS) zM`}En5tv_-*|5XA-SI})`wG_(n-(0ipUv*8TKdK*Yg%x^-h(|w^&UBs9>&gKf7!9= zsQuoEflY-&h}~816Z9x{9(!TOrsMV}BI23~hY{^mlinYwV;C{HsqjPu`MAAjNAo!a8as`nfGhDc~CjE*25v$yYPp3TmE7;CBOc%Q*r4`XMu$98NwW*;4~x~cFRVt>_p z13kI1XLrxr{%3uk%g(i;Wz2hDif0(zyv!Jvx4=r6GA9jcfJ z-B2F>WqZs)L+{TGQlA$Zh9KcyZcN5rvMuQ^G91583pICCktS^I8La)m1Zm^-_56Z_ z`#^{!8|6wk7KwRj-?>6%NPQsWIWJVxl7PnC6JkI4Vj>86y zk>U1k;``lRXnmwsLpvNBHS;({!0bJ_J#x5Ig#xgWC&siSUx!PKc z;=8TkRkM&SuvlSXHi4tm5i;Ya{-C-e#lEe~n^DB1axCxK_1Zvd)3Ba61P+n;3#9v) zQ8VLsY{9qB^6nM+3rOp?H|%V=Bh6Us7&u*4jjf%UF!chtO*8I-hxOCk%O2L1xz|0c zpXJ{4u&&O%<6&K!o8@86&t-X7KhM4AVcn3M?_u4P`^dw(CAZka`bBQ3$MQ=74eNx( z0S!BaZ2=A6344+njta+-8qNwmNDV&5*{WsJP|V4&YfhzWcV}g3~cZTI~)Y| z#-Q%FogT1b0I4*xQyvkWGOS=sLgz;>q@G@m?O#6;*xuOQu=gwnzqTqba)#6n_hq;$bKoqd!daA-!db)sB?2hjE&%0gpnN3)%3Pq#1GRzZC(ND*+Uq7_*L1SAlxwSZ`8-B1BjwTcUh zN|ilvK~W<_MfN2U#2{OU2qAA<4fW+0{~%9z2^9*}Sd_e?s_| zYL$4yQT&}@eq%zYPOREQwl4>NXGkQG9YilwyX*R@@U5Y_@Lq?v^JnnRgje4cLoXi3 z&~r32$?6T0=E?Kwx5VD*XMf)G^q20RzaqNwI`6w)Y=hzL2DT<_JuLcA^=g&rO#b?o z?zi2)59-v|k8v?qf_Y6aZw2P2@Pzlm$it$KRfbijv-qJcHn-jP2kAC4uIKzpWF838 z9N(}-V>Z8O)&}#$ZcTSazx|b9VGpAXQxm(Hl#PCSqhMh#qYd_n-PV+i?*FyGqmR+W z6^Y#v&ExN z!UP^8jV>l(3_6-7X@SbRt-6d(d>D|!-z7u#`8)f%Nn(m9vR)P0aqwM#SrYE4YP2g=~lx?0g zU5?Inf%hzb_u)}8D)oJ z%)QYAb_=|h8fEXs7h8e{5^91z=-i3&a+Lje~6+w)NP)#I^z3SJ*Zhg=dz^**DXtER#;)Ef=%OZz(^~ z)!&gOZQ38I*;NzxLumLFwVEw3v>K#TmXAcqMvZhvf~(lzG@n&`S{rnwV1TLY#R7c6 zeFliltjSG$;1q~$Gl*?|4KQ~xh^;3i>+>PG2+7+dISI*Eki1Qjg^;{Nvyg-jNi(?b zKpZ4NkTh49q<4lyZE#Yqx@BnfDwGpRdEwDy30z$aT>Yd5xVj0ry5tma^@Ao<)LaJXmgR$K2a@P>h(aLBYeCh`X=rAW z<{C7M3ZO9}%`#}N&_sIz`@23ke)6uvqN@oPwz_W|EP8z!uh&lY@DYl6^V!V#*n)k>JT{)V0NFpYkJgJN9Qft@itl zJOtHZP9lQak0DywI#xD{*mfvsmO^uqG!dkUhvsvdDAVeVv(5A7 z%Z{HEJ1n}CaAA}C#$KY=hx2;PV-JsQH=xbwGPhjjmk;whm!S^^x}F*QG^t9M#oyAh z>bCoVpni=-heeZBjO*{c61Cc#?s1J-e$jcJLwT+#Y9HK7GaN*yec+)uA`rz9Ehvs? z%vAbSN6KZ71SMbc{JA$xrDG7AEJ_ttM#}p@dceKZ$jWm`R8f@8d*o zDNEF&K$$mTP=Lk{pew2isZnJQ_%4l;WN=!p_S+V_Bdod}F6E&BmUC@uRMB%?@j9+HXV)&}M*)WkkmBkO*1dL~%@L_*Hl(5(^K5H<(yBk%sQVPy=G&ed{{uv;T8F=Ex765U1+3O{K zi65E%H(eyJdtf$?jc#8J_cmCtuOH@o&8~7Xru{oZVwa6>>B84bLbx~|7S1GSUghN0 z*c)4#?f3PQ#eZblVL^F*O`ve9uKw;cso8(#icQcl4A5Vpt$z?@w^c=0g0N5yQPS4E z_^4Y%UBK?&R2C7yMPb0>ii)A2?cis%2;ygeto_e{ux}I3x#%y3WHTPx|C*Wz7wCf)O zb%R>o_1_8XpRx9TWVd(g*j3)U*eh89ShiZQFY=$)CD1MhiC+eZZw86?0f~bZQ{8gNsZcMLz`9?eFE5Al^V4SrwKQ8cWTXpv1?DZcOR3okY z4v0ED9Ynp4GSa<4)SanTV>uD^Hz4YAN?U(OqAO|>&)gZh`rF{$KouNw2*w2%>PayE z0VT7kJo!dV`NAQh*CRpRs6$3|vf-0;metSe**IYqUzgc2*MNB)FmHo@?5&`I6Yram zd}~Ce&qC*r$x}X_Ykj#qq-Vx}g{7ihhT|tl?T?GTAM)BepC8;2>cy$+K8`oHU!(H- zApP6Y4K0B)`8rkdi7KnZqRx!-e{n&Wa+SyBDowNanp@|sG_?yoPhNbzL>a>CGq19A z%EQc)AIYuuyMNs)S>7XXOze%c@XAQfjdg+ZM4N|uOXFLXE!Y>p%`q*_+vIp%&DL+k^`oVbxDtm?p!K7rZBc9ks^uRHP=?5mC#?yXwA@r3h<8;ycq$w5gU z9yDlsv-q~D%I`WT_?Yr{HVIVX8vs1mTQ@3veUc4-Tb_0<1X zwL*-~vSp_Snl;6QDwo&H(3PLh=Ni^6ImNOm4qnW`Jn3o(L!y;|6LsZ_^3RC$(EZ9$ z+kN*@cU@bz48_&qJm5Hel(3wNtJeX?_1C9~B23z9Q0UWxRGfX0SpAv*^dPZ%D{|#Q zq9q+XTTu0f1mvNV;wB&;LFi4N9=u7^-k4E>r!U&yEgv6*;S*I z`%C>N=x-FdaC|ry1i+3f?wa)rp+qj%~PT&=rQsqc4$1qwhAH~fpR*vIx21Uz* zvLyPSNYX?N3dv1>Y3D$-r+2B+n#<{n&@GAnWP~0nTo9TPsGj9*rJSqpvP~G26I^h& zLDetNsj@#HcfI?iDYh? zbK`g83NU*9Hkh7Ta~_$qwC0>`EBRGRzF1vr7x;>JbAq85o7%bSTJv9IcG8-* zWM2H71fP<*;qzhq6^;ILao~{YIXLAjb8rFHk(rS}rk~cUH9fT6%j8|I^xYv&m+0Rb-t*`fXE@X~+@x3+_6zMVm$a z57}PhEas_06+)$L7UxTz?G4UWp6xBpexB`Z&S{=)F6RQzHlK5gXIsb-^K6Sb4|sd| zTjmQzlVc_B2DuFhJ*pK&A&sr8($}g@7F%-qoq8NT)Z^HS^e_6J+A}%!mu5R_Ot-ne zo*cWc$I9jDefysJr5UHU#ShC>S6dr68TXZ8)#|*k$*E3b#aPw)QE2$`^xu1|NFUz* zbP6Y@ zw*P1qYK+IRZprS)UW$qD&CU9ZJ$~hrbk2u+zmxyUmyXPixdzPZfO#7*w*ux)_&nSR zUp)WDYim9{+3CvxZ`Q0^*!krN@8mxpF3CIjoU0!>2XA!JWY|~ob2ulQR1PJYc|!hN zjl*%yF~y9D^_-}%$vkxxmZ&xk_t)37knt^y*LTDC4n|)xw!#=j#1cNQb4QJlj#-Wmb7rOrPeNnbVAaW`)a5RM z(V-)1(CozrKA~Y_9$~8Rg+1~<6C121EiZNHmZ|KvKlH%%I2Et!WZfyloRxuk-x{iK zUPHUx@SFL(CZ*8_HvP}AYvqm}d(2iVN~I|;j`OT}kS6k-^o6*xB7iS_H78vrkOzsn z9}6|uB~|hI&DYKNfTax7`O)y3#X(KVfgU#fGg@opmi2qgwkisw0WX+%j%bJ%$v<=z zFTYnRUHPp|e_^pQuzP%{!JYtq+0VO#xZ8%`d{L+3y;_v+nYohhetwns%Dpq9 zgcnRbT^kCe4&O$aCHvRPN8YgMFG_7v_O3Df#$&IF_hM=KsH}LA>5WLUYyM5jSJ}E5 z=E5M+Id}0Vk^*VJ7i{}ir@ms_zc#gtZGUNMciaB5)E>6|8&Z4O_HRt>W7}VzI>5HS zBK2L{{>s$Bw*6J9@7wm*q>i+m6XGd;yYjfFcxYv&r`W8r)>HgRW%t$M`IRGAi)#zZ+YIKTFE|c-G)Bx4b59LA>$jrJaVmaY6 ziPjvA_flQ`J}T8k6w$aMI1dS7EE6664f5jNSep630p!I8AZcESm87Rk!Dlna)9THC zR?V$xsJELcoBd_N>_(_aE;z3ERN`Gh32 znDkDXg(Qa{F(V1BH$9Wig(PzzIYhJMKynn4`6M|C$$UB&lFWnTEX_ia6Oj0k0I#1*5LV&T*lJVQ|ysaH>0JeS0JUngqEKE5lc^pCm^NXBM;g5dn9s%C=nv(#_aSA zCv+-l1P3DwPGUqiO2S{D(izI%_f*#BmxXEKN+U-l44&kQD)#zhK}5_ zSneUZ82FQs8Tj}|#8yODn5ZK&)ONXZHpmj?-&y7?w5kjIeAc+PzYWkYnA6?xZt0YH zb2s!zl7Huz<1x7|aE<-A{#ygMCG)z++%0vh`XE=Jk=lBP$XgY}_T8fBkKnx2Oa)`xaC%08boT~9JP8tX%Q8D-zZ7<8fq-o8fJ zWf+6bUV(RjQML?Y(BTTaIY!wpCQsL^93B0=z z36{9l$%N!{lEgz20m(^{EQMq!B(q2&fMfwAoP|w6&V}j0%Mdg{@H{P%oke&^MJF_V z@1sKm(;+M%DWmbiXG6kTlB*01@8H=|od~TrvW^h-1`ze#LLlm7DkfP0jvZPHjy*)8 zA0hf4qLo2=nrD*t7`z+K5D&wvlZT-)8oH1Q!(BQ4HS(B^!PyGgVp;hmaYopsaJ?{n z1xD3U>D5xzY_5e*cm$SVXt^_@M^?!WIVTD z^Qiqs%6FZ=X7_op^h(6@V!YC=|H3;jbn5)J*|~EszWT-o9_!Y3`ioqiAJp^jo>GV` zn)v6I49|}Z(AVsbLQ?n|vctb?ylz@u>M}D++3lJ?ccQs;%uq?-s}=at!zg*5?f8zu z)d<>djP&`bvkmo0O|RK47C=O)_Q{ZBggmpLAc^x1(kNVd28 zGaW^|z1`E?f?cJ)PHjxAhXUa}w6I_2mC^*qu`<>i`phK3Ft12U!5Jx7w-4Rqwr=pF z?pf-BK0S$nvq7KR0jL{@fe!#s-y}?44nX}764_%w^(F~1Y$PN%h=B=nKcHD2Gw>Xe z&?N>eqX=(5A-p9r{(u-bhD2cC1@alX`bW`OLO^_ySUMLY%4mcWv9v2jgw$SKvcWj) z73bbvc_VtW?MF19o?pN8)E&X%^AVT6Y%d_rDbB+Wh}lyl=3NR5Q}&jRtaB(f{n<}O z_>RBpzVjE~)|l!4rr#gTg=Q}FU&$xT>x+4Pwfp*tT6pK>PD9={JAbartF|9_e7Rn? zTgO~Fuc{*~&Qbzc&#$I&aeUp{Q}(`T`LQWZuDOoJCeEi3scT#T?A z!lu+}OruoGskj2~kUJ~Nsup)izT5*}5h9lUO--M+> z7EZtdA!-*J;@=HtxU|akzC!xOm&0iqcIPjo{L=M>%5dNBo76=E;PNI{F5M8}(nj&Ff=XA$d8ClS%{hY;D}>t6PecODV&N_dyk&=VM1PMCa-Fgf4K!bEX; z{)45b?g|!PjkvVcIBc+U?`gadI|0b;2ArShk3?;MEP4#gKN0lB!2kSdo&P8AK!5ty z#SHA&t)97F%=P+nkifihm{-m}?UnP&t41GqtY6=?+k%C6Uh1UxcH+5nTGxPXt;YT} zjcw^*Dd<;P?u>M<+S>dN3@?6hY(RU7;KylQIav9RlD$tnkrL3Y0(1ufx^eInXSduE zFnJxAoQ~6haB!rLZ=${LGtp!KjRydYeSyX$gvL+9p?^9}q_~0nq14n0`QepXCXP)L zHQh+p%&Y|_Q^|y)uq|1jzcoOk%ETJ={iEq--1%%E7$?It7 zsX#wh+0s*D!Qx91mo^!P^>Xe#oHt?~+ddXa<8}jSo0N}#jOtPnrD9%~@+ZTsE+t8N zj~A)@$rxA{kSHzV1uK6t_9%b;)0S%fiJZffU;pf<`Bcwe-iChT&cwJL-=mo;!CVRE z4bvXMFz*iL-SKqa9i2OArVR|xn1-v2>+>bZ1S^~MDpJEav$FocumFz!QH?}a0}%FC zl@pJF`BC-66HnxyWG_zzh$BC3iG%M23k$)*5}-02=bsS<70c6s$-2Pg8Ng)Ar{SP_ z3PZ{!1}(Xju8CbiADuhd6y$);zX|zT8zE!aX(}qldeiu;Jty&W8zEEh?;~WX+>%yf zLuoOUCVQaf;y{OL6FQKxed-D6R^ghaLYKBO>y9OkHJX|d%dM^xyawlY+3{^iIjg>m zeQD5+z5LQyy`2c7-jA(iX zxY?L!+6Uasn+Z{zWQMLYm0zqRu0Dl$9C398#i{&4kIFAL)pGns7>8M=j%cbsoqtiV zSV!CGojT(89;~p2-jb174p9ka?w+M#4Ng&VajKpq%}jd9-#9D4v-G0Bj>Ixb?(vi1 zny`oUyk;X+HW6I7aJhlALWT5y(>0jNc>Qj zVte^sYx8mp8PSm;6U|i^qxN)h)Fj5A;1t{EvFc*0^?h?2!zWa?WJLS?gTkCOxs5_D zo>GGgo^ERap6gR|MYwVU>O?lhdam3F)M{L_t;(f_bzx_OB~55KhnxCvOg)_st5gas z2Ho`xpH+GzJ#b%>JO+zE8zc4XF-cdxu~5WawOkAm!%EQ6v=a2_TC4;;w-75qhy93^ zp!1evC1~TDSP9yBAC`;;*FhNAR9)qf?50~4LCu|803 z1cz@Ca_uA%=V4YHhiES6NOS8VpCI)?af4lsLJ_e^$eq&`oY58>)fSAntxy;nSaBvt z>u=WO^7mzhUkWw%RkW(Suggbsi>@bSO59_XWcgTe%m;YYH7HW<@ABFwbhgQe>KCY9 zHvZm%`we>8qa?Ome#AHC5iPA}ywy<-fiKw7zSTy}<{Zd#u}EmCjBGVeXt|@^=WF*j zwEHXC{W--qp8lF`)x}i@+*U_B1m3VYA;ntI^Wd1Ib)?&z@H(cGc-6Z_!egfO?6Tou&^1G69Ov_G zabCy5PhFK@a@Pkqxz{4u2%axNBMzzT>KUvi`7bA~x$^hWsv^@23ZiQJd{feP0u*XdQBo zB~LNebZJSQsF~W5I#m1p9leycu$4dHQcH{)`2jv8Z!y*yLEfE%S~0 zo^l$y80$P^f#*koNd~#?Kjz&C={0uoD_iDIH29S{c+32$2J>!(>=?WFSLV%-xnmdi z+A`nTVBRmyaa-ow7|hEK$r-!&muBvv9xJm$&a6l;9J_c`-%}=A=0{GBwJ~UOj~lzV z`HZ#`GUzcOAVS%_XsEm(YnPN zHUEraZN_Yet55teXQxfdFdT1k^Hk_JHr}rLm*@_Ntjz!Tk6jLx`5$HU9)I@6sg2)^ z^mg61r0W32#as#IHNm_Un41D~FZ?I`R&X2;kXBh8p{Gi68mnPdTWhAoYI;aDvQpD# zkupX-<+dh7E#j1EG&}>x9{hsq0j;&mO3U5N8U}I%yXDQ1S*aPKHTNvlm&ZtD348s+ z`3jP_%zJO$Jxhb-rDMLjXSoDT$UVygXg1%oEJyP#Vk_powH>h)rDJv>h9(LzG~Xlk zMd_Fy5c^`@*u#jS7mFC0lZdS>9rGh%Xc7@ynOh<7tV@uMtL}NvOkVU_WTVa!D|yk| zkv{KxMJZQp&rFUo&r+FWEpxmTB?;Q_qrKiZNs?&cs@$cS{&l9yBYhTm?NxR!UFKLw z;Y52qQ_hvlJr`qe8b1E~F zuO%UC+q}$CQY;DT8WexRyUvUM$~pVI@$w|mmv>^1MJtQl*L&nPW(C&CzbuO#z8C(k zA@L{tOC>?ZL$i{r{JF}sb7s}a5)zch4(CG9>56@xl@RS!dpj1j*N_IMR$y=UA+^`- z^Uykf;+4DfM#jC^uKRSd>?1zXkB&F`+RDPk@r^)sR`NS7FGTxHeb{4s_5R99-nmO} zW>m&@J)m>Te)q6wAJ2!2##cY6EcecRfv>+G!;pv8Q?QeXorDp~mP8*LD*2hicB>a`^!+wVJ(3*V#y=k`)^A7Pcs}&)Bf9 zK9mQeHhcelsW8_>wlo`Q*+?X#3mzh0eF*t#6XdH;-$%aM2Kj2&ma%_ca)D;C#Vmf9 zg~cA9<*Mua5oRA$1^+DgzlHzc?U>NGgE)avjVr{*j^G4rAz2HF-W*8wLozrAk|U7J zBFRxm=0TE7l6jDvrdddG91>5G9D~FOk`|K8hvWjyk_*WxNWLRUEF{Yy8D9;_XOP^Y zSx9mQl2ar(4v8C`3rQA0BBojLAW4GcCP_{}vWCuuBuN8>9IokNiFo<`rMIEv~=GDw6kGC!flJoL4Rr%AJmG_)L^Cux4lwtuWl zE)aJ=(V<6Q-s1gVbsfB5XxT?y^gd0Td0}HuqwOC1o}%l(SN#ST4=tPA#q`s}Sr@kS zbldL1xR@)!ye62p0&`Pf?uF0rZ-uy?>KP?9E$*gDXV3V!g(bxSt;cERr~tiIe1;bNz+OquXsZ4zDa7gRuvE+HHCn9SHcnDG;+u z+*#MF?qI;iu=`GB%aZL9_n>PGy(TJ&kTG#-f{x?pbt?V=TJ&&`n171jeGF7X1oCovY?-soON_Y}sWYl!YObWdX}x+dsmp&O5}wN7P|Q|#3CE9BQ$ z6Kb6lE=Nj+Yh2F+RB+F%iEE9|tJ}fpU6l4fxQs-rAW9)o5{VKZY9x_}M8yz&O(IX4 zsScv6BuWZ!6a>~O_J_vZwen@(OxKKvvqDXFFL_cC7J<(2;C^Sw`%w1^J-DYF)aZo zm;}j%T1Zww;!0&ABq@X>lO$&$IR(j=Bv}c`0-B`|k~~P#An6K;#^9__b}jXft#2+;4)iGp}9P$5VX5pM#Bx0Z;v6jYp3 z1axKto%7rwdZ`Yg^AN37kClxpMks^|Nj!m>Qt8>v)XGc!X4_`Mej#g?q9rGzW3&MX`kZ_?KLwJE9$x=6kC?miTih}+6&Z{4LAJM@4#24&*84~ zV2hz;6T9eq>NoSkhMohr*MI*N<6^D^^O|7Z3d~J`xfedY-wMLH7c@sA1Jy;DYP(`r z3*h3(FYk3$@X}gyKu(J5w;X z9yt7e5gdd=1KM9pD7MD=0M>ip>^uaHAowQ^iG@2;LRc7}c1;Rvj;}C!8jcecR`PCp znm?`c%J@E1Q@|%69#-d-fX=956mL)#n!SRuohsQaZHhYkU|UXlTBMeocM>@xcYFuA zUlqYBWuViL9u`x2*bSuSjr8yi;@RRy>0vF;o`GaPNn9cM9Fkrn$%lk8(1J6ViU-gCuIJrp-x^Qky{veSjIDR4Z8e_Cdr$Ek8UMOF z?K@*@-dl?2$hdWP+BRbw-dM$RWSqVlVZ(EMuymVoB)j0Qz|a}rr|@6777T9XCKoif zRc9y`BjNjG)fo>ecBZsjmeIz-S3#-2m-Iz!+aITohv+91R{(O^#j7KregFcta!V3m zZUu<*xehA8x?F(ogQsqMR>!4m@M?b6C%T$=j&d`Yve*X*{5Uh*(BODJFeq(!qA=X| z6}h7J#2qVENv~o_M9P=SRu4N5uBi6)x`ud1;BgMf?iG-5oCpl70K*<55>5rf7J^|T zh=f;zSvNk0KdPlTMw#6oA=yI`!rH}5c}RD_DuoTh7tQV68nn4wT%SG>qrFn zHOs@b_~R6@v#C;bul|EqW{>WbtvY(%?t13`;!!sIUVSgG=1u18OZ|C^-*6s<>W_uwdY}63V|L6nU|t9R__u*dRHK@9;yts-6Lz+rY`NoW zu*B?|*XiU}maDfE4nA-*aMjWoW<$4sd!={4SN=a(swcS0th*R*um6bIG1uUK^Ez1j zX*1tDUL|sC(tHycy|AKA(wva1FjpV<3Hk;V*4%PbSGVKZ?E&>>h!6M#Wi5~9qL%vC z-KQ#YyRajri(Q@Jf}}`~ijH@@E8K4FNSTTW9FrpdC!N+at4$RvE8HIBT`Rd8wd%rQJ1p?usVwyxD%(~p|7KFCrp8@lFgR$FvUJr@8E8FxdvljM zX-2|GnQpO2$K63ZB$2OQayEU22ZxooDwKOi9pqZnlXX6DTI&n)k+O!Og!FKCQBPJH z9Q92jW%1;2gChx!J8*cBV-*}{;J5+D7;?D6aSD!ea5NOcu@a8sa3nr*=s=8yw`S+}WH2hlCtOaJW5#4o&PTk#a}J&W%4f$U}+CodCldh6@>f zFk;AH!;p}%jx>q?*j42)0Z4RZ#Pg~Pc_pUdpa?@4qt;0yLA54Z03daJ>S^w@%>kw2KOIY z#<-X(!MrAzw*qrh_y^t#{j@0D(1yY#=dYE#F|TgT$<+xPcBBl5Ev{Wy;nsP$?}YhD zMUO&>s}n9FbfUNxFdB@|f~2A{jIyg+!-Rf)HKM_}Yrwcg1i%u&@6&LoM#$4#W{QU- zNe67`sVNZgrhMA^mORa2rkM4$a^U;Kz2U}f_}kWm8@2V?n(&d-OGwx80I~8xtj!?S zY%r}3VQ>l@m2hk$2Vrmm9Qkm}CI?|~JRDcx&?N_9a2y;&z1fd3m>k5#_?|wg>2r#| z+<>#`LVCLN{EP8qyzq2?&q0?9$a=Sl{`&x<28ND1jECeQqm?{Fyf1@qckn-L?S@u| zfcGsJ;binD50USCq2Nx+wC6v zzhYd>m0(^I%v*uEDLhB_LaV{8&dCKT%^Xvuv_+(u(yC;s%UNq1Icf>NfvezawylgF zSIr7iOGT{`j@ltc7}}_>kqJ39jjRcp_=2E7buNG-CG#fK>C3czy zMWVUkHsBHEB%i0hCA+$`YJ=z65{JMMwsBH@T7epJt>YcrxPW8f7w`MH zH!dN~ z4-Yk9V)yaV<5u-#mb;NzL*@au@qEobj@u5LkXN?9d*i#N(J(#9e9_bqrh7I{qRfQM zRb-ymnk&iNXW}T*Xq3fAakv|YaPsA@$uO@UQetA)WE|rPnM<^0I++Gq^BkGwE0g)o zUAYd8X*pB!yhRRy9yYj^8MzPfyq1$WMQbk9dUMD-U+dMHGi`+OqAIUrbd~p%;?!nk zW6Dlnti?PQHd0*gnEQe5jW@@p;Usn)l4Igq4|!OzTPvQLtyB(fNy_mTVfpDa=|i0Z z_oWFfbH}PwPW+HVd{Ir_jfe6SRnI-@pcLnc*&?aD>+%+5caCa0hhJ{Yy)PfBQS6bj zoExx4pj08$3*;NO2u%a|?kz&QKz>|{&^M4TZ4pMmuM{T0uN3CNubi;3MJTe4;;4

o3;C6)`B%CkVo(5qkOpI1 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 literal 0 HcmV?d00001 diff --git a/research/split-centres-global/inputs/e8-r865.json.gz b/research/split-centres-global/inputs/e8-r865.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..8bec1751f7e33c3a1e4673ef5dbc34d6f205321e GIT binary patch literal 33865 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 F0sxs54@Cd~ literal 0 HcmV?d00001 diff --git a/research/split-centres-global/notices/NOTICE-PR352.md b/research/split-centres-global/notices/NOTICE-PR352.md new file mode 100644 index 0000000000..4f9a0194a3 --- /dev/null +++ b/research/split-centres-global/notices/NOTICE-PR352.md @@ -0,0 +1,33 @@ +# Attribution and provenance + +Prepared by DaysSky, assisted with Claude. Apache-2.0 (see `LICENSE`) applies to the new code and to the inherited Apache-2.0 +code below; third-party notices are preserved where files are vendored. + +- **Complex supplier: the E8 unit** (`code/complex/inputs/e8/`): Jacob Sussman, jacobalansussman/wht-power-saving-lean + at `9c94857bbaee886f8649edee0bc2d3c738f9555e` (Apache-2.0, Copyright 2026 Jacob Sussman; his `LICENSE` and `NOTICE` + are vendored beside the files). The certificate `tools/certificate/gcert1-e8-r783.json.gz`, the 24 Lean modules and + the comparator configuration of his kernel-checked theorem `wht_main_block_B2Ge8x`, his Lean-data generators + (`tools/gx/{gxgen,gxrate,gxbind,gxunit,gxcore,gsmirror,gxpaths,regen_check,regen_check_e8}.py`, + `tools/gen/{foldlib,foldgen,gen_rates,gen_sharp}.py` and templates) and his stand-alone `tools/e8/replay.py` are + vendored byte-identical and sha-pinned in `code/complex/inputs/complex/source-pins.json`. His README credits + devices from this repository in the unit: slot reuse with a compensating read (jamesyc #124, eumemic #143), late + pairing (Chafik Boukhalfa #200/#233), the in-place pair (icekylinx #184, carried in ikeboy's #191/#193). +- **Bit word, Design T, twin condensation, checkers and engines** (`data/bit/`, `code/builders/`, `code/checkers/`, + `code/pricing/`, `code/export_p10.py`, `code/stage_cohort.py`): unchanged from LJH-217's PR #346 at + `11b4de5ff8ed5fccf55d4af1043358d257308e8e`, which builds on DreamingOfClouds' PR #325 p10b word and PR #315 engines + (#285/#276 gen5/gen4 lineage on eumemic's PR168 generator and source527 package, PR #200's physical rules, hcg890 + and Jacob Sussman's five-stage architecture, Evan McKinney's completed banks), utcorvusvolat-dotcom's w3 Design T, + twin condensation and verifier (PR #310) and PR #266's official checkers. See PR #346's notice for detail. + `json.hpp`: Niels Lohmann, MIT license in its header. +- **Complex checks** (`code/complex/portable_complex.py`, `code/complex/code/`, `code/complex/inputs/complex/`): + PR #315's portable complex checks as ported to p = 10 in PR #346 (#256/#233/#202/#200/#194/#184 lineage: + icekylinx, Chafik Boukhalfa, Avi Eisenberg, eumemic and others). Jacob Sussman's `gx.check1`, `gxcore` and pinned + Lean chain sources under `code/complex/inputs/complex/sources` are unchanged from PR #346 (byte-identical at + `9c94857` except his `ORIGIN.md`, kept at `f010392`). +- **New here**: `code/complex/code/scatter.py` and the generalization of the label, scalar, splice and guard checks + from the paired-cube star scatter with h centres of rank h − 2 to any gx scatter (table or star) with any number + of retained totals of any rank (regression: on PR #346's p = 10 program the generalized checks give byte-identical + scalar schedules, splice programs, primitive expansions, ledger and precision guard); the generalized final-climb + partition; the E8 pins; the Lean-binding and replay steps of `certify_complex.py`; `verify.sh` changes. + +Credits do not imply endorsement or review by the credited authors. diff --git a/research/split-centres-global/notices/NOTICE.md b/research/split-centres-global/notices/NOTICE.md new file mode 100644 index 0000000000..c244e3f56a --- /dev/null +++ b/research/split-centres-global/notices/NOTICE.md @@ -0,0 +1,47 @@ +# Attribution and provenance + +Prepared by Dylan Crow, with Anthropic Claude assistance. Apache-2.0 (see `LICENSE`) applies to the new code and to the +inherited Apache-2.0 code. Third-party notices are preserved where files are vendored. + +## New in this package + +- The E8 bit word `bitE8-r865` and its producer (`code/bit/producer/`). +- The record exporter. +- The independent checker and the controls. +- The centre-count CP-SAT proof. +- The generalized bit-side checkers, each with a documented default that reproduces the original: + - `NCOPY` in `legality_h.cpp` and `columns_h.cpp`; + - the `--gram` parameter in `gram_frames.py`; + - the label-family parameters in `geometry_g.py`; + - h and replicas in `tile_g.py`; + - h and T in `certify_bit_g.py`; + - NCOPY and the route template in `finite_g.py`. +- The receipt assembler. +- The secondary `seven_stage.py`. + +## Vendored + +- **`code/complex/`, `code/pricing/`**: unchanged from PR #352 (DaysSky) at `04b4c3c478b5bd8797d2663d89d8db4dfd0ad9f2`. This + includes: + - Jacob Sussman's E8 unit, Lean data, generators and replay, from jacobalansussman/wht-power-saving-lean at `9c94857` + (Apache-2.0, Copyright 2026 Jacob Sussman; his `LICENSE`/`NOTICE` are beside the files); + - PR #315's engines (`moment.py`, `base_two_moment.py`, `outer.py`, `prime_witnesses.py`). + See `NOTICE-PR352.md`. +- **`code/bit/regression/`**: unmodified from PR #352 / PR #346 (LJH-217): + - `legality_h_pr346.cpp` and `columns_h_pr346.cpp` (PR #266's official cohort checkers as generalized in h by #346); + - `stage_cohort.py`, `prime_new.py`, `tile_check.py`, `cost.py`, `certify_bit.py`. + The generalized checkers in `code/bit/checkers/` derive from these, and from the source527/p10 packages' + `finite_check.py`, `geometry527.py` and `global_lowering.py`, whose lineage is: + - eumemic's source527 package; + - PR #200 (Chafik Boukhalfa); + - PR234 (hcg890 / Henry Grant), on Jacob Sussman's five-stage architecture; + - Evan McKinney's completed banks; + - the p = 10 ports by DreamingOfClouds and Chafik Boukhalfa. +- **`code/secondary/bridged.py`**: unchanged from PR #363 (DaysSky) at `9df55dad6ddd05c3458793dfd82d1c2fe0ddbbb4`. + See `NOTICE-PR363.md`. +- **`data/regression-p10/BASE-*`**: PR #325's p10b word as exported in PR #352 (DreamingOfClouds; #352 `data/bit`). +- **`data/regression-p10/receipts-loans/`**: verification receipts of agent G's p = 10 passive-loans package, used only as + regression input. +- **`json.hpp`**: Niels Lohmann, MIT license in its header. + +The E8 label family on the bit side follows Jacob Sussman's introduction of the E8 family for the complex supplier. diff --git a/research/split-centres-global/notices/PR386.txt b/research/split-centres-global/notices/PR386.txt new file mode 100644 index 0000000000..28cfebeb08 --- /dev/null +++ b/research/split-centres-global/notices/PR386.txt @@ -0,0 +1,25 @@ +Prepared by Zhihao Chen with substantial OpenAI Codex assistance. +New compressed nine-stage bit geometry, source-bound global template, +independent audit, finite bill, combined certificate and documentation: +Apache License 2.0, the repository LICENSE. + +Pinned dependency research/e8-bit is reproduced without modification from +Dylan Crow (utcorvusvolat-dotcom), with Anthropic Claude assistance, PR #370: +https://github.com/CrocSwap/integer-mult-bounds/pull/370 +commit b7fe9cdf2da009c947ff6b334c562bc190b30373. +All LICENSE, NOTICE.md, NOTICE-PR352.md and NOTICE-PR363.md files are retained. +The local E8 bit word and its producer are their contribution, not ours. + +Pinned dependency research/nine-stage-complex-e8 is the independently +developed complex component from PR #377, commit +d0a620fcc99ba012468d61d01f5bb14007076d50: +https://github.com/CrocSwap/integer-mult-bounds/pull/377 +Its inherited sources, source notices and licenses remain unchanged. + +Jacob Sussman introduced the E8 family and complex unit. The preserved +upstream notices credit source527/eumemic, PR234/hcg890, PR266, PR315, +PR346/LJH-217, PR352/DaysSky, PR363/DaysSky, Chafik Boukhalfa, +DreamingOfClouds, Evan McKinney and other original contributors. + +The portable bits/stdc++.h shim contains standard-library includes only; +it changes neither inherited algorithms nor their verification checks. diff --git a/research/split-centres-global/notices/PR426-SOURCE-PINS.json b/research/split-centres-global/notices/PR426-SOURCE-PINS.json new file mode 100644 index 0000000000..24a25d4342 --- /dev/null +++ b/research/split-centres-global/notices/PR426-SOURCE-PINS.json @@ -0,0 +1,1116 @@ +{ + "files": [ + { + "commit": "b07cf2f3fdffcbccca86c88a0c33b32dfce4bfe9", + "path": "vendor/source376/two_alias.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "5046a050e168266aff6488d27ca6525469c844118fbaced9af2b3dde8e13065c", + "source_path": "research/e8-far-helper-composition/two_alias.py" + }, + { + "commit": "b07cf2f3fdffcbccca86c88a0c33b32dfce4bfe9", + "path": "vendor/source376/candidate_from378.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "b97c57e03fb570caab63bd82bf00664b5abea7eda8db3adfed69fc20efd82fb6", + "source_path": "research/e8-far-helper-composition/candidate_from378.py" + }, + { + "commit": "b07cf2f3fdffcbccca86c88a0c33b32dfce4bfe9", + "path": "vendor/source376/candidate_frames.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "2b8d10ff732e030eb643478b3da0a91753dc77314eeb882a51eafdb871d935e2", + "source_path": "research/e8-far-helper-composition/candidate_frames.py" + }, + { + "commit": "b07cf2f3fdffcbccca86c88a0c33b32dfce4bfe9", + "path": "vendor/source376/transport.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "264f6fc385532a25ae7f99774c2cb33e6ff6943fdbca546cfa000fb9e551fafb", + "source_path": "research/e8-far-helper-composition/transport.py" + }, + { + "commit": "b07cf2f3fdffcbccca86c88a0c33b32dfce4bfe9", + "path": "vendor/source376/LICENSE", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "source_path": "research/e8-far-helper-composition/LICENSE" + }, + { + "commit": "b07cf2f3fdffcbccca86c88a0c33b32dfce4bfe9", + "path": "vendor/source376/NOTICE.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "604f9225eee50bc7bc5cb8bfd33c2598e700466278d03fa06cfbb74c2b8e0d8e", + "source_path": "research/e8-far-helper-composition/NOTICE.md" + }, + { + "commit": "dcebad83e4d7e6a5643ba8edfb432b0ba0dd1826", + "path": "vendor/source395/construct.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "2b49d8b1f24f6e642d3cc81142a3ad8dfacead60280dc0df0a1326daa97acc0b", + "source_path": "research/e8-signed-prefix/construct.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/architecture/audit.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "c69bd2ac387a944ffa33bb9660f7ee407ca75648ec937217851780333df28f22", + "source_path": "research/e8-response-subspaces/architecture/audit.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/architecture/banks.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "7a8d81894dd7c35f05122bca19c5fc30f04ddf0dc4f2c8d73e334cdd3b64e396", + "source_path": "research/e8-response-subspaces/architecture/banks.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/architecture/bridge.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "92456fe1df26f51233fa5f8b96c1f8dd6118df3f3b385654c26de8c205db6bb0", + "source_path": "research/e8-response-subspaces/architecture/bridge.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/architecture/deps/json.hpp", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "aaf127c04cb31c406e5b04a63f1ae89369fccde6d8fa7cdda1ed4f32dfc5de63", + "source_path": "research/e8-response-subspaces/architecture/deps/json.hpp" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/architecture/inputs/BANK-PATTERNS.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "5d29feadc8f6b4d946cfdf26455e4211e1213616ae033625e924d1ad30d61bae", + "source_path": "research/e8-response-subspaces/architecture/inputs/BANK-PATTERNS.json" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/architecture/inputs/DATA-PHASES.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "47225c2ce696432aa9df6f422ae784aaa91bef651757f4266d0ea4edbff74694", + "source_path": "research/e8-response-subspaces/architecture/inputs/DATA-PHASES.json" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/architecture/inputs/GLOBAL-TEMPLATE.json.gz", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "19185edd2837894f97dd962e8cebdcb12e46ec85b8f0146405840ee8eddd79f5", + "source_path": "research/e8-response-subspaces/architecture/inputs/GLOBAL-TEMPLATE.json.gz" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/architecture/phase-replay.cpp", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "b3f44ae97d191df8f11024cef3bd0fd1a92f543f45183557db546c43cc6d4674", + "source_path": "research/e8-response-subspaces/architecture/phase-replay.cpp" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/architecture/phase.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "be98c242c194674b35ece6b2254605ba0a04d51a0d13933ff86c84240b3f957a", + "source_path": "research/e8-response-subspaces/architecture/phase.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/architecture/SUFFICIENT.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "1c9b41de1015196b608dbbe17fdcab692ac78249b585f4579dfe13676b8faa5f", + "source_path": "research/e8-response-subspaces/architecture/SUFFICIENT.md" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/code/bit-compose-replay.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "553f29567694069526dd317f2c42ef4a235efbcec2d639c1692dcae50647ce04", + "source_path": "research/e8-response-subspaces/code/bit-compose-replay.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/code/engines/base_two_moment.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "source_path": "research/e8-response-subspaces/code/engines/base_two_moment.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/code/engines/moment.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "source_path": "research/e8-response-subspaces/code/engines/moment.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/code/engines/outer.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "source_path": "research/e8-response-subspaces/code/engines/outer.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/code/outer.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "1db8744f85e87cfaa5e2b3696d7f89a2972c668365318a7cb1b6695c537467ee", + "source_path": "research/e8-response-subspaces/code/outer.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/frames/PROOF.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "01e721550cbee2d58681bcd2b561b1f8d5e2e422dc7a630cb99d62505166beb8", + "source_path": "research/e8-response-subspaces/frames/PROOF.md" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/frames/README.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "6592f3191538dff5233c7b4613848f750e3e645ab0956a20ca93b9f6d0775a4f", + "source_path": "research/e8-response-subspaces/frames/README.md" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/frames/reconstruct.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "726b3404aacf86b2515027622102d1a3075e82e1fbeb477f9d6aa438bb9baee3", + "source_path": "research/e8-response-subspaces/frames/reconstruct.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/frames/selection.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "17b7959402af929e2b24d2d1b285f84d6cf51a90cd077eb0fca9b4f5f7bf1d76", + "source_path": "research/e8-response-subspaces/frames/selection.json" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/inherited/BASE-MANIFEST.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "01663bf06edadded13027713c49b5764fb0db8161bdf0b38320328e0fc428359", + "source_path": "research/e8-response-subspaces/inherited/BASE-MANIFEST.json" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/inherited/BASE-REPLAY.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "7c323c0abfad726178ac36c69604b6825049c194715d1ea621f1b86a99a72e1d", + "source_path": "research/e8-response-subspaces/inherited/BASE-REPLAY.json" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/inherited/BASE-VALIDATION.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "dea88d4f6e201abec078505ded8d08a85fd6492d8c60874feb9113589f887157", + "source_path": "research/e8-response-subspaces/inherited/BASE-VALIDATION.json" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/inherited/BIT-COMPOSITION-RECEIPT.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "453cb782369596c1086d98eab7931ff4a48046e71005a749d48e693431a50bbe", + "source_path": "research/e8-response-subspaces/inherited/BIT-COMPOSITION-RECEIPT.json" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/inherited/BIT-REUSE.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "17dfc693af28f4ba639eb1145610f6f88b799efae49cc3a6a0fba886a3e0e35c", + "source_path": "research/e8-response-subspaces/inherited/BIT-REUSE.json" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/inherited/complex-reserve-notice.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "380ce615ddb67da3680fa188a0ba0daf578b983d58c2496cd20dd06f32e4ef57", + "source_path": "research/e8-response-subspaces/inherited/complex-reserve-notice.md" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/inherited/e8-notice.txt", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "557c9ad4660eebd14a00583736c4d12d2c45f3fc9bc148845f9f3efec72c9434", + "source_path": "research/e8-response-subspaces/inherited/e8-notice.txt" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/inherited/helper-notice.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "604f9225eee50bc7bc5cb8bfd33c2598e700466278d03fa06cfbb74c2b8e0d8e", + "source_path": "research/e8-response-subspaces/inherited/helper-notice.md" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/inherited/LICENSE", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "source_path": "research/e8-response-subspaces/inherited/LICENSE" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/inherited/NOTICE.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "9d8ba00681a08f4f6e2d2fef828c9837763a5ea534dca198b5b82ca8a0fc3662", + "source_path": "research/e8-response-subspaces/inherited/NOTICE.md" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/inherited/outer-notice.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "eb15ca83343fadc44f184513680aaaca34d447e04f5929c30054afb205732ddc", + "source_path": "research/e8-response-subspaces/inherited/outer-notice.md" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/inherited/pr352-notice.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "967e6d7e76e216e4898cf543c75b527e8d397ec1ddba3800cb20701f24c89524", + "source_path": "research/e8-response-subspaces/inherited/pr352-notice.md" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/inherited/sussman-notice.txt", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "9419dd03a2f52cf8bdfc4d18216ce29f263ab583b27f01ced8e420985bcb7c81", + "source_path": "research/e8-response-subspaces/inherited/sussman-notice.txt" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/inputs/bank-patterns.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "5d29feadc8f6b4d946cfdf26455e4211e1213616ae033625e924d1ad30d61bae", + "source_path": "research/e8-response-subspaces/inputs/bank-patterns.json" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/inputs/candidate781.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "a4e42aa1663f5ad0da48cee6fe8514b205e43cf6e791b80674dbc7506a098a32", + "source_path": "research/e8-response-subspaces/inputs/candidate781.json" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/inputs/helper781.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "3df4c637c69840d53a0137eadbe16e25add617984bbe4da099d059f026192f1e", + "source_path": "research/e8-response-subspaces/inputs/helper781.json" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/LICENSE", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "source_path": "research/e8-response-subspaces/LICENSE" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/local/ANCESTRY-NOTICE.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "66997993ef97c9c185b2b96b9bc0f67ee297f01cc79da6f4b7e7077b3a601e6a", + "source_path": "research/e8-response-subspaces/local/ANCESTRY-NOTICE.md" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/local/deps/clifford_exact.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "source_path": "research/e8-response-subspaces/local/deps/clifford_exact.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/local/deps/complex_labels.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "e000ee131389fec427388b85f632879cbaaf10e5e5d979a47d6307d64ce58982", + "source_path": "research/e8-response-subspaces/local/deps/complex_labels.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/local/deps/complex_scalars.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "38e985ebe8c8e7f8c83c03828abde0c80be418caf95e97afdf2d0c357c0ed919", + "source_path": "research/e8-response-subspaces/local/deps/complex_scalars.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/local/deps/complex_splice.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "aaf46c8e5c68875b8315892e924e082b2f219f8d042dd14937e7cd2f72456dce", + "source_path": "research/e8-response-subspaces/local/deps/complex_splice.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/local/deps/p10pins.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "93b78a2e038b23264d04836928c78b6ebf33b87ff3dcc0e43ba0f1748fadd143", + "source_path": "research/e8-response-subspaces/local/deps/p10pins.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/local/deps/scatter.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "dfd1afbbb3ff86f54db6a0313916403ec8ee6f939caa62f3edcc9d7a151bff95", + "source_path": "research/e8-response-subspaces/local/deps/scatter.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/local/local_admit.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "bb6e0f228e841bb0dfa61accae6478e3ddf153e414bc353f2f48ca4e9c7cc9b3", + "source_path": "research/e8-response-subspaces/local/local_admit.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/local/MANIFEST.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "3244b88da8f5b1582a777319d9a92b7bf317c41ae76215f9a191fb39b2a9e218", + "source_path": "research/e8-response-subspaces/local/MANIFEST.json" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/local/prior-phase/CLIFFORD-RECIPES.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "356211a16d179c8b4d37d0bc5d038b55b4d0397242b119f7b83a583b7f766e1a", + "source_path": "research/e8-response-subspaces/local/prior-phase/CLIFFORD-RECIPES.json" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/local/prior-phase/CLIFFORD-REVIEW.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "0adf36a157af511c6b96a1a5c3c319061a7c9585b865f1289668c0f915fff641", + "source_path": "research/e8-response-subspaces/local/prior-phase/CLIFFORD-REVIEW.json" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/local/prior-phase/SOURCE-REUSE.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "e5e7b8c8dc2f6df47ab2b21e58299d4316d104bbf426146d948f16ba92ecd88c", + "source_path": "research/e8-response-subspaces/local/prior-phase/SOURCE-REUSE.json" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/local/README.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "fb34710058552124798406167c0e3f2525cb665f9aa8d297329b3a4d1e295051", + "source_path": "research/e8-response-subspaces/local/README.md" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/local/UPSTREAM-NOTICE.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "9d8ba00681a08f4f6e2d2fef828c9837763a5ea534dca198b5b82ca8a0fc3662", + "source_path": "research/e8-response-subspaces/local/UPSTREAM-NOTICE.md" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/MANIFEST.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "5ff08a6c7b051d227fcd516542b56718ae65bca93615acfe09cb8785d8e3f43c", + "source_path": "research/e8-response-subspaces/MANIFEST.json" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/NOTICE.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "8e2a5c0d6a1a582f52bdfc421d7412eb3e84aef5460835c647ce55f5b8d2896d", + "source_path": "research/e8-response-subspaces/NOTICE.md" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/PROOF.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "94a8244d3211ef091d570735cee4521995691ecba7fd18ed05647745d58d24da", + "source_path": "research/e8-response-subspaces/PROOF.md" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/README.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "912d7aec76f958142cacd2f647e9224e22f2909feb0430295ad5584f86451c67", + "source_path": "research/e8-response-subspaces/README.md" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/requirements.txt", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "f201db884fc05bd8fb9478402ec8394b7c71a6ae189e4e953c6f00a2b793ffa7", + "source_path": "research/e8-response-subspaces/requirements.txt" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/research-notes/AUXILIARY-PREWHITENING.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "58024afc83867a99441c513c6852df7305c2423ae5601c73c2e22854e261ce43", + "source_path": "research/e8-response-subspaces/research-notes/AUXILIARY-PREWHITENING.md" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/research-notes/bank-patterns.cpp", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "b7c16637602a6682b79f75dc7b0f069284b0cc21ba43b6b3c36f7fa9606f28ce", + "source_path": "research/e8-response-subspaces/research-notes/bank-patterns.cpp" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/research-notes/bank-review.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "23914f4771dc882f71683809b4d84dda7ae8b60bbb9c64ac8ec17816d71a3a24", + "source_path": "research/e8-response-subspaces/research-notes/bank-review.md" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/research-notes/frames-gl3.cpp", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "5ed6b2c0a654393c54552d26bd4c1c9cc07addb0d6c8ddd8e969e1ab9681dee5", + "source_path": "research/e8-response-subspaces/research-notes/frames-gl3.cpp" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/research-notes/frames-NOTES.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "e4bec2dab0e059df74d35870c1ca3435d4cd5fd021961b56253aea7f429d796b", + "source_path": "research/e8-response-subspaces/research-notes/frames-NOTES.md" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/research-notes/frames-response-search.cpp", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "fa56a09e7b98465e0173a2bdd8e331dd8831dead7f5397e2509586c386bcc321", + "source_path": "research/e8-response-subspaces/research-notes/frames-response-search.cpp" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/research-notes/outer-and-dual-proof.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "0312475a1c2426df57b4e4b655b0f29f13cb21ba8e7aab3d7a800ace37303a3a", + "source_path": "research/e8-response-subspaces/research-notes/outer-and-dual-proof.md" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/research-notes/readout-SUMMARY.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "974f59c965f1ae0fd89e2f87d1d6108f41a731535caa93638fe513daefa02165", + "source_path": "research/e8-response-subspaces/research-notes/readout-SUMMARY.md" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/research-notes/SEARCH.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "ef66c6962ec287562d06cecb94d918d82279ec56a7112ecd578406f865084c27", + "source_path": "research/e8-response-subspaces/research-notes/SEARCH.md" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/RESULT.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "466cb1aeb6ffde5fcebb019e5dd8e5549c1b24e25e74e5d32b82c56691b56c6e", + "source_path": "research/e8-response-subspaces/RESULT.json" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/VALIDATION.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "316f09393038630b772e82669fb00963a14c8218a831d9b35c0f256543a4eb7e", + "source_path": "research/e8-response-subspaces/VALIDATION.json" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/VALIDATION.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "e3bdad62dc0f4ef7c90b9fd650d3647d5b3eeef69473aa4caf4dc3cfba72dfa4", + "source_path": "research/e8-response-subspaces/VALIDATION.md" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/checkers/certify_bit_g.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "c9a31508126f34e7ac95d802c39e8919a872cd705314de5bf3538de1636ce8ce", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/checkers/certify_bit_g.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/checkers/certify_bit_k.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "e68a81ef7981a90d613752003cd5cab5351e260f909b094f1668d8a4dfe480df", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/checkers/certify_bit_k.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/checkers/columns_h.cpp", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "d1297f9052be4f2496e1ff2a77e4db2c0cdbd7d460d489b4c03e50bf317238ce", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/checkers/columns_h.cpp" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/checkers/columns_k.cpp", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "1c344d18fcd494eeca93e259f10cafae7705780e6592f6dcb35b34752dab9bc2", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/checkers/columns_k.cpp" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/checkers/cost.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "d55d2b865d1c3d35e343e1a38c592b9172ed8e2596d1107e34d92e2a80c7d03f", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/checkers/cost.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/checkers/exactnd_h.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "28a0d8ee29ac75b8a789705454987f07d618f135ed1f1bd45b97f18bcc4163e3", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/checkers/exactnd_h.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/checkers/finite_g.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "a591d8caa9ab50a4c7ec6934c71c93fc18fd14680180b43071e8d9d704f7ac9a", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/checkers/finite_g.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/checkers/finite_k.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "7e67dc75e63a11e38ac6d6615656c7cf6982e5a33dd404d04b967bf474cad02e", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/checkers/finite_k.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/checkers/geometry_g.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "b9fa3cd05f36f5fcebfdebfb4a86fb90e92ed3c1d9157c52918ee8c5b563b54f", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/checkers/geometry_g.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/checkers/geometry_k.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "646b7e8773d9c99376cb00627f109a97319e6d72b439ff513c39035c28c3f70f", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/checkers/geometry_k.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/checkers/gram_frames.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "223a5a07731fc315a90a3e48177796babc155c1d9985c7ae5017eff6af2a0608", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/checkers/gram_frames.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/checkers/json.hpp", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "aaf127c04cb31c406e5b04a63f1ae89369fccde6d8fa7cdda1ed4f32dfc5de63", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/checkers/json.hpp" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/checkers/legality_h.cpp", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "6c1ef2b24e57781d6951c172a1024fc4300e6fd392c9d6672079a7806ab663b3", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/checkers/legality_h.cpp" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/checkers/tile_g.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "8140eec180e42202f2c6a9f11f5c92885e60861c38a7611dd805c524e3438138", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/checkers/tile_g.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/checkers/tile_k.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "64255088821f601ede2c3006f08cb97c39a4fa10dbbeb93a8a71fcfa0e1d8d77", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/checkers/tile_k.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/export_records.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "8a5999601f917dbb492bb9ae9a344611f18cc7cedc53dc3c76496a369e530eb3", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/export_records.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/independent/centres_sat.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "f69379968367544807db2f0cf14359977e56299383b3edcc4469ddea7c7ecb40", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/independent/centres_sat.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/independent/checkword.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "11bf9620ca9db16d52d9fe806b814fc9ec9a89c4d7645354d1861d96f6e805ad", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/independent/checkword.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/independent/mutate.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "0ff65aace5da4b57d96235bf830f8f11969322e75134d498aeb70e9753ec6b0d", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/independent/mutate.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/mutate_records.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "b0e75d6550412a7be4017695e6b237392b611bb852ad8ff309d6682c9f166a4e", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/mutate_records.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/producer/compile.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "60fea6a9d6617a3f87376d3fda040642e9cb70e7c179015e03ede8d289f30357", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/producer/compile.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/producer/compile2.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "0e23d4282ceb75768e82631da016aaff9818aec53c7d75a6b2a28ee1b1160dc3", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/producer/compile2.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/producer/e8lib.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "4f8a6843e83bc4f7055d7337f33dbe12ce499051f46bee1b81bbf6b34c652574", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/producer/e8lib.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/producer/frames.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "ba71f77dd3e3c1c54f361c066cebe9faadbc78db46376046e7af625bf1de8c24", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/producer/frames.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/producer/fullword.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "0daf87599e9e48646b985ad87351c56c1b73cfc99cdf9eca081483846ddbfa90", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/producer/fullword.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/producer/ham1.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "359040fb432fd392472af6b8f5dca0234dd6c2be744a791df27ba62bc5da5175", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/producer/ham1.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/producer/ham2.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "fdf0af785ce697bd7f80b4e75f7163735f3b599d9dc42f652f0ffdbdf18ea8bf", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/producer/ham2.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/producer/params-r865.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "1256c54debe0a551da8e24896ab73ef0bd4a5233ff8e6fedf21a9e6301d6e6f3", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/producer/params-r865.json" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/producer/price.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "46c858e60ba0a117bf8227b864abf55e85ebee2d56a0dce64472b706499ac405", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/producer/price.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/producer/search2.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "4999c5d6bac9757e4236c45435201631eae21f644dc9543d8c0b6e3cc8360daf", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/producer/search2.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/receipts_e8.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "935ea65d9c6739e868ccf1aa439bd3c246657dfc887e4a0222a8f0901a5b41a5", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/receipts_e8.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/receipts_k.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "67f714e10a846e9cc62996342f825cd715055031e0b12591abdafd225717e195", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/receipts_k.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/regression/certify_bit.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "fc03e8f7bf73d7d70346b87c835d44508b0581c9ff9aec708fbbd4f0121e0394", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/regression/certify_bit.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/regression/columns_h_pr346.cpp", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "26f5c9be3a7f545d50be458e3d17403921b5542a7dcd2986c848664a774977a8", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/regression/columns_h_pr346.cpp" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/regression/cost.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "d55d2b865d1c3d35e343e1a38c592b9172ed8e2596d1107e34d92e2a80c7d03f", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/regression/cost.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/regression/json.hpp", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "aaf127c04cb31c406e5b04a63f1ae89369fccde6d8fa7cdda1ed4f32dfc5de63", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/regression/json.hpp" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/regression/legality_h_pr346.cpp", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "5661d0b91e07d95736bde4c1824f27bebaecce0a84e38403f5391ebc51a52056", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/regression/legality_h_pr346.cpp" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/regression/prime_new.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "7bd5cb48537621f1217d174274d42483da4e2d02feec238643c798c36b30366a", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/regression/prime_new.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/regression/prime_witnesses.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "98cd03bc9582e7bd0ab194c191ea8eea940539e510051443ab9fd3e572a364ab", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/regression/prime_witnesses.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/regression/stage_cohort.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "6c288f6f234b528c1a7c0a4adfb724e91e0fe6b18c8dffad96af3f973de1829a", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/regression/stage_cohort.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/bit/regression/tile_check.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "38c3f78daac118395565a65fa3543b1c349638ff2519ce7fda0dad2d788e90ae", + "source_path": "research/e8-response-subspaces/vendor/bit/code/bit/regression/tile_check.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/complex/code/bridged.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "5fe7174cd3a6580a74e4c1bf8fa7b426e8673f1c285603bf3076d4e758d70731", + "source_path": "research/e8-response-subspaces/vendor/bit/code/complex/code/bridged.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/pricing/base_two_moment.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "source_path": "research/e8-response-subspaces/vendor/bit/code/pricing/base_two_moment.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/pricing/moment.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "source_path": "research/e8-response-subspaces/vendor/bit/code/pricing/moment.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/pricing/outer.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "source_path": "research/e8-response-subspaces/vendor/bit/code/pricing/outer.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/code/pricing/prime_witnesses.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "98cd03bc9582e7bd0ab194c191ea8eea940539e510051443ab9fd3e572a364ab", + "source_path": "research/e8-response-subspaces/vendor/bit/code/pricing/prime_witnesses.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/bit/data/bit/bitE8-r865.json.gz", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "1fb726ea3818fe0837cceb0dd22a71a0814f064e5e781628104610d6468e0e55", + "source_path": "research/e8-response-subspaces/vendor/bit/data/bit/bitE8-r865.json.gz" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/cx/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/complex_basis.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "52d68781eaf6d9decf02446a532a7336fcf15924a9f6781ba0833d038decb9f8", + "source_path": "research/e8-response-subspaces/vendor/cx/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/complex_basis.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/cx/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/complex_gx.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "ccc924537db0c0d55f0c1934e79b8cf4d85b4fb336473d7b42d69e12557aa9f2", + "source_path": "research/e8-response-subspaces/vendor/cx/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/complex_gx.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/cx/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/complex_labels.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "e000ee131389fec427388b85f632879cbaaf10e5e5d979a47d6307d64ce58982", + "source_path": "research/e8-response-subspaces/vendor/cx/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/complex_labels.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/cx/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/complex_scalars.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "38e985ebe8c8e7f8c83c03828abde0c80be418caf95e97afdf2d0c357c0ed919", + "source_path": "research/e8-response-subspaces/vendor/cx/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/complex_scalars.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/cx/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/complex_splice.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "aaf46c8e5c68875b8315892e924e082b2f219f8d042dd14937e7cd2f72456dce", + "source_path": "research/e8-response-subspaces/vendor/cx/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/complex_splice.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/cx/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/p10pins.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "93b78a2e038b23264d04836928c78b6ebf33b87ff3dcc0e43ba0f1748fadd143", + "source_path": "research/e8-response-subspaces/vendor/cx/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/p10pins.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/cx/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/scatter.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "dfd1afbbb3ff86f54db6a0313916403ec8ee6f939caa62f3edcc9d7a151bff95", + "source_path": "research/e8-response-subspaces/vendor/cx/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/scatter.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/cx/work/odd-stages/clifford_exact.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "source_path": "research/e8-response-subspaces/vendor/cx/work/odd-stages/clifford_exact.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/cx/work/odd-stages/data_phases.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "671d6f8144c6d31e1766c6a0e144172da661a63f86b3d4d17fe2710f3ef752c4", + "source_path": "research/e8-response-subspaces/vendor/cx/work/odd-stages/data_phases.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/cx/work/odd-stages/global_nine.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "7e33e6ca88b11e28544bf7d43b02252208d4355369a14adb2aa8baa15773e42a", + "source_path": "research/e8-response-subspaces/vendor/cx/work/odd-stages/global_nine.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/cx/work/odd-stages/RECIPE-9.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "abda2e4c73ecb48d29c30c12bc9a5c2db71d11a35667b4298788ec9154eeec7b", + "source_path": "research/e8-response-subspaces/vendor/cx/work/odd-stages/RECIPE-9.json" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/cx/work/pr361/code/engines/base_two_moment.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "source_path": "research/e8-response-subspaces/vendor/cx/work/pr361/code/engines/base_two_moment.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/cx/work/pr361/code/engines/moment.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "source_path": "research/e8-response-subspaces/vendor/cx/work/pr361/code/engines/moment.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/cx/work/pr361/code/engines/outer.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "source_path": "research/e8-response-subspaces/vendor/cx/work/pr361/code/engines/outer.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/helper/candidate_frames.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "2b8d10ff732e030eb643478b3da0a91753dc77314eeb882a51eafdb871d935e2", + "source_path": "research/e8-response-subspaces/vendor/helper/candidate_frames.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/helper/candidate_from378.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "b97c57e03fb570caab63bd82bf00664b5abea7eda8db3adfed69fc20efd82fb6", + "source_path": "research/e8-response-subspaces/vendor/helper/candidate_from378.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/helper/two_alias.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "5046a050e168266aff6488d27ca6525469c844118fbaced9af2b3dde8e13065c", + "source_path": "research/e8-response-subspaces/vendor/helper/two_alias.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/reuse/frame-selection.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "a83d4880579fb1f8cffb701d1d685c157b7fa14ef9d6642e42ff1e4f5a1b8c5c", + "source_path": "research/e8-response-subspaces/vendor/reuse/frame-selection.json" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/reuse/frame_replay.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "6dc74f24323c717d9eff7c12f27c67a0531899e61a8ee340c98162b1e34f9531", + "source_path": "research/e8-response-subspaces/vendor/reuse/frame_replay.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/reuse/reuse-selection.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "0b300bab47cf0d69cbc7965bf01c2a27c96b97677ee651334470d8c968b603f1", + "source_path": "research/e8-response-subspaces/vendor/reuse/reuse-selection.json" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/vendor/reuse/reuse_replay.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "e83251e3d49267fb5b53eda53c1be80118b7df0cc671c38cad1f300883cd1316", + "source_path": "research/e8-response-subspaces/vendor/reuse/reuse_replay.py" + }, + { + "commit": "7844f72c6051a4408284c3092490687061675c1a", + "path": "vendor/source401/verify.py", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "9a573069ef44ffa092ab638bbfa817cc2922c5a2827c7de0e71138b6cf9c13ff", + "source_path": "research/e8-response-subspaces/verify.py" + }, + { + "commit": "12f488264cdd74a3b60d0fb534f4955792384f5c", + "path": "vendor/source404/selection194.json", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "7b8d5701b6ac524070fab509bf21fadef557d1eb396d28eb0136ca4ab18728e5", + "source_path": "research/e8-shared-donor-chains/shared/selection194.json" + }, + { + "commit": "12f488264cdd74a3b60d0fb534f4955792384f5c", + "path": "vendor/source404/NOTICE.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "175492d6648fbd5de1a45aa3b6ac99268551299786781a4b14d1bab3c5a1a19b", + "source_path": "research/e8-shared-donor-chains/NOTICE.md" + }, + { + "commit": "12f488264cdd74a3b60d0fb534f4955792384f5c", + "path": "vendor/source404/README.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "2beb4568b319804ac7790ef5803cb442c529a8a02692e8b8c5eca60c95a2b5e0", + "source_path": "research/e8-shared-donor-chains/README.md" + }, + { + "commit": "12f488264cdd74a3b60d0fb534f4955792384f5c", + "path": "vendor/source404/PROOF.md", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "5ab68880c7a72d909ced76074650908d3a9bd1e19bd9df0f8b7b9e924e1cc899", + "source_path": "research/e8-shared-donor-chains/PROOF.md" + }, + { + "commit": "616d9d678c00d79693b869934464003ba5b8d1b1", + "path": "vendor/source412/repivot.py", + "repository": "chafreaky/integer-mult-bounds", + "sha256": "7dfe60b7ace9f8ba4674e0ead24e6933f48b0e0497038d1cf64ef2d4bffd142c", + "source_path": "research/e8-repivot-fusion/code/repivot.py" + }, + { + "commit": "616d9d678c00d79693b869934464003ba5b8d1b1", + "path": "vendor/source412/seqenlarge.py", + "repository": "chafreaky/integer-mult-bounds", + "sha256": "8cdaabaa1923677e9bbbccc1291e414b13fc8ae19ea33202c4ae50fd8b03b6e0", + "source_path": "research/e8-sequential-enlarged/code/seqenlarge.py" + }, + { + "commit": "616d9d678c00d79693b869934464003ba5b8d1b1", + "path": "vendor/source412/repivot-e8.json", + "repository": "chafreaky/integer-mult-bounds", + "sha256": "58fd4e9f2712ba5b33f78d792d99de612e2dfd888cdb83d0718028e6d6633c85", + "source_path": "research/e8-sequential-enlarged/data/repivot-e8.json" + }, + { + "commit": "616d9d678c00d79693b869934464003ba5b8d1b1", + "path": "vendor/source412/repivot-e8seq.json", + "repository": "chafreaky/integer-mult-bounds", + "sha256": "e1e0dfe35c4ccbd572e6ecdd5be855e2a2e73a34a05c4437e94b97ab22d8f7d2", + "source_path": "research/e8-sequential-enlarged/data/repivot-e8seq.json" + }, + { + "commit": "616d9d678c00d79693b869934464003ba5b8d1b1", + "path": "vendor/source412/pr410/enlarged205.json", + "repository": "chafreaky/integer-mult-bounds", + "sha256": "46b28ee2fd1768317fae7983043964b28f0f9c6e32a50f6a8b8b9b90e38920cc", + "source_path": "research/e8-sequential-enlarged/data/pr410/enlarged205.json" + }, + { + "commit": "616d9d678c00d79693b869934464003ba5b8d1b1", + "path": "vendor/source412/pr409/SELECTION.json", + "repository": "chafreaky/integer-mult-bounds", + "sha256": "55ed27fc7d202aac06b5c62e5822764b24283f2637b70c2ffa9b3ee3dc7f2a48", + "source_path": "research/e8-sequential-enlarged/data/pr409/SELECTION.json" + }, + { + "commit": "616d9d678c00d79693b869934464003ba5b8d1b1", + "path": "vendor/source412/LICENSE", + "repository": "chafreaky/integer-mult-bounds", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "source_path": "LICENSE" + }, + { + "commit": "616d9d678c00d79693b869934464003ba5b8d1b1", + "path": "vendor/source412/NOTICE.md", + "repository": "chafreaky/integer-mult-bounds", + "sha256": "ab9c3c082f2e00c5636603978d044127bd7b7fda6cdf955456154a36e222bc7a", + "source_path": "research/e8-sequential-enlarged/NOTICE.md" + }, + { + "commit": "616d9d678c00d79693b869934464003ba5b8d1b1", + "path": "vendor/source412/LICENSE-pr409", + "repository": "chafreaky/integer-mult-bounds", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "source_path": "research/e8-sequential-enlarged/data/pr409/LICENSE-pr409" + }, + { + "commit": "616d9d678c00d79693b869934464003ba5b8d1b1", + "path": "vendor/source412/LICENSE-pr410", + "repository": "chafreaky/integer-mult-bounds", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "source_path": "research/e8-sequential-enlarged/data/pr410/LICENSE-pr410" + }, + { + "commit": "616d9d678c00d79693b869934464003ba5b8d1b1", + "path": "vendor/source412/NOTICE-repivot.md", + "repository": "chafreaky/integer-mult-bounds", + "sha256": "8c7f4785def2bc39334aac618184bb4e3c6b11ee6f1c8b51edc89d7b8fddc2c0", + "source_path": "research/e8-repivot-fusion/NOTICE.md" + } + ], + "parent": { + "commit": "b3c45822ca847aec8c0c019bb04db30881fc2966", + "manifest_sha256": "389ac12de894730bd534f9a00d604866dd400175e32bd1204920dd98eafb8888", + "package": "research/e8-coupled-bit-retiming", + "scope": "Complete frozen source tree is retained beside this extension, without modifying any original bytes." + } +} diff --git a/research/split-centres-global/notices/PR426.md b/research/split-centres-global/notices/PR426.md new file mode 100644 index 0000000000..2a7a8c0c6b --- /dev/null +++ b/research/split-centres-global/notices/PR426.md @@ -0,0 +1,53 @@ +# Sources and attribution + +This extension preserves the full frozen PR389 package at b3c45822ca847aec8c0c019bb04db30881fc2966. +All notices and licenses in that package continue to apply, including Jacob +Sussman's original gx/E8 construction and Dylan Crow's bit word. + +applecrusher PR376 supplies the two exact equal-helper aliases, frame repairs, +two subsequent rank-six to rank-five moves, and deterministic transport. +Dugongue PR390 supplies target-prefix difference restoration and its sufficient +main-only Y-to-Y compiler extension. Rohan Arun PR395 supplies the signed +extension; its original source file and exact function bytes are retained. +The fixed signed selection here is reconstructed on the R779 word, rather than +claiming another contributor's selected witness as new discovery. + +ai-nanachi, with substantial OpenAI Codex assistance, supplies two further +two-donor clean substitutions, 55 clean-reset bit helper reuses, 54 subsequent +bit frame moves, changed complete supplier replays and exact composition. +The first contribution's frame search and exact record are preserved separately. +The headline gain comes from the changed complex supplier. The bit gain is +reported separately because it does not change the binding complex ceiling. +No worldwide priority or global optimality is claimed. + +Source byte identities and original commit paths are in SOURCE-PINS.json. +New contributions are Apache-2.0; original source-specific notices and licenses +are retained in the frozen parent and vendor directories. + +Dugongue [PR401](https://github.com/CrocSwap/integer-mult-bounds/pull/401) +at 7844f72c6051a4408284c3092490687061675c1a supplies arbitrary entrance +subspaces, exact even/degenerate two-sided normalization, mixed banks and +independent readback. Dugongue +[PR404](https://github.com/CrocSwap/integer-mult-bounds/pull/404) +at 12f488264cdd74a3b60d0fb534f4955792384f5c supplies the expanded shared-donor +selection and sufficient nested-donor construction. Our private nested-flag +experiments ran independently around this public update; no priority over +PR404 is claimed. applecrusher's PR376 at +7aa9d9f0247bb60c0519704bbca18990011e2a37 supplies the additional rank-eight +to rank-seven frame change, frozen through PR404's composition source. +Our contribution is the explicitly mapped R779 composition, all-pair fresh +phase replay, full changed supplier/bit checks, and independent clean-reset +bit mechanism. PR404's incompatible overlapping target recovery is excluded. +No source-specific numerical gains are added to the headline. + +Chafik Boukhalfa, with Anthropic Claude assistance, supplies the checker-clean +re-pivoting from [PR412](https://github.com/CrocSwap/integer-mult-bounds/pull/412) +at 616d9d678c00d79693b869934464003ba5b8d1b1. The four ordered groups originate +in Rohan Arun's [PR409](https://github.com/CrocSwap/integer-mult-bounds/pull/409); +the eight enlargements originate in eumemic's +[PR410](https://github.com/CrocSwap/integer-mult-bounds/pull/410). +Exact selected source bytes, commit paths and licenses are retained through +the frozen PR412 composition in vendor/source412. This submission maps these +relations onto R779, checks both unchanged original checker families, +recomputes every chronological omission, and freshly admits every phase pair. +No independently reported numerical savings are added together. diff --git a/research/split-centres-global/notices/SUSSMAN-NOTICE b/research/split-centres-global/notices/SUSSMAN-NOTICE new file mode 100644 index 0000000000..63aa295646 --- /dev/null +++ b/research/split-centres-global/notices/SUSSMAN-NOTICE @@ -0,0 +1,290 @@ +Walsh-Hadamard power saving (wht-power-saving-lean) +Copyright 2026 Jacob Sussman + +Repository: https://github.com/jacobalansussman/wht-power-saving-lean + +This repository is not a project of OpenAI. OpenAI did not write, review or +endorse it. The package name "OAI" and the namespace "OAI.PowerSaving" are +those of openai/math and are kept only because the new files extend that +development. + +This repository is not a project of CrocSwap/integer-mult-bounds either. Its +authors did not write, review or endorse it. Section 6 says what is taken +from their repository. + +This repository contains files from, and files derived from, the repository +"openai/math" (https://github.com/openai/math), family 130, "Exact Fourier +transforms below n log n", at commit fd4aeeb2ee4fc729c18d98444fed42fd0529eeeb. +That repository is published under the Apache License, Version 2.0. A copy of +the licence is in the file LICENSE. The upstream repository has no NOTICE file +and its licence text names no copyright holder; the files are attributed here +to the authors of openai/math (OpenAI). + +1. Unmodified upstream files. + The 89 files under OAI/Computability/ are byte-for-byte copies of the files + with the same paths under lean/ in openai/math at the commit above. They + have not been changed. Modified copies of some of them are under + Work/Fourier/ and are listed in section 7. + One more file of openai/math is here unchanged, outside the Lean build: + third-party/openai-math/lean/ComparatorChallenges/UniformFourier.lean is a + byte-for-byte copy of lean/ComparatorChallenges/UniformFourier.lean at the + commit above (the statement of OpenAI's Fourier challenge). It is included + so that the modified copy named in section 2 can be compared with it. + +2. Files that contain upstream text. + - Work/CarrierCheck/ChallengeB2Ke16x.lean, + Work/CarrierCheck/ChallengeB2Ke16xR.lean, + Work/GCert/Data/ChallengeB2Gp193x.lean and the text template + tools/gen/templates/ChallengeB2L16x.lean.txt each contain, as their + lines 22-270, lines 9-257 of + lean/ComparatorChallenges/UniformFourier.lean of openai/math (the RAM cost + model), unchanged. Everything else in these files was written for this + repository. + - Work/Fourier/UniformFourierChallenge.lean is a modified copy of + lean/ComparatorChallenges/UniformFourier.lean of openai/math (the + statement of OpenAI's Fourier challenge, 336 lines). Changes: a comment + was added at the top; the exponent 1 - 1/(10^(13:ℕ)) was replaced by + 1 - 7474546/(10^(10:ℕ)); seven names received the suffix "Z" + (decimalExponent, decimalTime, TimeBounds, DFTGoal, ConvGoal, + transform_main, convolution_main). Everything else in the file is the + upstream text, unchanged. See section 7. + - Work/Scratch/Engine.lean and Work/Block/Engine.lean contain copies of + proofs of openai/math, changed for this repository: sections 1, 2 and 5 + of Work/Scratch/Engine.lean are upstream proofs with the batch layout + renamed, and both files contain a copy of the private upstream theorem + "hills_project" (lean/OAI/Computability/FourierTransform/ + TensorProgram.lean) with its envelope generalised. The comments in the + two files mark these places. + - lakefile.lean is adapted from lean/lakefile.lean of openai/math: the same + package name, toolchain, package option and Mathlib pin; every other + dependency was removed and the libraries of this repository were added. + lean-toolchain is a byte-for-byte copy of lean/lean-toolchain. + lake-manifest.json lists Mathlib and its dependencies at the revisions of + lean/lake-manifest.json. + - RELATED-WORK.md reproduces the BibTeX entries of two manuscripts of + openai/math. + +3. New files that build on upstream proofs. + The other files under WHTCheck/ and Work/ were written for this + repository. They import the upstream files, and several of them generalise + or adapt proofs of upstream files (for example Work/Block/Recursion.lean, + which says so in its header). They are changes and additions made for this + repository and are not part of openai/math. + +4. How the new files were made. + Jacob Sussman made the new files on 2026-10-08 and 2026-10-09 by directing + a team of AI agents (Claude). The agents wrote the new Lean files, the + certificate data and the generator scripts. See README.md, section 4. + +5. Ideas taken from other public work. + The network of the first result uses ideas published by others, among them + the helper circuit "NStar3" (Swapnil-jain/integer-mult-kappa, which credits + CrocSwap pull request #36 and Paureel for parts of it), its transfer to + family 130 (shea256/fourier-transform-below-nlogn), and "carrier links" and + "whole-residual batching" (pull requests to CrocSwap/integer-mult-bounds). + No file of Swapnil-jain/integer-mult-kappa or of + shea256/fourier-transform-below-nlogn is included here. One comment in + Work/Scratch/Engine.lean quotes three counts reported in + Swapnil-jain/integer-mult-kappa and names that source. The general frame + lemma that Work/GFrame proves is stated in + notes/general-clifford-frames.tex of CrocSwap/integer-mult-bounds; its Lean + proof was written for this repository. The credits, with links, are in + RELATED-WORK.md. + +6. Data derived from CrocSwap/integer-mult-bounds (second result). + The helper circuit of the second result is the paired-cube circuit of the + repository "CrocSwap/integer-mult-bounds" + (https://github.com/CrocSwap/integer-mult-bounds), in the state of its pull + request #193. It is the design of that community: icekylinx (pull requests + #144 and #184), eumemic (#168, and #117 behind its modules), ikeboy / + Avi Eisenberg (#191 and #193), with an664 (#128) credited there for the + workspace-sharing principle. That repository is published under the Apache + License, Version 2.0 (the same licence text as the file LICENSE). Its + NOTICE file begins "A sharper exponent for integer multiplication / + Copyright 2026 Douglas Colkitt" and says that the community release "is + not solely Douglas Colkitt's work". A complete copy of that NOTICE file, as + it is at the head of pull request #193, is in + third-party/CrocSwap-integer-mult-bounds/NOTICE. + + The data were taken from these files of that repository. They were loaded + as data by programs written for this repository; no program of that + repository was run, and none is included here. + - at the head of pull request #168 (eumemic), + 4a3c769e5c5430e7114c4d3e099ff34664677f17: + references/paired-cube/sources/local_L1.json + references/paired-cube/sources/tmod_TE_TD_TB3_1_1_4_full_6.0617964e-4.json + references/paired-cube/sources/pmod_J0_full_6.0666810e-4.json + references/paired-cube/sources/qmod_climb3u_best.json + references/paired-cube/selected-module/matching-arcs.json + references/paired-cube/physical/frames.json + - at the head of pull request #193 (ikeboy), + 187e1010ac8b259af8e9b5166f68b64bc27b4b47: + research/source-assisted-v4/data/physical-pairs.json + + Files of this repository that contain data derived from them: + tools/certificate/gcert1-p11-pr193.json.gz and the Lean data modules + generated from it, Work/GCert/Data/Gen/P193*.lean and the files they import + from Work/GCert/Data/Gen/P193/; its block counts are also in the generated + modules Work/GCert/Data/P193Price.lean, RateB2Gp193.lean, RateB2Gp193x.lean + and InstB2Gp193.lean. + Changes made: the circuit was rebuilt from those data as one explicit, + renumbered list of additions with a table of frames, in the certificate + format "gcert/1" of this repository; its 1,980 in-place steps were written + as pairs of additions with rescaled coefficients; the Lean data modules + were generated from that list. No file of that repository is included + unchanged, except the copy of its NOTICE file named above. + + Notices of that NOTICE file that pertain to these data, quoted: + + Paired-cube and shared-core extension, 9 October 2026 + Copyright 2026 icekylinx + + Source-assisted common-frame extension (2026-10-09) + Copyright 2026 icekylinx. Apache-2.0. + Substantial dependency: eumemic PR168, + fd25adb7fbaa12ee761d02c733c54d1d2a7687ee + + The full text of both notices, and the notices of the work they build on, + are in the copy named above. The credits, with links and with the words of + pull request #193 about its own sources, are in README.md ("Whose circuit + this is") and in RELATED-WORK.md, section 1. + +7. Modified copies of upstream files (third result). + The files listed below are copies of files of openai/math at the commit + above, changed for this repository. Each begins with a comment that names + the upstream file it is derived from and states what was changed. The + upstream originals under lean/OAI/Computability/ are in this repository + as well, unchanged (section 1), and the copies import them. The upstream + challenge file lean/ComparatorChallenges/UniformFourier.lean is in this + repository in both forms: unchanged under third-party/openai-math/ + (section 1) and modified (section 2). + + - Work/Fourier/ArbitraryLength.lean: modified copy of + lean/OAI/Computability/FourierTransform/ArbitraryLength.lean (224 + lines; 159 of them unchanged in the copy). Changes: identifiers renamed + on 64 lines (18 names: 15 with the suffix Z, 3 with Z inserted); 1 + import line replaced by 1; 15 comment lines added; no other change to + the code. + - Work/Fourier/Asymptotics.lean: modified copy of + lean/OAI/Computability/FourierTransform/Asymptotics.lean (187 lines; + 112 of them unchanged in the copy). Changes: identifiers renamed on 74 + lines (32 names: 26 with the suffix Z, 6 with Z inserted); 1 import + line replaced by 1; 15 comment lines added; no other change to the + code. + - Work/Fourier/Axioms.lean: written for this repository (not a copy of an + upstream file). + - Work/Fourier/ConvolutionProgram.lean: modified copy of + lean/OAI/Computability/FourierTransform/ConvolutionProgram.lean (100 + lines; 77 of them unchanged in the copy). Changes: identifiers renamed + on 22 lines (10 names: 9 with the suffix Z, 1 with Z inserted); 1 + import line replaced by 1; 15 comment lines added; no other change to + the code. + - Work/Fourier/Goal.lean: written for this repository; contains lines of + upstream files: of its 7 code lines, 6 are lines of + lean/OAI/Computability/FourierTransform/Goal.lean (original lines 35, + 75-77, 79, 81): unchanged: its lines 25; with identifiers renamed: its + lines 21, 24, 26, 28, 30. + - Work/Fourier/Main.lean: modified copy of + lean/OAI/Computability/FourierTransform/Main.lean (151 lines; 90 of + them unchanged in the copy). Changes: identifiers renamed on 59 lines + (40 names: 35 with the suffix Z, 5 with Z inserted); 1 import line + replaced by 2; 24 comment lines added; other code lines changed: 1 of + the original, 1 of the copy (copy line 59). + - Work/Fourier/Seam.lean: written for this repository; contains lines of + upstream files: of its 122 code lines, 15 are lines of + lean/OAI/Computability/FourierTransform/TensorProgram.lean (original + lines 36-37, 95-96): unchanged: its lines 93-94, 113-114, 141-142, + 163-164, 185-187, 194-196; with identifiers renamed: its lines 184; 3 + are lines of lean/OAI/Computability/FourierTransform/TensorSaving.lean + (original lines 83-84, 114): with identifiers renamed: its lines 45-46, + 59; 1 is a line of lean/OAI/Computability/FourierTransform/Main.lean + (original line 60): with identifiers renamed: its lines 213. + - Work/Fourier/SectorAlgorithm.lean: modified copy of + lean/OAI/Computability/FourierTransform/SectorAlgorithm.lean (224 + lines; 162 of them unchanged in the copy). Changes: identifiers renamed + on 61 lines (17 names: 13 with the suffix Z, 4 with Z inserted); 1 + import line replaced by 1; 15 comment lines added; no other change to + the code. + - Work/Fourier/SynchronizedAlgorithm.lean: modified copy of + lean/OAI/Computability/FourierTransform/SynchronizedAlgorithm.lean (126 + lines; 94 of them unchanged in the copy). Changes: identifiers renamed + on 31 lines (12 names: 10 with the suffix Z, 1 with Z inserted, 1 + other), the other being "canopy" to "Grove.canopy" (5 lines); 1 import + line replaced by 1; 16 comment lines added; no other change to the + code. + - Work/Fourier/TransformProgram.lean: modified copy of + lean/OAI/Computability/FourierTransform/TransformProgram.lean (146 + lines; 94 of them unchanged in the copy). Changes: identifiers renamed + on 51 lines (21 names: 19 with the suffix Z, 2 with Z inserted); 1 + import line replaced by 1; 15 comment lines added; no other change to + the code. + - Work/Fourier/UniformBounds.lean: modified copy of + lean/OAI/Computability/FourierTransform/UniformBounds.lean (183 lines; + 115 of them unchanged in the copy). Changes: identifiers renamed on 67 + lines (29 names: 25 with the suffix Z, 4 with Z inserted); 1 import + line replaced by 1; 15 comment lines added; no other change to the + code. + - Work/Fourier/UniformFourierChallenge.lean: modified copy of + lean/ComparatorChallenges/UniformFourier.lean (336 lines; 328 of them + unchanged in the copy). Changes: identifiers renamed on 7 lines (7 + names: 7 with the suffix Z); 12 comment lines added; other code lines + changed: 1 of the original, 1 of the copy (copy line 281). + - Work/Fourier/WorkingCompiler.lean: modified copy of + lean/OAI/Computability/FourierTransform/WorkingCompiler.lean (153 + lines; 104 of them unchanged in the copy). Changes: identifiers renamed + on 48 lines (14 names: 14 with the suffix Z); 1 import line replaced by + 1; 15 comment lines added; no other change to the code. + - Work/Fourier/WorkingPreparation.lean: modified copy of + lean/OAI/Computability/FourierTransform/WorkingPreparation.lean (212 + lines; 156 of them unchanged in the copy). Changes: identifiers renamed + on 55 lines (30 names: 28 with the suffix Z, 2 with Z inserted); 1 + import line replaced by 1; 15 comment lines added; no other change to + the code. + - Work/Fourier/WorkingTransform.lean: modified copy of + lean/OAI/Computability/FourierTransform/WorkingTransform.lean (119 + lines; 91 of them unchanged in the copy). Changes: identifiers renamed + on 27 lines (9 names: 8 with the suffix Z, 1 with Z inserted); 1 import + line replaced by 1; 15 comment lines added; no other change to the + code. + + Changes made to the eleven copied proof files: every declaration received + the letter "Z" in its name (as a suffix of its own name, or of the name + of the declaration it belongs to), so that it does not collide with the + upstream declaration of the same name; the upstream exponent "alpha" + (1 - 2/10^11) and the bound "hills" defined from it were replaced by + "alphaZ" (1 - 7474547/10^10) and "hillsZ", which are defined in + Work/Fourier/Seam.lean, and the single use of the upstream theorem + "hills_program" by "hillsZ_program"; the five definitions of the upstream + statement that contain its exponent (decimalExponent, decimalTime, + TimeBounds, DFTGoal, ConvGoal) were replaced by the versions of + Work/Fourier/Goal.lean, whose exponent is 1 - 7474546/(10^(10:ℕ)); + the import lines point to the copies; a header comment was added. + Two further changes: in the copy of Main.lean the same constant stands + once as the literal 2/10^11 and was replaced there too, and the two + final theorems of that copy received a documentation comment; in the + copy of SynchronizedAlgorithm.lean the name "canopy" was written out as + "Grove.canopy" in 5 places, because the short name is shadowed in the + larger environment of the copy. The script also renamed three names + inside upstream comments; the comments are otherwise the upstream ones + and describe the upstream network. + The proofs are those of openai/math. The copies were made by the script + tools/fourier/mkchain.py of this repository. + + Work/Fourier/Goal.lean contains copies of those five definitions of + lean/OAI/Computability/FourierTransform/Goal.lean, with the exponent + replaced and the suffix "Z" on the five names. + + Work/Fourier/Seam.lean was written for this repository. It repeats the + statement of the upstream theorem "hills_program" (TensorProgram.lean) and + the definition of "hills" (TensorSaving.lean) with the two names replaced; + its header says so. + + The work of others that the third result follows (danadran01, shea256, + eumemic) is credited in README.md ("Whose reduction this is") and in + RELATED-WORK.md, section 1. No file of their repositories is included + here. + +Not included in this repository and fetched by the build: Mathlib +(https://github.com/leanprover-community/mathlib4, Apache License 2.0) and its +dependencies. The comparator (https://github.com/leanprover/comparator) is a +separate tool and is not included. diff --git a/research/split-centres-global/proofs/INHERITED-COMPLEX-GEOMETRY.txt b/research/split-centres-global/proofs/INHERITED-COMPLEX-GEOMETRY.txt new file mode 100644 index 0000000000..c4150cb693 --- /dev/null +++ b/research/split-centres-global/proofs/INHERITED-COMPLEX-GEOMETRY.txt @@ -0,0 +1,161 @@ +Independent compressed nine-stage complex component + +Claim and retained assumptions + +The fixed E8 local invocation has h=9, v=120, R=783 and copied rank loss +cst=72. The construction below has m=73, live stock 14727 per complete +orthogonal cover, and paid profile + 1:157599, 2:43488, 3:37296, 4:10080, 5:15480, 6:23832, + 7:3096, 8:7488, 9:576, 16:3840, 32:3840, 48:3840. +It is a conditional complex component, not an integer multiplication bound. +The local E8 invocation theorem, general Clifford rank-zero compiler, +complete-stream tape primitives, common fine-grid precision, and retained +analytic recurrence interfaces are assumptions retained from the fixed local +source package. The new finite construction and its charges are supplied +here. No new Lean kernel proof is asserted. Final bit-side admission and +outer assembly are separate obligations. + +Exact operator convention + +For q in F2^m, let X_q be translation by q and + C_q = ((1+i) I + (1-i) X_q)/2. +Then C_q^2=X_q and C_q fixes the uniform vector. Write C_all for the product +over the coordinate vectors. An invertible binary matrix G acts by the +literal address permutation P_G. All products of C_q are commuting exact +Gaussian-dyadic operators. Their multiplier on Fourier character y is +i^(sum epsilon_q * parity(q.y)). Modulo 4, parity expands as its linear sum +minus twice its pair sum, so this multiplier is an exact Z4 quadratic form. +Equality of these forms proves equality including the scalar phase. + +For arbitrary local subspaces U, including degenerate ones, use the +deterministic canonical representative from clifford_exact.py. A basis G +whose first columns span U gives K_G = D_Q P_G, with +Q=I+G^(-T)G^(-1), and T_U=K_G C_[dim U] K_G^(-1). +Its preimage Lagrangian is {(u,u+w): u in U, w in U^perp}. Thus a nested +transition has Fourier rank equal to the dimension difference. The supplied +compiler produces two explicit monomial operators around one rank-r C child. +Its equality is checked both as a signed Pauli tableau and on a nonzero +exact Gaussian state vector, which fixes the otherwise missing global phase. +All 946 local frames, all 3120 used directed transitions, and all 240 old/new +source/target adapters are checked. No rank-only replacement is made. + +Compressed window and data routes + +Use V=F2^9 direct_sum (F2^8)^8 with the ordinary dot product. Let E_s be the +first s exterior eight-dimensional blocks, for 0<=s<=8. The exact window +representative of local U is T_U tensor C_Es. A nested transition cancels +the common exterior tensor factor exactly and keeps its original rank. +Conjugating the whole window by any cover permutation preserves this fact. +The old/new endpoint adapters are the checked local adapters tensored with +identity, followed by the declared address conjugation. This proves the +window lift directly; a divisibility assumption m=multiple_of_h is not used. + +Every supplied port q has odd weight and a zero coordinate. The explicit +orthogonal matrix U_q in data_phases.py maps e0 to q: swap e0 with a zero +coordinate e_j when necessary, then use the even-vector transvection +x -> x + ((q+e_j).x)(q+e_j). Its remaining columns are an orthonormal basis +of q^perp. For s>0, rho_s,q exchanges that complement in the local block +with exterior block s and fixes q and all other exterior coordinates. +It is a symmetric orthogonal involution. The stage data owners are +g=d*rho_s,q, with rho_0,q=I, so the right factors are bijections of O(73,2). + +Use canonical data levels X_s=C_[0,9+8s), Y_s=X_s C_q^(-1), and initially +X_(-1)=C_q, Y_(-1)=I. The routed stage starts at level s-1 and ends at level s. +Their binary preimages agree with the window endpoints. Exact phase +polynomials determine the translation that reconciles each endpoint, and +the template applies that translation. There are 3840 nonzero such +translations across the 120 port types and nine stages, before replica +multiplicity. These operators are not silently identified from equal +binary matrices. + +Four-pair scalar chain and idle children + +Starting with F_0 (Y_0 += X_0), for j=0,1,2,3 apply B_j (X_j -= Y_j), +then for j<3 apply X_j += X_(j+1), Y_(j+1) -= Y_j, apply F_j, and undo +that bridge. The last pair has B_3,F_3 without a following bridge. +Afterwards apply, in descending j=2,1,0, X_(j+1)+=X_j and Y_j-=Y_(j+1). +Finally exchange each pair by newX=oldY, newY=-oldX. The complete signed +integer scalar matrix is the identity; omission of every bridge fails. + +Before a bridge, advance the idle pair to the active pair's level. The +two advances for the newly used pairs have ranks (16,8), (32,8), (48,8). +The final advances have ranks 48,32,16,0. Each rank occurs on both members +of the pair, each of 120 ports, and each of eight replicas. A nested idle +transition is factored in the explicit orthonormal basis U_q direct_sum I. +Its exact Z4 phase is reconciled by the stored translation after that child. + +The final Y endpoint is C_all C_q^(-1). A source began at C_q, so its +unadjusted exchange route would be C_all C_q^(-2)=C_all X_q. Applying the +literal X_q to each final Y before the signed exchange removes this factor. +The corresponding 120 omission controls fail. This correction is charged. + +Banks and arbitrary correlated dirt + +There are eight replicas of each of the four data pairs, hence 7680 data +families. Each stage has 783 independent bank families. Number a local +helper occurrence by z=783*replica+helper. It uses bank floor(z/8) and slot +z mod 8, with its nine-dimensional residual assigned to coordinates +[9*slot,9*slot+9). A paid coordinate C child at coordinate 72 completes +each bank. All eight whole residuals and this padding fill dimension 73. +Thus there are 9*783=7047 bank families and live stock 14727. + +Let Pi_slot swap the first nine coordinates with the assigned block. The +local invocation at class d uses the bank class g=d*Pi_slot^(-1). Its +residual at that owner is P_g C_block P_g^(-1). Right multiplication is a +bijection. Local helpers sharing one bank have distinct slots, hence +different right factors and different actual bank classes for every d. +All data and private families are disjoint from banks. The checker verifies +these injections for all 72 invocation/replica templates and 56376 residual +assignments. A complete cover sweep for one replica finishes before the +next begins. The local dirty invocation is block diagonal on helpers at +its endpoint and permits arbitrary correlated helper values. Therefore +overlap between different invocations does not impose a cleanliness or +independence assumption. At each bank class, the eight residuals and the +padding are coordinate factors in one common conjugated basis, and their +exact product is P_g C_all P_g^(-1). + +One more exact correction is essential. Orthogonality alone does not imply +that P_g commutes with C_all as an exact operator. In fact + P_g C_all P_g^(-1) = C_all X_delta(g), + delta(g)_i = (weight(row_i(g))-1)/2 mod 2. +The quadratic terms cancel by row orthogonality and the remaining even +linear terms give the displayed translation. Both sides fix the uniform +vector, fixing the global scalar. Apply X_delta(g) to EVERY final live +family in cover class g, after the bank padding and signed data exchange. +The template includes and charges all 14727 corrections per cover. This +identity is also checked on every orthogonal matrix in dimensions 1..5. + +Finite work and recurrence charges + +The source emitter is regenerated and revalidated in both orientations. +It accounts for 1242936 local events over 72 invocations, with all copied +center and dirty-tableau lifetimes intact. Forward and backward scalar +words freshly replay all 1023 independent dirty live columns. Only the +private work starts at zero. Work comprises 783 tableau streams, nine +reserved center streams (eight used), and one coefficient stream. Each +invocation completes and erases its private work before the next. Physical +stock is therefore 15520 per cover; scalar-only work is excluded from the +recursion-volume denominator. + +GLOBAL-REVIEW.json records the complete recomputed finite overcharge, with +64*(73+1)^3 compiler groups per rank-zero adapter, source-counted scalar +primitives, and overcharges for all data routes, bank selectors, phases, +padding, bridges, exchanges and cover corrections. The O(73,2) order is +2^(36^2)*product(2^(2i)-1,i=1..36); its bit length is 2628. The recomputed +router fits 2^30000, the literal charge fits 2^100000, and the precision +guard fits C0=2^210000. No even-dimensional orthogonal-order formula is used. + +Largest child 48 does not satisfy one-layer halving. Instead +73^2=5329>2*48^2=4608, so two nested children have width strictly below +half the parent, including floors. The general depth is bounded by +2*ceil(log2 e), with direct small leaves. For B=s+E the completed-child +semantic induction has 2B(73-48)-s-E=49B>0. The resulting conservative +complete-row coefficient is 2*2642+9909+252=15445<20161, retaining the +external bit/base-row allowance as an explicit interface assumption. +The inherited bad-branch envelope is priced conservatively as before. + +Two independent rational moment engines admit +b=999240641319551/10^18 and exclude b+10^-18 for the source-bound profile. +The rank mass is 1072575, and 73*14727-1072575=2496=8*(8*120-9*72). +This complex component exceeds 1/1024 but does not improve the current +bit bottleneck. No improved final kappa or completed PR milestone follows. diff --git a/research/split-centres-global/proofs/PR386-BIT-GEOMETRY.txt b/research/split-centres-global/proofs/PR386-BIT-GEOMETRY.txt new file mode 100644 index 0000000000..31efe31268 --- /dev/null +++ b/research/split-centres-global/proofs/PR386-BIT-GEOMETRY.txt @@ -0,0 +1,191 @@ +Compressed nine-stage E8 bit supplier and combined conditional bound + +Claim and source assumptions + +The conditional combined value is + kappa = 998243154231047 / 10^18 = 0.000998243154231047 > 1/1024. +It is approximately 2^-9.9683211064. This is a conditional finite construction +in the inherited supplier framework, not a Lean proof of integer multiplication. +No priority claim is made. + +The E8 bit word, its 120 root lines, all 865 helpers, and nine retained totals +are taken without modification from Dylan Crow's PR #370, commit +b7fe9cdf2da009c947ff6b334c562bc190b30373. Its raw word has SHA256 +1fb726ea3818fe0837cceb0dd22a71a0814f064e5e781628104610d6468e0e55. +The original verification is rerun, including regeneration, independent +1105-column F2 checking, official record legality/formal columns, all-frame +Gram and prime witnesses, negative controls, and the original regression set. +Its five-stage c is 904072820242522/10^18, insufficient by itself for -10. + +The complex supplier is the separately reconstructed compressed nine-stage +component from PR #377, with b = 999240641319551/10^18. Its complete source, +notices, exact Clifford and Z4 phase checks, global template and finite bill +remain included. In particular, its terminal X_q and every-live-family +X_delta(g) corrections are retained; equality of binary matrices is not +substituted for equality of complex operators. + +The inherited all-size weighted bit compiler, tape/prime/precision and +analytic transfer interfaces remain conditional. PR #370's explicit admission +of nine copied totals at h=8 is retained. The complex local E8 theorem, +Clifford compiler, common fine-grid, restored-row and analytic interfaces +remain conditional exactly as stated in the companion component. The new +window, banking and two-level finite charges are described below rather +than inferred from a rank histogram. + +Exact bit operators and compressed ambient space + +Over an admitted odd address field, the E8 form is G=I_8/2. For a nondegenerate +subspace U, write P_U for its orthogonal projector. On the doubled address +space define + D_U = [[I-P_U, P_U], [P_U, I-P_U]]. +Thus D_U is an exact involution. If U is contained in V then +D_V D_U = D_(V intersect U-perp), with rank dim(V)-dim(U). Also + D_I D_P = D_(I-P). +These are literal address matrices. Unlike the complex C operators, they +have no hidden scalar phase. The auditor reconstructs all 944 rational +projectors and checks all 3289 used nested pairs, in both orientations. + +Set V_global = Q^8 direct_sum (Q^7)^8, m=64, with form I_64/2. +Let E_s be the first s exterior 7-blocks, s=0,...,8. At stage s lift the +entire local word by replacing U with U direct_sum E_s. Both ends of every +local transition contain the same E_s, so it cancels exactly; the child +projector and rank are unchanged. This holds for copied totals as well: +the temporary transforms between the source and scatter frames, whose +common E_s cancels. COPY/ERASE windows remain sequential and immutable. +No assumption that m is a multiple of 9h is used. + +Port routes + +The reference root is q*=2e_0. For every root q, the checked product g_q +of at most two E8 root reflections sends q* to plus or minus q. Let A_q be +its last seven columns. They form an orthonormal basis of q-perp: + A_q^T A_q=I_7, A_q A_q^T=I_8-P_q, P_q=q q^T/4. +For stage s>0 use, on the local block and exterior block s, + rho_(s,q) = [[P_q, A_q], [A_q^T, 0]], +and fix all other coordinates. For s=0 use the identity. These matrices +are orthogonal involutions. Conjugating the lifted endpoints gives + (P_q,E_s) -> (I_8,E_(s-1)), (I_8,E_s) -> (I_8,E_s), + (0,E_s) -> (I_8-P_q,E_(s-1)), + (I_8-P_q,E_s) -> (I_8-P_q,E_s). +These equalities are checked as exact rational matrices for every port. +Each nontrivial route has a replayed elementary factorization, at most +77 factors, with denominators 1,2,4. Omitting a factor fails. Thus all +routes remain defined at every odd address prime; there is no new odd +exceptional prime. The existing local prime witnesses are rerun separately. + +Nine-stage scalar recipe and deferred endpoint completion + +Use four data pairs (X_j,Y_j). Start with F_0: Y_0 += X_0. For j=0,...,3, +apply B_j: X_j -= Y_j; when j<3 insert the two shears + X_j += X_(j+1), Y_(j+1) -= Y_j; +apply F_j; then undo those two shears. After all stages, for j=2,1,0 apply + X_(j+1) += X_j, Y_j -= Y_(j+1). +Finally replace (X_j,Y_j) by (Y_j,-X_j). The complete signed integer +8-by-8 scalar matrix is the identity. Omitting any of the eighteen +individual bridge shears changes it. + +Each B_j is the reflected inverse of the actual local record stream: +reverse the order, negate ADD coefficients, replace U by U-perp, and +turn ERASE into a fresh COPY from the original unchanged center. No erase +is inverted. PR #370 stores zero in the ERASE rank field; the reflected +COPY rank is freshly derived from its two frames, giving rank 8. Both +oriented streams replay all 1105 independent input columns and close work. + +Before each bridge the newly used pair is advanced to the active level. +The two idle increments are (14,7), (28,7), (42,7). Endpoint completion of +the earlier pairs is deferred to the final stage, with ranks 42,28,14,0. +Every increment acts on both members of every port pair and every replica. +The schedule checker requires equal complete frames at every bridge. +The signed terminal exchange completes the data transform using the exact +identity D_I D_P=D_(I-P). Scalar replay on 8745 independent columns includes +960 data and 7785 separate stage-helper inputs. All are restored after +the exchange; the reflected copy work closes to zero. + +Whole-block banks and arbitrary correlated dirt + +Use eight replicas. There are 4*2*120*8=7680 data families. For each stage, +number a local helper occurrence by z=865*replica+helper, and assign it +to bank floor(z/8), slot z mod 8. There are 865 banks at each of nine +stages. Each slot is one whole 8-dimensional coordinate block in Q^64. +The eight slots are mutually perpendicular and fill the ambient space; +no padding child is needed. Live recursion stock is 7680+9*865=15465. +Nine private center slots are reserved and excluded from recursion volume, +so charged physical stock is 15474. Only one such slot is used at a time. + +Let Pi_slot exchange the first eight coordinates with its bank block. +For a cover class d in O(I_64/2,F_q), the helper owner is the bank class +g=d Pi_slot^-1, and a data owner is d rho_(s,q). Right multiplication is a +bijection of the finite cover. Within every local invocation, helpers in +the same bank have different slots, hence different actual cover classes; +all data and work families are disjoint from banks. All 62280 assignments +are checked, and every physical bank receives each of its eight slots once. + +The local all-column theorem permits arbitrary helper inputs, including +correlations created by earlier invocations. After its endpoint each helper +has only the known residual D_H. The common E_s cancels, so no cleanliness +assumption is imposed by a previous bank action. Complete cover sweeps run +sequentially. At a fixed bank owner g the residuals are D on the eight +orthogonal coordinate blocks conjugated by g. They commute and multiply +to D_I. Since diag(g,g) commutes with the literal head/tail exchange D_I, +no complex-style cover phase correction is needed on the bit side. +This is a symbolic finite cover proof, not an enumeration of O(64,F_q). + +Actual emitted ledger + +The source-bound template emits 72 local invocations and 1355328 events. +All local COPY/ERASE and helper lifetimes are rechecked. Its paid profile is + 1:149472, 2:67824, 3:32256, 4:30096, 5:22176, 6:144, + 7:5760, 8:1296, 14:3840, 28:3840, 42:3840. +There are 320544 paid children, rank mass 987264 and deficit + 64*15465-987264 = 2496 = 8*(8*120-9*72). +The independent auditor recomputes the profile from the emitted template +and rejects missing idle/bridge/exchange/invocation events, bank-slot aliasing, +understated stock, a missing local MOVE and a wrong reflected COPY charge. + +Finite cost, precision allowance and two-level halving + +The largest child is 42, so one-level halving is false. Two levels suffice: + 2*42^2=3528 < 64^2=4096. +Floors only reduce descendant widths. The exact one-level moment, including +the inherited 10^-16 bad-branch envelope, is strictly below one; composing +two levels squares this contraction. The finite composite may be used with +the inherited halving-based compiler and direct small leaves. + +The old five-stage 104-bit payload-prefix guard is not reused. Fresh local +cancellation-free row bounds are 742 forward and 6308 reverse. For five +forward calls, four reflected calls and eighteen bridge shears, the bound + 2^18 * 742^5 * 6308^4 +has 117 bits. We explicitly charge 192 bits per nine-stage block. The actual +source operations, copy episodes, 77-factor routes, selectors, all owner +adapters and this prefix bound enter certify.py's finite coefficient. It +has 117 bits; the charged two-level coefficient has 269 bits and is bounded +by 2^512. This deliberately increases the finite cutoff, rather than passing +the old 104-bit assertion. The exact three bootstrap cutoff inequalities +are checked using the changed coefficient. + +For cover/routing enumeration use the inherited coarse q^(m^2+1) bound; +two levels and the retained additive row charges give + 2*(64^2+1)+9909+252 = 18355 < 20161. +The explicit rational bit routes introduce only powers of two. The new +finite constants fit well below the companion bridge's 2^30000 reserve, +and the common external C0=2^210000 and row allowance 20161 are retained. +As for the companion complex component, the general compiler/common-grid +interfaces are assumptions; no new Lean formalization is asserted. + +Exact price and combined assembly + +Two independent rational moment engines, both with the 10^-16 envelope, +admit c=1057833103534317/10^18 and reject c+10^-18. The complex supplier +therefore binds. With eta=10^-12 and beta=10^-9 choose + s=999240640320309/10^18 < (1-beta)*b < c. +Start a0=384599/10^10 and apply a_(j+1)=(1-s)s+s*a_j three times. The retained +outer assembly at (a3,b) admits kappa=998243154231047/10^18. All 47 strict +constraints are positive; the next 10^-18 kappa grid point is rejected. +The strict excess over 1/1024 is 21680654231047/10^18. Final kappa is about +24.0286% above frozen #361, within the explicitly retained assumptions. + +Attribution: Dylan Crow / Anthropic Claude for PR #370's new local bit word; +Jacob Sussman for E8 and the complex unit; the inherited source527, PR234, +PR266, PR315, PR346, PR352 and PR363 contributors as listed in the preserved +notices; Zhihao Chen with OpenAI Codex assistance for this compressed bit +composition, its independent audit, and the combined nine-stage package. diff --git a/research/split-centres-global/proofs/PR425-COMPLEX.txt b/research/split-centres-global/proofs/PR425-COMPLEX.txt new file mode 100644 index 0000000000..41061757ce --- /dev/null +++ b/research/split-centres-global/proofs/PR425-COMPLEX.txt @@ -0,0 +1,211 @@ +Hamming packets with mutable source and target bases +Conditional finite extension of the complex E8 supplier + +1. What is new + +The old r783 word keeps source values fixed and does not read target registers. +Those are sufficient restrictions on a scalar word, not necessary conditions +for a common-frame linear program. The new word uses 680 helper registers: + + * source registers themselves carry one branch of a simultaneous signed + packet computation; + * retired packet registers retain a full source basis, from which the eight + central coordinate sums are reconstructed; + * 56 pairs of targets carry a first two-output butterfly, with its input + basis explicitly compensated at frame zero and in the center decoder; + * an exact inverse on all source/helper registers is executed at their + common full frame after the last recursive climb. + +No recursive work is deleted from the ledger. A helper is counted for its +entire lifetime, including unused final climbs. All 120 sources and targets +retain their original line/full and zero/hyperplane endpoint ranks. + +The new local histogram is + {1:2248, 2:896, 3:168, 4:336, 5:392, 8:24, 9:8}. +Its rank mass is 9*680 + 240*8 + 72 = 8112. There are 4072 local children. +There are more local children than in the old r783 word, but substantially +less helper rank mass; the complete moment, not a count proxy, decides gain. + +2. Exact Hamming geometry and signed packet algebra + +Use the pinned PR370 table of 120 E8 root lines in Construction-A coordinates: +eight coordinate lines 2e_i and 112 sign lines on the 14 weight-four Hamming +blocks. For integer representatives r_s, let G_st = r_s dot r_t / 2. +The matrix C_st = 1 + G_st mod 2 has binary rank nine. The construction gives +an explicit orthonormal realization p_s in F_2^9 with + + p_s dot p_t = C_st, and p_s dot p_s = 1. + +Consequently the nonzero off-diagonal entries of G/2 occur only where a source +line lies in the target hyperplane. The rank-eight central factorization is + + (G/2)_ts = sum_i r_ti r_si / 4. + +For a source Hamming block d, a coordinate pair {i,j} in d, and epsilon=+-1, +define the signed face packet + + P(d,ij,epsilon) = sum_{s in d, r_si*r_sj=epsilon} r_si x_s. + +Each packet has four terms and its binary port span has rank three. Split +the eight sign lines of a block into its two parity tetrads. Each tetrad pair +occurs in two face packets with independent signed coefficient rows. The two +rows are formed simultaneously by two determinant-one shears, rather than +forming independent one-output sums. The packet factory uses its eight source +registers and sixteen additional helpers. Its twelve retired registers can +be oriented to retain a full rank-eight source basis. Exact elimination on +that stock produces four coordinate sums without allocating more helpers. + +This comparison of an individual factory is not a claim that the whole old +supplier used 48 helpers per block. The relevant complete counts are 783 and +680, both charged with their full actual profiles. + +For two target/source blocks whose intersection is {i,j}, the contribution +to target t is -r_ti P(d,ij,r_ti*r_tj)/2. The remaining within-block and +coordinate-line contributions are explicit four-output signed transforms. +Every one of the 14400 rational decoder entries is rechecked. Adding the +eight coordinate centers leaves precisely the identity matrix on sources. + +The binary transvection x -> x+(x dot 43)*43 is orthogonal because 43 has +even weight. It maps the constructed port set exactly to the old fixed E8 +port set. All frames and register indices are transported, so the old nine- +window data routes and their global phase correction apply to exactly the +same ordered ports, without introducing an unproved new covering geometry. + +3. General scalar-interface lemma + +Write z=(x,s) for the source and arbitrary dirty helper streams, and y for +the targets. Permit scalar additions and invertible dyadic scalings between +registers at the same current label. No target may feed a z register. The +raw A/center/B word therefore has block form + + z' = U z, + y' = V y + J x + K s, + +where U and V are invertible, and the retained-center operations are included +in J and K. The actual word has J=I after its adjusted center scatter. The +checks compute every coefficient over Q, rather than inferring it from a +desired sparsity pattern. + +At frame zero, before entry adapters or recursive children, execute + + y <- V^{-1} y - V^{-1} K s. + +Both y and s have label zero there. The code emits the literal inverse of +the 56 disjoint two-output target bases and a direct, charged dyadic old- +response matrix with 13216 additions. There is no uncharged oracle for K. +It is computed from the explicit scalar word and serialized. All coefficient +work is cleared immediately after its use. + +After the last main gate, finish every z register's climb to the full frame, +then execute U^{-1} by reversing and inverting the non-target gates. These +gates are legal at one common full frame, including helper-to-source gates. +The result is exactly + + (x,s,y) -> (x,s,y+x). + +The second orientation is the inverse transpose: negate and transpose every +addition and invert every scale in the SAME event order. Each retained +center is implemented by the transposed gather/child/scatter stream. The +result is (x,s,y) -> (x-y,s,y). Both orientations are replayed on all 920 +independent live columns, including all 680 arbitrary helper columns. +Missing compensation, missing output preconditioning, missing cleanup and +the wrong inverse-transpose order are rejected. + +Why the scalar argument lifts to exact complex labels: for each binary +subspace F use the exact canonical representative L(F). A climb from A to B +acts as L(B)L(A)^{-1}. If two registers share F, a scalar addition commutes +with their common L(F), as does a scalar scaling. Induction through the +actual stream therefore gives the block-diagonal conjugation of its scalar +matrix by the current labels. Center copies explicitly move from full to +zero, or zero to full in the other orientation. The preconditioner uses +only label-zero registers, and the z cleanup uses only full-label registers. +Thus the proof never moves a scalar operation across unequal labels or +identifies two frames merely because their ranks agree. + +Every used canonical frame, nested transition, center direction and endpoint +adapter is independently lowered by the exact Gaussian Clifford compiler. +Equalities include global phase. The old restricted gx gate-shape checker +is not used to admit this new interface; the stronger explicit matrix and +common-frame checks replace its source-immutability/target-read restrictions. +This is a written finite algebraic extension, not a new Lean theorem. + +4. Complete programs and work lifetimes + +Each orientation emits 27537 events, including startup, entry/exit adapters, +all recursive climbs, eight sequential center children, scalar operations +and final cleanup. Temporary centers are initialized, used and erased one +at a time. No center or coefficient work stream survives a live child. + +All added coefficients are dyadic. To apply a/2^j, compute |a| times the +source by binary Horner additions on a cleared private stream, halve j +times, accumulate with its sign, and clear the private stream. In-place +scales are signed powers of two. Every such primitive is charged. This +introduces no new denominator prime. Independent replay bounds the actual +cancellation-free prefix norms, including coefficient work; a 192-bit local +payload allowance is retained conservatively. + +5. Nine-window composition and finite bill + +Use the previously verified m=73 compressed nine-window geometry, four data +pairs, eight replicas, and the original signed bridges, idle children, +terminal exchange, terminal translations and full-cover phase correction. +The source scalar identity and its negative inverse-transpose are exactly +the two local interfaces consumed by that unchanged geometry. + +There are 680 whole-block banks per stage, each containing eight rank-nine +helper blocks plus one paid rank-one padding child. The live width is + + W = 240*4*8 + 9*680 = 13800. + +The conservative physical width is W+680+9+2=14491. The old-response matrix +uses no persistent tableau, but the old-size reserve is still charged. +The emitted owner table has 48960 distinct stage/replica/helper assignments. +The new global profile is + + {1:167976, 2:64512, 3:12096, 4:24192, 5:28224, + 8:7488, 9:576, 16:3840, 32:3840, 48:3840}. + +Its rank deficit is 73*13800 - sum(r*H_r) = 2496. The maximum child is 48, +and 73^2 > 2*48^2 supplies the same charged two-level halving argument. + +The finite bill is recomputed from the new scalar programs, bank owners, +work stock and adapter counts. It is not asserted unchanged. The local +primitive bound fits 2^48; the tape router fits 2^30000; the literal envelope +fits 2^100000; the precision envelope fits 2^210000. The physical row +coefficient is 15445, below the explicitly inherited external allowance +20161. Full-cover corrections apply to all 13800 live families. + +6. Conditional numerical conclusion and retained assumptions + +Two independent rational moment engines, with the inherited 10^-16 bad- +branch envelope, accept + + b = 1049104978040580 / 10^18 = 0.001049104978040580 + +and reject the next 10^-18 grid point. With the unchanged bit parameter +c=0.001057833103534317, three bootstrap steps and all 47 strict outer +conditions give the prospective finite-assembly value + + kappa = 1048005508028206 / 10^18 + = 0.001048005508028206, approximately 2^-9.898137985359. + +The finite statement is conditional on the same all-size weighted compiler, +common fine grid, restored-row/base allowance, tape/prime/precision and +analytic transfer interfaces as the retained nine-stage result. The new +scalar-interface lemma above and its serialized program are additional +reviewable material, not an appeal to gx accepting a program outside its +grammar. No unconditional integer-multiplication theorem is claimed. +The result is approximately +4.97% over the locally verified retimed bound, +and remains well short of 2^-9. A fresh extracted-package replay is required +by this research workflow before publication or final promotion. + +Attribution + +The root table and the motivation to use Hamming coordinates come from the +already pinned PR370 bit package (Dylan Crow, with Anthropic Claude assistance). +The E8 complex label family, original scalar word and gx interfaces are due +to Jacob Sussman. The retained complex admission, pricing and global analytic +interfaces are credited in the original package notices and PROOF.txt. +The mutable-basis packet word, transported geometry, expanded scalar proof, +new finite program and the present checks were developed in this local +research session by Zhihao Chen with OpenAI Codex assistance. diff --git a/research/split-centres-global/proofs/PR426.md b/research/split-centres-global/proofs/PR426.md new file mode 100644 index 0000000000..e589cfbf50 --- /dev/null +++ b/research/split-centres-global/proofs/PR426.md @@ -0,0 +1,108 @@ +# Construction, dependencies and sufficient argument + +The fixed complex witness starts from Chafik Boukhalfa's far-retimed E8 word +and applecrusher's two equal-helper substitutions and two frame refinements. +It additionally replaces helper 556 by -2 times helpers 354 and 461, then +helper 576 by -2 times helpers 402 and 478 after compaction. Exact clean +linear forms agree at every substituted read. The backward upper-frame and +forward nested repairs retain copied-total pins and final address caps. +R is 779. The actual new dirty response and cleanup are regenerated: equality +on clean values alone is not the arbitrary-dirt proof. + +The signed prefix restoration is the PR390/395 bracket. For 25 disjoint +targets, subtract lambda times the donor before the prefix, emit the exact +source/write-version/frame difference, and restore lambda times that donor +at the common recovery frame. Lambda is +1 or -1. The full rational main +operator and all retained totals agree with the explicit same-width R779 +baseline on all 1,019 independent columns. Source/helper subwords agree +exactly, so the new baseline's explicit dirty response and cleanup remain +valid. The changed compiler permits a main Y read only when its target is Y; +helper-to-X remains forbidden. Both signed orientations and private lifetimes +are freshly admitted, with all actual Clifford phases and physical incidences. + +The shared entrance construction follows PR401/404. Each pivot p satisfies +K_p + sum_d a_pd K_d = 0 in the explicit baseline response. Four re-pivots +from PR412 replace the basis of these same relations, including the +half-valued donor that otherwise fails the original sixths-denominator +condition. PR410 enlarges eight entrance subspaces. Removed original helpers +556 and 577 are mapped explicitly onto our R779 word. The shared layer has +192 pivots, rank mass 350, and 496 literal unit shears. Its pivots and donors +are disjoint, so this layer alone has (S-I)^2=0. + +PR409's four ordered groups, with PR412's two additional re-pivots, prepend +55 more shears and admit ten further pivots. The combined word has 202 +gauges of rank mass 360 and 551 entrance shears. The complete chronological +prefix need not have (S-I)^2=0. We check its actual product M S, all retained +totals, and that every gauged target-response column is zero. Every entrance +source is read before any earlier entrance operation writes it. + +Every one of the 551 omission controls is recomputed from the suffix +response. If shear t += q s is removed, its suffix response is multiplied +by -q times the original independent s column: earlier operations leave s +unchanged by the read-before-write condition. A nonzero response is required +for each omission; the entire changed scalar schedule is also replayed for +sampled omissions. No global donor/pivot disjointness is assumed here. Both +unchanged original gx.check1 and gxcore.mirror checkers pass, including the +native denominator conditions. Every actual nested transition is charged. + +PR376's additional target201/helper491 frame change from rank eight to seven +is checked for full operator equality and nested paid paths before gauging. +PR404's target125/124 overlapping-prefix recovery requires a different +chronological input and is not imported. Its numerical gain is not included. + +Each entrance chart is normalized explicitly. Even and degenerate E_p use +the full two-sided exact Clifford factorization of F T_E inverse. The right +inverse adapter precedes the entire old-response invocation; the left inverse +adapter follows all main and helper cleanup. Both orientations retain every +unitary address operator in the inverse-adjoint chronology. Rank-zero adapters +are costed. All old/new/reflected Gaussian child pairs are recomputed, +including Pauli signs and global phase. Newly assigned mixed-bank coordinate +permutations and inverse owners are emitted and independently decoded. +Padding is an exact fixed integer witness, not a claim of solver optimality. + +The new bit operation differs from the preceding all-dirt reset: a retired +helper only needs its clean X-content zeroed before a new logical helper is +placed in the same slot. An arbitrary residual helper value is allowed. The +new helper basis determines a newly computed initial D compensation. C is +the reversed helper subword, restoring every physical helper, including its +original independent dirt. Each reset is checked exactly before reuse; the +retired slot has no later original use, the new helper has no earlier use, +and copied totals are protected. The combined word is checked over every +independent binary column. It uses 55 fewer helpers (822 to 767). The initial 27 reuses and 26 frame +moves are followed by two fixed rounds of 14 reuses and 14 frame moves. +The later resets use exact two- or three-parent clean forms; every parent +and all rebuilt dirty compensation are charged and independently checked. Integer signed-prefix bounds, lifting, +copied-center controls, routes and whole-bank packing are recomputed rather +than inferred from the clean calculation. + +The complex assembly has dimension 73, 14,286 live and +15,075 physical families, 734 banks per stage, deficit 2,496, +maximum child rank 48 and halving degree two. The bit assembly has dimension +56, 10,409 live families, deficit 1,512 and halving degree two. Actual row +coefficients fit the common 20,161 reserve. Both finite invoices and both +exact rational moment engines retain the positive 10^-16 fallback. Adjacent +10^-24 complex coarse grid points are rejected; the unchanged bit coarse +grid remains 10^-18. The exact outer assembly uses positive eta=10^-24, +beta=10^-18, eight finite bootstrap continuations and a 10^-27 grid; it +checks 47 strict constraints and invalid eta/beta/adjacent-point controls. + +The complex coefficient is 254951444354246755323/250000000000000000000000. The bit coefficient is +104575879789097/100000000000000000. The resulting conditional kappa is 40750673324589432209923/40000000000000000000000000. +Using the preceding unchanged bit supplier with this same complex coefficient +gives 203354853562950029967497/200000000000000000000000000, where the bit side +binds. The new clean-reuse bit supplier removes that bottleneck. Its exact +additional kappa contribution is recorded as the difference from this fair +control; the combined witness is limited by the new complex coefficient. + +All original files are manifest-bound and immutable. A copied supplier tree +is changed only through asserted literal edits. DERIVATION.json records every +old/new digest, changed pin and textual difference. Both full predecessor +supplier suites run before the changed admission. Expected records are checked +after recomputation, rather than used to obtain a PASS. + +This is a sufficient finite conditional construction. The inherited all-size +recursive suppliers, canonical/rank-zero compiler, compressed Clifford windows, +dirty banking/cover, routing, restored-row, fixed tape, common-grid, Gaussian +precision/recovery and analytic interfaces remain assumptions. No new full +Lean theorem or unconditional integer-multiplication exponent is asserted. +The target kappa > 0.002 is not attained by this witness. diff --git a/research/split-centres-global/vendor/clifford_exact.py b/research/split-centres-global/vendor/clifford_exact.py new file mode 100644 index 0000000000..166841a037 --- /dev/null +++ b/research/split-centres-global/vendor/clifford_exact.py @@ -0,0 +1,149 @@ +"""Small exact Gaussian-dyadic Clifford compiler, independent of gx internals. +Paulis use i^p X^x Z^z. State vectors use integer Gaussian numerators / 2^d. +The tableau is supplemented by a literal circuit, so global phases are kept. +""" +from dataclasses import dataclass + +def parity(x):return x.bit_count()&1 +def rank(rows): + p={} + for x in rows: + while x: + b=x.bit_length()-1 + if b not in p:p[b]=x;break + x^=p[b] + return len(p) +def transpose(rows,n):return tuple(sum(((rows[j]>>i)&1)<>j&1);a[j],a[k]=a[k],a[j] + for i in range(n): + if i!=j and a[i]>>j&1:a[i]^=a[j] + assert [r&((1<>n for r in a) +def basis_extend(cols,n): + out=[] + for x in list(cols)+[1<len(out):out.append(x) + assert len(out)==n + return tuple(out) +def nullspace(rows,n): + a=list(rows);p=[];k=0 + for j in range(n): + t=next((i for i in range(k,len(a)) if a[i]>>j&1),None) + if t is None:continue + a[t],a[k]=a[k],a[t] + for i in range(len(a)): + if i!=k and a[i]>>j&1:a[i]^=a[k] + p.append(j);k+=1 + return tuple((1<>j)&1)<>i&1:out=pmul(out,T[i]) + for i in range(n): + if z>>i&1:out=pmul(out,T[n+i]) + return out +def compose(A,B):return tuple(apply(A,p) for p in B) +def inverse(T): + n=len(T)//2;cols=[x|(z<>n;u,v,p=apply(T,(x,z,0));assert (u,v)==identity(n)[j][:2];out.append((x,z,(-p)%4)) + return tuple(out) +def qvalue(Q,alpha,x,n): + return (sum(alpha[i] for i in range(n) if x>>i&1)+2*sum(parity((Q[i]>>(i+1))&(x>>(i+1))) for i in range(n) if x>>i&1))%4 +def mul_i(a,p): + x,y=a;p%=4 + return [(x,y),(-y,x),(-x,-y),(y,-x)][p] +@dataclass +class Op: + n:int + tab:tuple + circuit:list + def then(self,b): + assert self.n==b.n + return Op(self.n,compose(b.tab,self.tab),self.circuit+b.circuit) + def adjoint(self): + circ=[] + for e in reversed(self.circuit): + if e[0]=='P':circ.append(('P',inv(e[1],self.n))) + elif e[0]=='D':circ.append(('D',e[1],tuple((-x)%4 for x in e[2]))) + elif e[0]=='C':circ.append(('C',e[1],-e[2])) + elif e[0]=='phase':circ.append(('phase',(-e[1])%4)) + else:circ.append(e) + return Op(self.n,inverse(self.tab),circ) + def zero_state(self,basis=0): + N=1<>i)&1 for i in range(n)) + assert all(alpha[i]%2==(Q[i]>>i)&1 for i in range(n)) + return Op(n,tuple([(1<>i&1 else 0,1<>i&1 else 0) for i in range(n)]),[('C',q,sgn)]) +def xgate(n,b):return Op(n,tuple([(1<>i)&1)) for i in range(n)]),[('X',b)]) +def fourier(n,axes=None): + out=ident(n) + for i in range(n) if axes is None else axes:out=out.then(cgate(n,1<len(selected):picks.append(j);selected.append(x) + assert len(picks)==r and all(x>>r==0 for x in Bcols) + Br=transpose(selected,r);Bi=inv(Br,r);Dr=transpose([Dcols[j]&((1< 2: + x /= 2 + k += 1 + lo, hi = log_unit(x) + l2, u2 = log_unit(Q(2)) + lo, hi = lo+k*l2, hi+k*u2 + # Outward rational rounding keeps later certificates compact. + return Q((lo*GRID).__floor__(), GRID), Q((hi*GRID).__ceil__(), GRID) + + +def exp_bounds(x): + require(0 <= x < 1, "exponential range") + term = total = Q(1) + for j in range(1, 13): + term *= x/j + total += term + tail = term*x/13/(1-x/14) + return total, total+tail + + +def moment(m, W, entries, saving): + lo = hi = Q(0) + for t, count in entries: + t, count = int(t), int(count) + require(0 < t < m and count > 0, "improper child") + l, u = log_bounds(Q(m, t)) + lower = exp_bounds(saving*l)[0] + upper = exp_bounds(saving*u)[1] + lo += Q(t*count, m*W)*lower + hi += Q(t*count, m*W)*upper + return Q((lo*GRID).__floor__(), GRID), Q((hi*GRID).__ceil__(), GRID) + diff --git a/research/split-centres-global/vendor/engines/moment.py b/research/split-centres-global/vendor/engines/moment.py new file mode 100644 index 0000000000..7d697cb452 --- /dev/null +++ b/research/split-centres-global/vendor/engines/moment.py @@ -0,0 +1,113 @@ +"""Independent prospective ordinary five-stage cost, never supplier admission. + +Consumes a raw one-invocation ledger made from the actual source/internal/target +paths. No packed profile is used as an input. Missing physical/finite/compiler +obligations must remain explicit in the accompanying report. +""" +from collections import Counter +from decimal import Decimal, localcontext, ROUND_FLOOR +from fractions import Fraction as F +from functools import lru_cache +from math import factorial +import hashlib, json, sys +from pathlib import Path + +DYAD = 1 << 224 + +def floor(x): return F(x.numerator*DYAD//x.denominator, DYAD) +def ceil(x): return -floor(-x) + +@lru_cache(None) +def logarithm(x): + """Mercator bounds after binary reduction; ln(2) via two Mercator sums. + + For 1 <= y < 2, log(y) is an alternating series in z=y-1. + We instead reduce to 1 <= y < 3/2, and bound log(3/2) and + log(2) by the same alternating series at z=1/2 and z=1/3, + using log(2)=log(3/2)+log(4/3). All sums are exact rationals. + """ + assert x >= 1 + k = 0 + while x >= 2: x /= 2; k += 1 + j = int(x >= F(3, 2)) + if j: x /= F(3, 2) + def mercator(y): + z=y-1 + assert 0 <= z <= F(1,2) + # An even partial sum is below log; the next term bounds its tail. + t=z; s=F(0) + for n in range(1, 225): + s += (t if n & 1 else -t)/n + t *= z + return s, s+t/225 + a,b=mercator(x); c,d=mercator(F(3,2)); e,f=mercator(F(4,3)) + return floor(a+(k+j)*c+k*e), ceil(b+(k+j)*d+k*f) + +def exponential(l,u): + assert 0 <= l <= u < F(1,10) + def poly(x): + s=t=F(1) + for j in range(1,25): t=t*x/j; s+=t + return s,t + lo,_=poly(l);hi,last=poly(u) + return floor(lo),ceil(hi+last*u/25/(1-u/26)) + +def moment(H,m,W,a,bad=False): + lo=hi=F(0) + for r,n in H.items(): + assert 0 < r < m and n > 0 + l,u=logarithm(F(m,r)); e,f=exponential(a*l,a*u) + p=F(r*n,m*W);lo+=p*e;hi+=p*f + if bad: + # Existing envelope shape, only conditionally portable to the new cover. + l,u=logarithm(F(m));e,f=exponential(a*l,a*u) + p=F(32*m*sum(H.values()),10**16*W) + lo+=p*e;hi+=p*f + return floor(lo),ceil(hi) + +def decimal(x): + with localcontext() as c: + c.prec=70 + return str(Decimal(x.numerator)/Decimal(x.denominator)) + +def certify(H,m,W,bad=False): + with localcontext() as c: + c.prec=70 + terms=[(Decimal(r*n)/Decimal(m*W),(Decimal(m)/Decimal(r)).ln()) for r,n in H.items()] + fallback=Decimal(32*m*sum(H.values()))/Decimal(10**16*W) if bad else Decimal(0) + lm=Decimal(m).ln();lo=Decimal(0);hi=Decimal('.003') + for _ in range(210): + a=(lo+hi)/2 + if sum(p*(a*l).exp() for p,l in terms)+fallback*(a*lm).exp()<1:lo=a + else:hi=a + q=int(((lo+hi)/2*10**24).to_integral_value(rounding=ROUND_FLOOR)) + lo=F(q,10**24);hi=lo+F(1,10**24) + lv=moment(H,m,W,lo,bad);hv=moment(H,m,W,hi,bad) + assert lv[1]<10 for v in slacks.values()),{k:str(v) for k,v in slacks.items() if v<=0} + assert min(margins.values())==minimum + assert margins['balanced_prefix']-minimum==eta and 1-eps-r==eta/2 + assert 1-eps*(1+c)==eta-eps*eta/4 + return dict(parameters=dict(a_bit=a,a_complex=b,tau=tau,sigma=sigma, + eta=eta,beta=beta,q=q,c=c,epsilon=eps,lambda_=lam, + lambda_prime=lp,alpha_squared_power=r,delta=delta, + C0=bridge['semantic']['C0'],C1=1,kappa=kappa), + strict_constraints=slacks,margins=margins,minimum_margin=minimum, + absorption_gap=minimum-kappa, + recurrence=dict(internal=internal,leaf=leaf,reservations=1-c)) diff --git a/research/split-centres-global/vendor/export_records.py b/research/split-centres-global/vendor/export_records.py new file mode 100644 index 0000000000..3632d37048 --- /dev/null +++ b/research/split-centres-global/vendor/export_records.py @@ -0,0 +1,72 @@ +"""Export a bitE8/1 word to the PR249 record format read by PR #266's official cohort checkers and PR #315's engines. +usage: python3 export_records.py word.json[.gz] OUTDIR -> OUTDIR/{249-records.bin,249-states.json,frames.json} +Records are int32 six-tuples: MOVE(0,role,old,new,rank,0), ADD(1,dst,src,1,frame,phase), COPY(2,centre,temp,frame,ZERO,rank), +ERASE(3,centre,temp,frame,ZERO,0). A multi-source gate becomes one ADD per source, preceded by the MOVEs of every +register of the gate to the gate frame. Frames: integer basis rows B (label vectors of the frame's root lines in the +word's coordinates, a rational basis) and integer annihilator rows A (standard dot product), as PR #266 expects. +Dylan Crow, with Anthropic Claude assistance; Apache-2.0.""" +import sys, json, gzip, struct, os +from fractions import Fraction as Fr +from math import gcd +def load(p): + with (gzip.open(p,'rt') if p.endswith('.gz') else open(p)) as f: return json.load(f) +c=load(sys.argv[1]); out=sys.argv[2]; os.makedirs(out,exist_ok=True) +v,R,h=c['v'],c['R'],c['h']; n=2*v+R; lines=c['lines'] +def basis(idx): + rows=[]; piv=[]; B=[] + for i in idx: + x=[Fr(a) for a in lines[i]] + for p,r in zip(piv,rows): + if x[p]: f=x[p]/r[p]; x=[a-f*b for a,b in zip(x,r)] + nz=[k for k in range(h) if x[k]] + if nz: rows.append(x); piv.append(nz[0]); B.append(list(lines[i])) + return B,rows,piv +def annihilator(rows,piv): + # rows in echelon (pivot columns piv); free columns give the null space of the row space under the dot product + # reduce to RREF + R_=[r[:] for r in rows] + for i,(p,r) in enumerate(zip(piv,R_)): + R_[i]=[a/r[p] for a in r] + for i,p in enumerate(piv): + for j in range(len(R_)): + if j!=i and R_[j][p]: f=R_[j][p]; R_[j]=[a-f*b for a,b in zip(R_[j],R_[i])] + free=[k for k in range(h) if k not in piv]; A=[] + for f in free: + a=[Fr(0)]*h; a[f]=Fr(1) + for i,p in enumerate(piv): a[p]=-R_[i][f] + L=1 + for x in a: L=L*x.denominator//gcd(L,x.denominator) + ai=[int(x*L) for x in a]; g=0 + for x in ai: g=gcd(g,abs(x)) + A.append([x//g for x in ai]) + return A +frames={} +for k,idx in enumerate(c['frames']): + B,rows,piv=basis(idx); A=annihilator(rows,piv) if B else [[int(i==j) for j in range(h)] for i in range(h)] + assert all(sum(a*b for a,b in zip(x,y))==0 for x in A for y in B) and len(A)+len(B)==h + frames[str(k)]=dict(dim=len(B),B=B,A=A) +dim=[frames[str(k)]['dim'] for k in range(len(c['frames']))] +ZERO=[k for k in range(len(dim)) if dim[k]==0]; assert len(ZERO)==1; ZERO=ZERO[0] +cur=list(c['start']); rec=[] +def move(r,f): + if cur[r]!=f: rec.append((0,r,cur[r],f,dim[f]-dim[cur[r]],0)); cur[r]=f +def run(gates,ph): + for f,d,srcs in gates: + for r in [d]+srcs: move(r,f) + for s in srcs: rec.append((1,d,s,1,f,ph)) +run(c['D'],1); run(c['A'],2) +temp=n +for k,q in enumerate(c['ret']): + fq=cur[q]; rec.append((2,q,temp,fq,ZERO,dim[fq])) + for t,row in enumerate(c['scatter']): + if k in row: rec.append((1,v+t,temp,1,ZERO,3)) + rec.append((3,q,temp,fq,ZERO,0)) +run(c['B'],4); run(c['C'],5) +for r in range(n): move(r,c['final'][r]) +with open(out+'/249-records.bin','wb') as f: + for e in rec: f.write(struct.pack('<6i',*e)) +st=dict(n=n,v=v,h=h,R=R,ZERO=ZERO,initial={str(r):c['start'][r] for r in range(n)},final={str(r):c['final'][r] for r in range(n)}, + retained_totals=c['ret'],source_owned_roles=[],regs=[]) +json.dump(st,open(out+'/249-states.json','w'),sort_keys=True,separators=(',',':')) +json.dump(dict(frames=frames),open(out+'/frames.json','w'),sort_keys=True,separators=(',',':')) +print('exported',len(rec),'records,',len(frames),'frames, n',n,'ZERO',ZERO) diff --git a/research/split-centres-global/vendor/hamming_packets.py b/research/split-centres-global/vendor/hamming_packets.py new file mode 100644 index 0000000000..c129996656 --- /dev/null +++ b/research/split-centres-global/vendor/hamming_packets.py @@ -0,0 +1,253 @@ +"""A structural prototype: mutable source bases and simultaneous signed packets. + +Input geometry is the pinned PR370 Hamming E8 root table. The binary realization, +packet construction, two-shear synthesis and arbitrary-dirt replay below are new +local experiments. This does NOT produce a complete improved E8 supplier. +""" +import gzip +import hashlib +import itertools as it +import json +import random +from collections import Counter,defaultdict +from fractions import Fraction as Q +from pathlib import Path + +OUT=Path('work/complex-network/hamming');OUT.mkdir(parents=True,exist_ok=True) +SRC=Path('work/pr370-source/research/e8-bit/data/bit/bitE8-r865.json.gz') +word=json.load(gzip.open(SRC));roots=word['lines'];v=len(roots) +G=[[sum(x*y for x,y in zip(a,b))//2 for b in roots] for a in roots] +C=[sum((1^(G[i][j]&1))<>p&1:x^=b[p] + if x: + p=x.bit_length()-1 + for q in b: + if b[q]>>p&1:b[q]^=x + b[p]=x + return tuple(b[p] for p in sorted(b,reverse=True)) + +def inside(a,b):return basis(a+b)==b + +indices=[] +for i,row in enumerate(C): + if len(basis([C[j] for j in indices]+[row]))>len(indices):indices.append(i) +assert len(indices)==9 +gram=[sum(((C[i]>>j)&1)<>i)&1)*((gram[i]&b).bit_count()&1) for i in range(9))&1 +orth=[] +for step in range(9): + choices=[x for x in range(1,512) if ip(x,x) and all(not ip(x,y) for y in orth)] + chosen=next(x for x in choices if step==8 or any(y!=x and not ip(x,y) for y in choices)) + orth.append(chosen) +assert all(ip(x,y)==int(i==j) for i,x in enumerate(orth) for j,y in enumerate(orth)) +ports=[] +for i in range(v): + row=sum(((C[i]>>j)&1)<>j)&1) for i in range(v) for j in range(v)) + +blocks=defaultdict(list);frame_lines={} +for i,r in enumerate(roots): + support=tuple(k for k,x in enumerate(r) if x) + if len(support)==4:blocks[support].append(i) + else:assert len(support)==1;frame_lines[support[0]]=i +assert len(blocks)==14 and all(len(xs)==8 for xs in blocks.values()) + +def sparse_add(rows,t,s,q): + for j,x in list(rows[s].items()): + z=rows[t].get(j,Q(0))+q*x + if z:rows[t][j]=z + else:rows[t].pop(j,None) + +def simulate(n,events): + rows=[{r:Q(1)} for r in range(n)] + for t,s,q in events:sparse_add(rows,t,s,q) + return rows + +def serialize(events):return [[t,s,q.numerator,q.denominator] for t,s,q in events] + +packet_table={};module_receipts=[];all_programs=[] +for block,ids in sorted(blocks.items()): + ids=sorted(ids);pos={s:i for i,s in enumerate(ids)} + tetrads=[sorted(s for s in ids if sum(roots[s][k]<0 for k in block)%2==p) for p in (0,1)] + assert all(len(t)==4 for t in tetrads) + faces=[] + for i,j in it.combinations(block,2): + for epsilon in (-1,1): + support=[s for s in ids if roots[s][i]*roots[s][j]==epsilon] + content={s:Q(roots[s][i]) for s in support} + frame=basis([ports[s] for s in support]);assert len(frame)==3 + key=(block,(i,j),epsilon);packet_table[key]=(content,frame) + faces.append((key,content,frame)) + pair_uses=defaultdict(list) + for f,(_,content,frame) in enumerate(faces): + for tet in tetrads: + pair=tuple(s for s in tet if s in content) + assert len(pair)==2 + pair_uses[pair].append(f) + assert len(pair_uses)==12 and all(len(fs)==2 for fs in pair_uses.values()) + bysource=defaultdict(list) + for pair in sorted(pair_uses): + for s in pair:bysource[s].append(pair) + # One of the three pair branches is carried by x itself, two by helpers. + regs={};nextreg=8;events=[];event_frames=[];cur=[basis([ports[s]]) for s in ids] + start=list(cur);dead=[] + def add(t,s,q,F): + assert t!=s and inside(cur[t],F) and inside(cur[s],F) + cur[t]=cur[s]=F;events.append((t,s,Q(q)));event_frames.append(F) + for s in ids: + for j,pair in enumerate(sorted(bysource[s])): + if j==0:reg=pos[s] + else: + reg=nextreg;nextreg+=1;cur.append(());start.append(()) + add(reg,pos[s],1,basis([ports[s]])) + regs[pair,s]=reg + assert nextreg==24 + partial={} + for pair,fs in sorted(pair_uses.items()): + s,t=pair;a,b=regs[pair,s],regs[pair,t];f,g=fs + alpha,beta=faces[f][1][s],faces[f][1][t] + gamma,delta=faces[g][1][s],faces[g][1][t] + assert alpha*delta-beta*gamma in (-2,2) + F=basis([ports[s],ports[t]]);assert len(F)==2 + add(a,b,beta/alpha,F) + k=gamma/(delta-gamma*beta/alpha) + add(b,a,k,F) + partial[f,pair]=(a,alpha) + partial[g,pair]=(b,delta-gamma*beta/alpha) + pre_packets=simulate(24,events) + def clean_rank(registers): + piv={} + for reg in registers: + row=[pre_packets[reg].get(i,Q(0)) for i in range(8)] + for j in sorted(piv): + q=row[j] + if q:row=[a-q*b for a,b in zip(row,piv[j])] + j=next((i for i,q in enumerate(row) if q),None) + if j is not None: + q=row[j];piv[j]=[a/q for a in row] + return len(piv) + choices=[[value for (ff,pair),value in partial.items() if ff==f] for f in range(12)] + rng=random.Random(38639);orientation=None + for trial in range(4096): + bits=rng.randrange(1<<12) + if clean_rank([pieces[1-((bits>>f)&1)][0] for f,pieces in enumerate(choices)])==8: + orientation=bits;break + assert orientation is not None + outputs=[] + for f,(key,content,F) in enumerate(faces): + pieces=[value for (ff,pair),value in partial.items() if ff==f] + assert len(pieces)==2 + if orientation>>f&1:pieces.reverse() + (a,alpha),(b,beta)=pieces + add(a,b,beta/alpha,F) + outputs.append((a,alpha));dead.append(b) + assert len(set(r for r,a in outputs))==12 and len(set(dead))==12 + assert not set(dead)&{r for r,a in outputs} + core=simulate(24,events) + for f,(reg,scale) in enumerate(outputs): + clean={ids[j]:scale*x for j,x in core[reg].items() if j<8 and x} + assert clean==faces[f][1] + + # Probe complete borrowing: output each packet, cancel its old dirt at label + # zero, then undo every source/helper operation at the full frame. + # Actual supplier consumers and their remaining chronology are NOT inferred. + n=36;main=events.copy();dirt=[];chosen_targets=[] + for f,(reg,scale) in enumerate(outputs): + main.append((24+f,reg,scale)) + for j,q in core[reg].items(): + if j>=8:dirt.append((24+f,j,-scale*q)) + valid=[t for t in range(v) if all((ports[t]&x).bit_count()%2==0 for x in faces[f][2])] + assert valid;chosen_targets.append(valid[0]) + cleanup=[(t,s,-q) for t,s,q in reversed(events)] + actual=simulate(n,dirt+main+cleanup) + for r in range(24):assert actual[r]=={r:Q(1)} + for f in range(12): + expected={24+f:Q(1)} + expected.update({pos[s]:q for s,q in faces[f][1].items()}) + assert actual[24+f]==expected + # A mutation of the compensator must corrupt at least one arbitrary dirt column. + wrong=simulate(n,main+cleanup) + assert any(wrong[r]!=actual[r] for r in range(24,36)) + # Inverse-transpose: transpose and negate each elementary shear in the SAME + # event order. Reversing as well would generally compute the wrong map. + dual=simulate(n,[(s,t,-q) for t,s,q in dirt+main+cleanup]) + for r in range(n): + expected={r:Q(1)} + if r<8: + expected.update({24+f:-content[ids[r]] for f,(_,content,F) in enumerate(faces) if ids[r] in content}) + assert dual[r]==expected + receipt={'block':block,'source_lines':ids,'packets':12,'pair_butterflies':12, + 'packet_additions':len(events),'live_source_registers_borrowed':8, + 'helper_registers':16,'total_source_and_helper_registers':24, + 'retired_register_clean_rank':8, + 'independent_pair_branch_comparison_helpers':48, + 'comparison_scope':'48 is a specified independent two-input-form implementation, not the helper count of the current r783 supplier.', + 'frame_rank_counts':dict(Counter(map(len,event_frames))), + 'all_dirty_columns_forward_and_inverse_transpose':n, + 'compensator_omission_rejected':True, + 'scope':'A 12-output packet factory and probe sinks. Not a complete 120-port supplier or global frame schedule.'} + module_receipts.append(receipt) + all_programs.append({'receipt':receipt,'start_frames':start,'events':serialize(events), + 'event_frames':event_frames,'outputs':[[r,str(q)] for r,q in outputs], + 'dead_registers':dead, + 'dirt':serialize(dirt),'cleanup':serialize(cleanup), + 'probe_target_ports':[ports[t] for t in chosen_targets]}) + +# Reconstruct the entire signed E8 neighbour correction from the packet family. +# This proves all 120 rational source columns of the abstract decomposition. +decomposition=[] +for target,r in enumerate(roots): + row=defaultdict(Q);terms=[];support=[i for i,x in enumerate(r) if x] + if len(support)==4: + c=tuple(support) + for d in blocks: + inter=tuple(sorted(set(c)&set(d))) + if len(inter)!=2:continue + i,j=inter;epsilon=r[i]*r[j];content,F=packet_table[d,inter,epsilon] + coefficient=-Q(r[i],2) + assert all((ports[target]&p).bit_count()%2==0 for p in F) + for s,a in content.items():row[s]+=coefficient*a + terms.append({'source_block':d,'pair':inter,'epsilon':epsilon,'coefficient':str(coefficient)}) + for s in blocks[c]+list(frame_lines.values()): + if s!=target and G[target][s]:row[s]-=Q(G[target][s],2) + else: + i=support[0] + for d in blocks: + if i in d: + for s in blocks[d]:row[s]-=Q(roots[s][i],2) + expected={s:-Q(G[target][s],2) for s in range(v) if s!=target and G[target][s]} + assert {s:a for s,a in row.items() if a}==expected + # Eight coordinate centers recover the diagonal after side corrections. + for s in range(v): + center=sum(Q(r[i]*roots[s][i],4) for i in range(8)) + assert center+row.get(s,Q(0))==int(s==target) + decomposition.append({'target':target,'cross_block_packets':terms,'side_support':len(expected)}) + +program_path=OUT/'PACKET-PROGRAMS.json.gz' +program_path.write_bytes(gzip.compress(json.dumps(all_programs,sort_keys=True,separators=(',',':')).encode(),mtime=0)) +report={'status':'PASS_STRUCTURAL_PACKET_PROTOTYPE_NOT_A_NEW_SUPPLIER', + 'source_sha256':hashlib.sha256(SRC.read_bytes()).hexdigest(), + 'binary_address_dimension':9,'binary_gram_rank':len(indices), + 'binary_ports':ports,'root_lines':roots, + 'binary_gram_identity':'p_s dot p_t = 1 + (root_s dot root_t / 2) mod 2', + 'modules':module_receipts,'signed_packets':len(packet_table), + 'full_target_decomposition_columns':120,'full_target_decomposition_entries':120*120, + 'program_sha256':hashlib.sha256(program_path.read_bytes()).hexdigest(), + 'decomposition':decomposition, + 'remaining':['Joint scheduling and charging of all packet fan-outs and target accumulations', + 'Forming all eight centers from the available mixed source basis without an uncharged restore', + 'Full 120-port arbitrary-dirt forward/backward program and restored work stocks', + 'Exact complex adapters and global phases; finite invoice; two independent prices and outer assembly'], + 'no_new_coarse_b_or_kappa_claim':True} +(OUT/'PROTOTYPE.json').write_text(json.dumps(report,indent=2)+'\n') +print('PASS: 14 factories, 168 signed packets; each factory uses 8 source + 16 helper registers') +print('PASS: exact dirty forward and inverse-transpose columns, omission controls, all 14400 decoder entries') +print('NOT A SUPPLIER: global scheduling, mixed-basis centers, phase and full price remain open') diff --git a/research/split-centres-global/verify.py b/research/split-centres-global/verify.py new file mode 100644 index 0000000000..01d78bf0d1 --- /dev/null +++ b/research/split-centres-global/verify.py @@ -0,0 +1,51 @@ +"""Verify the selected two-supplier composition using Python's standard library.""" +import argparse,gzip,hashlib,json,os,shutil,subprocess,sys +from pathlib import Path +assert __debug__, 'Assertions must remain enabled' +ROOT=Path(__file__).resolve().parent +ap=argparse.ArgumentParser(description=__doc__) +ap.add_argument('output',type=Path,help='A new output directory outside this package') +ap.add_argument('--replay-phases',action='store_true',help='Recompute all selected Gaussian phase pairs instead of reusing their source-bound evidence') +a=ap.parse_args();out=a.output.resolve() +assert not out.exists() and not out.is_relative_to(ROOT) +def snapshot(): + return {p.relative_to(ROOT).as_posix():hashlib.sha256(p.read_bytes()).hexdigest() for p in ROOT.rglob('*') if p.is_file() and p.name!='MANIFEST.json'} +manifest=json.loads((ROOT/'MANIFEST.json').read_text());assert snapshot()==manifest['files'],'Source manifest mismatch' +sources=json.loads((ROOT/'SOURCES.json').read_text()) +for z in sources['imported_files']: + data=(ROOT/z['path']).read_bytes();assert hashlib.sha256(data).hexdigest()==z['sha256'] + if 'source_sha256' in z:assert hashlib.sha256(gzip.decompress(data)).hexdigest()==z['source_sha256'] +out.mkdir(parents=True) +def copy(src,dst): + p=out/dst;p.parent.mkdir(parents=True,exist_ok=True) + data=(ROOT/src).read_bytes();p.write_bytes(gzip.decompress(data) if src.endswith('.gz') and not dst.endswith('.gz') else data) +for src,dst in [ + ('inputs/e8-r865.json.gz','work/pr370-source/research/e8-bit/data/bit/bitE8-r865.json.gz'), + ('inputs/complex-ports.json.gz','work/higher-stage-e8/verified/gcert1-e8-retimed.json.gz'), + ('inputs/complex-template.json.gz','work/complex-nine-native/GLOBAL-TEMPLATE.json.gz'), + ('inputs/complex-data-phases.json.gz','work/complex-nine-native/DATA-PHASES.json'), + ('inputs/bit-geometry.json.gz','inherited/bit-geometry.json.gz'), + ('vendor/clifford_exact.py','work/odd-stages/clifford_exact.py')]:copy(src,dst) +for name in ('moment','base_two_moment','outer'):copy('vendor/engines/'+name+'.py','work/pr361/code/engines/'+name+'.py') +p=out/'bit426-source-centres';p.mkdir();(p/'bit-input.json').write_bytes(gzip.decompress((ROOT/'inputs/bit-r767.json.gz').read_bytes())) +env=dict(os.environ,E8_OUTPUT=str(out),E8_REPLAY_PHASES=str(int(a.replay_phases)),PYTHONDONTWRITEBYTECODE='1');env.pop('PYTHONOPTIMIZE',None) +steps=[] +def run(name,file,*args): + with (out/(name+'.log')).open('w') as log: + r=subprocess.run([sys.executable,'-B',str(ROOT/file),*map(str,args)],cwd=out,env=env,stdout=log,stderr=subprocess.STDOUT) + if r.returncode: + print((out/(name+'.log')).read_text()[-16000:],file=sys.stderr,flush=True) + raise RuntimeError((name,r.returncode,str(out/(name+'.log')))) + steps.append(name);print('PASS',name,flush=True) +run('hamming_packets','vendor/hamming_packets.py') +for name in ('complex_construct','complex_audit','complex_emit','complex_phases','bit_construct'):run(name,'code/'+name+'.py') +run('bit_export','vendor/export_records.py',p/'bit-source-centres.json',p/'records') +run('bit_global','code/bit_global.py','--source',p,'--local-check',p,'--out',p/'global') +run('bit_audit','code/bit_audit.py','--local-check',p,'--out',p/'global') +for name in ('bit_price','complex_integrate','complex_replay','combined'):run(name,'code/'+name+'.py') +assert snapshot()==manifest['files'],'Package modified during verification' +r=json.loads((out/'RESULT.json').read_text());expected=json.loads((ROOT/'EXPECTED.json').read_text()) +for key,value in expected.items():assert r[key]==value,(key,r[key],value) +r['verification_steps']=steps;r['phase_mode']='full replay' if a.replay_phases else 'source-bound unchanged evidence';r['manifest_sha256']=hashlib.sha256((ROOT/'MANIFEST.json').read_bytes()).hexdigest() +(out/'RESULT.json').write_text(json.dumps(r,indent=2)+'\n') +print('PASS conditional kappa',r['kappa_decimal'])